使用 Moose OLAP 在 ClickHouse 上进行开发
Community Maintained
Moose OLAP 是 Moose Stack 的核心模块,Moose Stack 是一个开源的开发者工具集,用于使用 TypeScript 和 Python 构建实时分析后端。
Moose OLAP 提供对开发者友好的抽象层和类 ORM 功能,并且为 ClickHouse 原生构建。
Moose OLAP 的关键特性
- 以代码管理 Schema:使用 TypeScript 或 Python 定义 ClickHouse 表,具备类型安全和 IDE 自动补全能力
- 类型安全的查询:编写具备类型检查和自动补全支持的 SQL 查询
- 本地开发:在本地 ClickHouse 实例上进行开发和测试,而不影响生产环境
- 迁移管理:通过代码对 Schema 变更进行版本控制并管理迁移
- 实时流式处理:内置支持将 ClickHouse 与 Kafka 或 Redpanda 集成,用于实时流式数据摄取
- REST API:在 ClickHouse 表和视图之上轻松生成带完整文档的 REST API
5 分钟内快速上手
如需最新、最完整的安装和入门指南,请参阅 Moose Stack 文档。
或者按照本指南,在不到 5 分钟内,即可在现有的 ClickHouse 或 ClickHouse Cloud 部署上运行 Moose OLAP。
前置条件
- Node.js 20+ 或 Python 3.12+ - 用于 TypeScript 或 Python 开发
- Docker Desktop - 用于本地开发环境
- macOS/Linux - Windows 可通过 WSL2 使用
浏览生成的模型
Moose CLI 会根据你现有的 ClickHouse 表自动生成 TypeScript 接口或 Python Pydantic 模型。
在 app/index.ts 文件中查看你新的数据模型。
使用 Moose OLAP 构建应用
现在你已经在代码中定义了表,可以像在 Web 应用中使用 ORM 数据模型一样获得相同的好处——在基于分析数据构建 API 和物化视图时具备类型安全和自动补全能力。下一步你可以尝试:
- 使用 Moose API 构建 REST API
- 使用 Moose Workflows 或 Moose Streaming 来摄取或转换数据
- 通过 Moose Build 和 Moose Migrate 探索如何进入生产环境
获取帮助并保持联系
- 参考应用:查看这个开源参考应用 Area Code:一个包含构建功能丰富、可用于生产的企业级应用所需全部基础模块的入门代码仓库,适用于需要专用基础设施的场景。该项目包含两个示例应用:“面向用户的分析”(User Facing Analytics)和“运营数据仓库”(Operational Data Warehouse)。
- Slack 社区:通过 Slack 与 Moose Stack 维护者交流,以获得支持和反馈。
- 观看教程:在 YouTube 上观看关于 Moose Stack 功能的视频教程、演示和深度讲解。
- 参与贡献:在 GitHub 上查看代码、为 Moose Stack 做出贡献并提交问题。