> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chaintable.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 架构设计

## 总体思路

<div className="architecture-lead">
  <p>Chaintable 的核心思路，是首先在链下构建与链上状态及执行语义相对应的运行环境。在此基础上，进一步解决规模化处理、一致性约束与低延迟在线服务的问题。</p>
</div>

## 设计原则

### 同一任务内的行级计算相互独立

同一任务中的各行计算不依赖彼此的执行顺序或中间结果，可以共享已就绪的状态，但不通过可变状态相互影响。通过这一约束，执行引擎能够充分并行调度，在不改变计算结果的前提下提升处理效率。

### 不同任务之间的计算相互独立

同一目标表的不同任务，在上游依赖已就绪的前提下，基于各自所需的世界状态独立计算；这一世界状态不包含目标表自身。在上游数据与业务逻辑固定的前提下，任务不依赖目标表已有的结果或处理进度，执行顺序、并行程度与回填方式不应改变最终结果。

### 计算引擎自身保持无状态

任务编排由 Notebook 中的客户端逻辑管理，数据状态由 BlockDB 维护；计算引擎专注于高性能执行任务，不承担这些状态的最终维护职责。

### 仅支持区块驱动的计算模式

平台管道以 Block Table 的区块就绪事件驱动计算，包括 Event 与 State 两类表，不以任意表的单行变更作为独立触发源。

### 函数是一等公民

函数是平台中的独立模块，承载最小颗粒度的业务逻辑表达。其定义与身份不依附于其他模块，仅在具体运行场景中与执行、编排或服务模块建立协作关系。

函数是平台提升开发生产力与计算效率的核心。平台围绕函数的编写、调试、组合与复用提升开发效率，围绕函数的执行与状态访问优化计算性能，使同一份业务逻辑能够更高效地开发、运行和应用。

### 表格的计算逻辑复用

同一张表的计算逻辑，包括输入表、上游依赖、业务函数及输出定义，可以同时用于历史回填与实时计算。平台采用不同的执行粒度与调度方式，在保持计算语义一致的前提下，分别满足大规模处理与低延迟更新的需求。
