Moose OLAP 的主要特性
- 以代码定义 schema:在 TypeScript 或 Python 中定义你的 ClickHouse 表,并享受类型安全和 IDE 自动补全
- 类型安全的查询:编写支持类型检查和自动补全的 SQL 查询
- 本地开发:基于本地 ClickHouse 实例进行开发和测试,而不影响生产环境
- 迁移管理:对你的 schema 变更进行版本控制,并通过代码管理迁移
- 实时流式处理:内置支持将 ClickHouse 与 Kafka 或 Redpanda 搭配使用,以进行流式摄取
- REST API:可基于你的 ClickHouse 表和视图轻松生成文档完善的 REST API
5 分钟内快速入门
前置条件
- Node.js 20+ 或 Python 3.12+ - TypeScript 或 Python 开发所必需
- Docker Desktop - 用于本地开发环境
- macOS/Linux - Windows 可通过 WSL2 运行
1
安装 Moose
将 Moose CLI 全局安装到系统中:
2
3
安装依赖
Successfully generated X models from ClickHouse tables4
查看生成的模型
Moose CLI 会根据你现有的 ClickHouse 表自动生成 TypeScript 接口或 Python Pydantic 模型。可在
app/index.ts 文件中查看新的数据模型。5
开始开发
启动开发服务器,拉起一个本地 ClickHouse 实例,并根据代码定义自动重建所有生产表:重要:你的生产 ClickHouse 不会受到影响。此操作会创建一个本地开发环境。
7
使用 Moose OLAP 构建
现在你已经在代码中定义了表,因此可以获得与 Web 应用中 ORM 数据模型类似的优势——在基于分析数据构建 API 和 materialized views 时,具备类型安全和自动补全能力。接下来,你可以尝试:
- 使用 Moose API 构建 REST API
- 使用 Moose Workflows 或 Moose Streaming 摄取或转换数据
- 进一步了解如何通过 Moose Build 和 Moose Migrate 进入生产环境