ClickHouseでのMoose OLAPの開発
Community Maintained
Moose OLAPは、リアルタイム分析バックエンドをTypescriptとPythonで構築するためのオープンソース開発者ツールキットであるMoose Stackのコアモジュールです。
Moose OLAPは、ClickHouseにネイティブに構築された開発者フレンドリーな抽象化とORMのような機能を提供します。
Moose OLAPの主な機能
- コードとしてのスキーマ: 型安全性とIDEのオートコンプリートを備えたTypeScriptまたはPythonでClickHouseテーブルを定義
- 型安全なクエリ: 型チェックとオートコンプリートサポートを備えたSQLクエリを記述
- ローカル開発: 本番環境に影響を与えずにローカルのClickHouseインスタンスに対して開発およびテスト
- マイグレーション管理: スキーマ変更のバージョン管理とコーディングを介したマイグレーション管理
- リアルタイムストリーミング: ストリーミング取り込みのためにClickHouseとKafkaまたはRedpandaをペアリングするための組み込みサポート
- REST API: ClickHouseテーブルとビューの上に完全に文書化されたREST APIを簡単に生成
5分以内での始め方
最新のインストールガイドおよび開始ガイドについては、Moose Stackドキュメントを参照してください。
または、既存のClickHouseまたはClickHouse Cloudデプロイメントで5分以内に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
ファイルで確認してください。
開発を開始
開発サーバーを起動して、すべての本番テーブルが自動的にコード定義から再現されたローカルClickHouseインスタンスをスピンアップします:
重要: あなたの本番ClickHouseは影響を受けません。これはローカル開発環境を作成します。
Moose OLAPでのビルディング
コードでテーブルを定義したので、APIおよびMaterialized Viewを分析データの上に構築する際にORMデータモデルの利点と同様の型安全性とオートコンプリートを得ることができます。次のステップとして、以下を試してみることができます:
- Moose APIを使用してREST APIを構築
- Moose WorkflowsまたはMoose Streamingを使用してデータを取り込みまたは変換
- Moose BuildとMoose Migrateで本番へ移行することを検討
ヘルプを得てつながる
- リファレンスアプリケーション: オープンソースのリファレンスアプリケーション、Area Codeをチェックしてください。特化したインフラを必要とする機能が豊富でエンタープライズ向けのアプリケーションに必要なすべてのビルディングブロックを持つスターターレポです。ユーザーフェイシングアナリティクスとオペレーショナルデータウェアハウスの2つのサンプルアプリケーションがあります。
- Slackコミュニティ: Moose StackメンテイナーとSlackでつながり、サポートとフィードバックを得る
- チュートリアルを見る: Moose Stackの機能に関するビデオチュートリアル、デモ、詳細な説明をYoutubeで見る
- 貢献する: コードをチェックし、Moose Stackに貢献し、GitHubで問題を報告