このプロジェクトについて
GreptimeDBは、メトリクス、ログ、トレースをオブジェクトストレージ上の単一のカラムナエンジンに保存するオープンソースの可観測性データベースです。3つのシグナルタイプはすべて、タグ、タイムスタンプ、フィールドという1つのテーブルモデルを共有するため、サービス、ホスト、トレースIDなどの共通識別子をシグナルが持つ場合、別々のシステム間でデータを移動することなく、SQLジョインで関連付けることができます。
取り込み経路には、OpenTelemetry(OTLP)、Prometheus Remote Write、Loki Push、Elasticsearch Bulk、InfluxDB line protocol、gRPCが含まれます。クエリオプションには、SQL、PromQL、Jaeger互換のトレースクエリに加え、MySQLおよびPostgreSQLワイヤプロトコルがあります。S3、GCS、Azure Blob、S3互換エンドポイントなどのオブジェクトストレージバックエンドがプライマリストレージとして機能し、メモリとローカルディスクキャッシュが最近または頻繁にクエリされるデータを計算リソースの近くに保持します。組み込み機能には、保持ポリシー、ダウンサンプリング、連続集計(Flowエンジン)、明示的なテーブルパーティショニング、および転置、スキップ、全文インデックスが含まれます。
デプロイメントには2つのモードがあります。スタンドアロンは、開発と小規模デプロイメント向けの単一バイナリです。分散モードは、独立してスケーラブルなコンポーネントに分割されます。Frontend(プロトコルエントリと分散クエリエンジン、ステートレス)、Datanode(WAL、メモテーブル、SST、キャッシュ、コンパクション、インデックスを備えたリージョンエンジンで、オブジェクトストレージに永続化)、Metasrv(etcdまたはRDSでバックアップされたメタデータ、ルーティング、再パーティショニング、セキュリティ)、およびオプションのFlownode(連続フロー計算用)です。
READMEには、プロトコルごとの互換性が記載されています。Prometheus Remote Writeの取り込みとPromQLクエリは、一部のPromQLギャップはあるもののサポートされています。Loki Pushの取り込みは機能しますが、LogQLおよびLokiクエリAPIの残りは互換性がありません。Elasticsearchの`_bulk`取り込みはオープンソースコアにあり、QueryDSLはEnterpriseエディションで部分的に利用可能です。プロジェクトは自身をオープンコアと説明しています。クラスターデプロイメント、オブジェクトストレージ、Flowエンジン、およびリストされたすべての取り込みプロトコルはApache-2.0ビルドに含まれますが、読み取りレプリカ、ワークロード分離、自動再パーティショニング、およびエンタープライズセキュリティ/ガバナンスはEnterprise機能です。再パーティショニング、リージョン移行、インデックス作成は、オープンソースビルドでは手動です。
Dockerによるクイックスタートが提供されており、HTTP(4000)、gRPC(4001)、MySQL(4002)、PostgreSQL(4003)ポートを公開し、HTTPポートにWebダッシュボードがあります。ソースからのビルドには、固定されたナイトリーバージョンのRustツールチェーン、Protobufコンパイラ、C/C++ビルド必須ツールが必要です。一般的なコマンドには、make、make fmt、make clippy、make test、make sqlness-testがあります。関連ツールには、Kubernetesオペレーター、Helmチャート、ダッシュボード、Go、Java、C++、Erlang、Rust、.NET、TypeScript用のgRPCインジェスター、およびGrafanaデータソースプラグインが含まれます。
READMEには、ベンチマークレポート(Agent RCA Bench、JSONBench、TSBS)と本番ケーススタディもリストされ、プロジェクトは安定したAPIと定期的なリリースで一般提供されていると記載されています。コアはApache-2.0ライセンスで、エンタープライズ専用機能の小さなセットは別のライセンスの下にあります。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.