Files
ChuSQL/docs/architecture.md
T

1.7 KiB

架构与组件

ChuSQL 采用客户端 / 服务端架构。数据库文件仅由 chusql-server 直接访问,其他组件通过网络接口与数据库服务通信。

主要组件

组件 作用
chusql-server 数据库服务,负责 SQL 执行、权限检查、事务与数据访问
chusql-web Web 管理端,通过数据库服务访问数据
csql 命令行客户端,通过数据库服务执行 SQL
chusql-core/engine SQL 解析、语义检查、优化与执行
chusql-core/storage 页面、索引、日志与持久化存储

数据流

典型访问路径为:

Web / CLI / 其他客户端
        ↓
      TCP
        ↓
chusql-server
        ↓
 SQL 引擎与存储层
        ↓
       磁盘

所有 SQL 和权限检查均由数据库服务统一处理。Web 和 CLI 不直接访问数据目录,因此多个客户端可以同时连接同一数据库服务。

数据目录

数据保存在 [storage] data_dir 指定的位置,主要包含:

目录 内容
system/ 系统数据库,包括账号和权限等系统信息
databases/<数据库名>/ 用户创建的数据库

安装完成后只有系统数据库,不自动创建业务数据库。业务数据库需通过 CREATE DATABASE 创建。

数据库服务

chusql-server 默认监听 127.0.0.1:7777,客户端建立连接后完成登录、数据库选择和 SQL 执行。

每条连接拥有独立会话状态,例如当前数据库选择不会影响其他连接。

系统数据库及部分管理操作仅允许管理员访问。

服务监听地址、端口和请求限制可在 chusql.toml 的 [server] 分区中配置。