Apache Dorisを使用した統合ログ/トレース/メトリクス分析の構築
Observabilityは、システムの外部出力データからその内部状態を推測する能力です。Observabilityプラットフォームは、Logging、Tracing、Metricsという3つの主要データタイプを収集、保存、可視化します。これにより、チームは分散システムの実行状況を包括的に理解し、リソース最適化、障害アラート、根本原因分析をサポートし、最終的にシステム信頼性とユーザーエクスペリエンスを向上させます。
Observabilityがより重要になる理由
主要なアプリケーションシナリオ
Observabilityプラットフォームは、現代の分散システムにとって不可欠なインフラストラクチャとなっており、主に以下の5つのカテゴリのシナリオをカバーしています:
| シナリオ | 価値 | 典型的なユースケース |
|---|---|---|
| トラブルシューティングと根本原因分析 | 障害復旧時間を短縮し、ビジネス継続性を確保 | リアルタイム監視、異常検知、分散トレーシング、chaos engineering |
| パフォーマンス最適化とリソース計画 | パフォーマンスボトルネックを特定し、クラウドリソースコストを削減 | リソース使用率分析、ロードバランシング、オートスケーリング、容量予測 |
| ビジネス意思決定サポート | ITパフォーマンスをビジネス成果に結び付ける | ユーザーエクスペリエンスメトリクス分析、製品機能最適化 |
| セキュリティとコンプライアンス監視 | 異常な動作を検出し、自動的に対応 | ゼロデイ攻撃検出、ログ監査、コンプライアンス保持 |
| 開発と運用の連携 | カナリアリリースとコード最適化を支援 | トラフィックタギング、コールチェーン分析、リリース進捗評価 |
Observabilityのアップグレードを推進する2つの主要トレンド
- ビジネスとITシステムがより複雑になっている:クラウドコンピューティングとマイクロサービスの発展により、GenAIアプリケーションへのリクエストは、App、サービスゲートウェイ、認証サービス、課金サービス、RAGエンジン、Agentエンジン、ベクターデータベース、ビジネスデータベース、分散キャッシュ、メッセージキュー、大規模モデルAPIなど数十のサービスを含む可能性があります。このような複雑なシステムでは、サーバーにログインして実行時ステータスを確認し、障害を分析することはもはや効果的ではありません。ObservabilityプラットフォームはLog、Trace、Metricsデータの収集と保存を統合し、統一された可視化分析を提供することで、効果的かつ迅速に問題を表面化できます。
- ビジネス信頼性要件がより高くなっている:システム障害がユーザーエクスペリエンスに与える影響のコストがますます高くなり、それに応じて障害の特定と復旧効率の要件も高まっています。ドメイン横断的なデータ統合とパノラマ可視化を通じて、Observabilityはチームが問題の根本原因を迅速に特定し、ビジネス中断時間を削減することをサポートします。グローバルなデータ分析と予測により、リソースボトルネックを事前に特定し、チームが早期に対処して障害を防ぐことができます。
Observabilityソリューションの選択方法
Observabilityデータの主要特性
大量データボリュームのストレージと分析の課題にどのように対処するかは、あらゆるObservabilityソリューションの核心です。Observabilityデータには以下の5つの特性があります:
- 大容量データストレージとコスト敏感性:LogとTraceデータは通常非常に大規模で、24時間継続的に生成されます。中規模および大企業が毎日生成するObservabilityデータはTBまたはPBレベルです。ビジネス要件を満たすため、または規制要件に準拠するため、このデータは多くの場合半年以上保存する必要があり、総ストレージは頻繁にPBレベルに達し、高いコストが発生します。時間が経過するにつれて、このデータの価値も徐々に低下するため、Observabilityプラットフォームは特にストレージコストに敏感です。
- リアルタイム要件を持つ高い書き込みスループット:1日あたりTBまたはPBオーダーの新しいデータに直面して、プラットフォームは1-10 GB/sの書き込みスループットと毎秒数百万から数千万のレコードをサポートする必要があります。同時に、強いリアルタイム性を要求するトラブルシューティングやセキュリティ追跡などのシナリオを考慮して、書き込み遅延は秒レベルに保たれ、データの鮮度と可用性を確保する必要があります。
- 全文検索によるリアルタイム分析:LogとTraceデータには大量のテキストが含まれており、キーワードやフレーズの迅速な検索が中核要件です。大量データスケールのため、従来の全スキャンと文字列マッチングのアプローチはリアルタイム応答要件を満たすことができません。テキストの逆インデックスの構築が、秒レベルのクエリ応答を実現する鍵となります。
- 頻繁な拡張を必要とする動的スキーマ:Logデータは、非構造化生ログ(フリーテキスト)から、主にJSON形式の半構造化LogsとTracesに発展しています。データプロデューサーは内部JSON フィールドを動的に調整し、スキーマは高い柔軟性を持っています。従来のデータベースやデータウェアハウスは、このような柔軟なスキーマを持つデータを効率的に処理することが困難です。データレイクはストレージの柔軟性を提供しますが、処理パフォーマンスとリアルタイム要件を満たすことができません。
- 多様なデータソースと分析ツールとの統合の必要性:Observabilityエコシステムには多くのデータコレクターと可視化分析ツールが含まれています。ストレージと分析エンジンは、多様なデータとツール統合要件を満たすために、様々なエコシステムツールと統合する必要があります。
選定評価の4つの主要次元
Elasticsearch、ClickHouse、Doris、クラウドベンダーログサービスなどの複数のソリューションに直面して、パフォーマンス、コスト、オープン性、使いやすさの4つの次元で評価できます。
1. パフォーマンス:書き込みパフォーマンスとクエリパフォーマンス
Observabilityは、トラブルシューティングなどの緊急シナリオでよく使用され、クエリ応答速度とデータの鮮度の両方に高い要件があります。一方で、クエリ応答は高速である必要があり、特にLog/Traceデータのテキストについては、反復的な探索的分析をサポートするためにリアルタイム全文検索が必要です。他方で、最新に生成されたデータはクエリ可能である必要があり、秒レベルの鮮度が要件です。
| ソリューション | 書き込みパフォーマンス | 全文検索 | 集計分析 |
|---|---|---|---|
| Elasticsearch | 高スループット下では書き込みパフォーマンスが比較的低く、ピーク期間中に書き込み拒否と高遅延が容易に発生 | 逆インデックス + 全文検索で知られ、秒レベルのリアルタイム検索 | 集計分析パフォーマンスは比較的低い |
| クラウドベンダーログサービス | リソースの積み重ねによりパフォーマンスを満たす | パフォーマンス要件を満たす | パフォーマンス要件を満たす |
| ClickHouse | 列指向ストレージ + ベクトル化エンジンによる高い書き込みパフォーマンス | ElasticsearchとDorisの数倍から数十倍遅く、まだ実験段階 | 高い集計クエリパフォーマンス |
| Doris | 列指向ストレージ + ベクトル化エンジン、Observability用に最適化された逆インデックス、Elasticsearchより約5倍高速 | Elasticsearchより約2倍高速 | Elasticsearchより6-21倍高速 |
2. コスト:ストレージコストと計算コスト
中規模および大企業が毎日生成するObservabilityデータはTBまたはPBレベルに達する可能性があり、総ストレージは多くの場合PBまたはEBレベルに達します。ビジネスデータと比較して、Observabilityデータはボリュームが大きく、価値密度が低く、時間とともに価値が徐々に低下するため、ストレージと計算の両方のコストに非常に敏感です。
| ソリューション | 圧縮率 | ストレージ / 計算コスト |
|---|---|---|
| Elasticsearch | 約1.5:1(行ストレージ + 逆インデックス + docvalue列指向ストレージ) | 高いストレージコスト;JVMオーバーヘッド + 逆インデックス構築により高いCPU使用率 |
| Doris | 5:1 ~ 10:1、ホット・コールド階層化によりさらなるコスト削減 | Elasticsearchと比較して50%-80%削減;単一レプリカ書き込み、時系列圧縮、ベクトル化インデックス構築により書き込みコストを削減 |
| ClickHouse | 列指向ストレージによる良好な圧縮 | 低いストレージと書き込みコスト |
| クラウドベンダーログサービス | - | Elasticsearchと同様に高い |
3. オープン性:オープンソースとマルチクラウド中立性
Observabilityプラットフォームの構築では、ベンダーロックインを避ける必要があります。ソリューションがオープンソースであるか、マルチクラウドで提供されているか、オープンエコシステムをサポートしているかに注意してください。
| ソリューション | プロジェクト運営者 | マルチクラウドサポート | エコシステムオープン性 |
|---|---|---|---|
| Elasticsearch | Elastic | マルチクラウドで提供 | ELKエコシステムは比較的孤立しており、KibanaはElasticsearchのみをサポート |
| Doris | Apache Software Foundation | 主要クラウドベンダーがSaaSを提供 | OpenTelemetry、Grafana、ELKなどのオープンソースエコシステムをサポート、中立性を維持 |
| ClickHouse | ClickHouse Inc. | マルチクラウドで提供 | OpenTelemetryとGrafanaをサポート;Observability商用企業買収後、中立性に影響 |
| クラウドベンダーログサービス | 各クラウドベンダー | 自社クラウドに縛られる | オープンソースではなく、クラウド横断移行が困難 |
4. 使いやすさ:保守性と利便性
大量のデータボリュームのため、Observabilityプラットフォームは一般的に分散アーキテクチャを採用します。デプロイ、スケーリング、アップグレードなどの操作の便利さと、クエリインターフェースの開発者フレンドリさは、すべて重要な考慮事項です。
| ソリューション | インターフェースと運用 |
|---|---|
| Elasticsearch | Kibanaは使いやすいインターフェースと良好な保守性を提供;DSLクエリ言語は複雑で使用障壁が高い |
| Doris | Kibanaライクなインタラクティブ検索・分析インターフェースを提供し、ネイティブKibana / Grafanaインターフェースと統合;MySQL互換の標準SQL;シンプルなアーキテクチャ、オンラインアップグレードとスケーリング、自動負荷分散をサポートし、視覚的なCluster Managerを提供 |
| ClickHouse | カスタム方言SQL;ローカルテーブル + 分散テーブルの基本概念が露出し、スケーリングを自動でバランスできず、通常は自社構築運用システムが必要 |
| クラウドベンダーログサービス | SaaSサービスは自己保守が不要で使用が便利 |
選択結論
上記の比較に基づいて、Dorisはパフォーマンス、コスト、オープン性、使いやすさの4つの次元すべてで明確な優位性を持っています:高パフォーマンスの書き込みとクエリを提供しながらコストを低く抑え、SQLインターフェースはシンプルで使いやすく、シンプルなアーキテクチャは保守と拡張が容易で、マルチクラウド間で一貫したエクスペリエンスを提供します。これはObservabilityプラットフォーム構築の理想的な選択です。
DorisベースのObservabilityソリューション
システムアーキテクチャ
DorisはMPP分散アーキテクチャを採用し、ベクトル化実行エンジン、CBOオプティマイザー、豊富なインデックス、マテリアライズドビューなどの先進技術を組み合わせて、大規模リアルタイムデータでの極めて高速なクエリ分析をサポートする現代的なデータウェアハウスです。Dorisは、単一テーブルClickBench、複数テーブルTPC-H、TPC-DSを含む複数の権威ある分析データベースパフォーマンスベンチマークで、グローバルに先導的、さらには1位の結果を達成しています。
Observabilityシナリオの特性に対して、Dorisは逆インデックスと極めて高速な全文検索機能を追加し、書き込みパフォーマンスとストレージ容量の究極の最適化を実現し、ユーザーがDoris上で高パフォーマンス、低コスト、オープンなObservabilityプラットフォームを構築できるようにします。
DorisベースのObservabilityプラットフォームは3つのコアコンポーネントで構成されます:
- データ収集と前処理:オープンなOpenTelemetryエコシステムやELKエコシステムのLogstash、Filebeatなど、様々なObservabilityデータ収集ツールをサポートし、HTTP APIを通じてLog、Trace、MetricsデータをDorisに書き込みます。
- データストレージと分析エンジン:DorisはObservabilityデータの高パフォーマンス、低コストの統合ストレージを提供し、SQLインターフェースを通じて豊富な検索・分析機能を提供します。
- クエリ分析と可視化:広く使用されているGrafanaやELKエコシステムのKibanaなど、最も一般的に使用される可視化分析ツールと統合し、リアルタイム監視と迅速な対応のためのシンプルで使いやすい検索、分析、アラートインターフェースをユーザーに提供します。

ソリューションの主要優位性
高パフォーマンス
- 高スループット、低遅延書き込み:1日あたりPBレベル(10 GB/s)のLog、Trace、Metricsデータの継続的で安定した書き込みをサポートし、遅延を秒レベル、さらには1s以内に保つ。
- 高パフォーマンス逆インデックスと全文検索:ログキーワード検索などの一般的なクエリが秒レベルで応答し、ClickHouseより3-10倍高速。
- 高パフォーマンス集計分析:MPP分散アーキテクチャ + ベクトル化Pipelineエンジンがクラスター分散とCPUマルチスレッドリソースを最大限活用。ClickBenchテストパフォーマンスはグローバルに先導的で、トレンド分析や監視アラートなどの一般的なクエリに適している。
低コスト
- 高圧縮率と低コストストレージ:PBレベルの大量ストレージを5:1 ~ 10:1の圧縮率(インデックス含む)でサポートし、Elasticsearchと比較してストレージコストを50%-80%削減。S3/HDFSへのコールドデータストレージをサポートし、ストレージコストをさらに50%削減。
- 低コスト書き込み:同じ書き込みトラフィックに対して、Elasticsearchと比較してCPUリソース消費を70%以上削減。
柔軟なスキーマ
- トップレベルフィールド変更:Light Schema ChangeによりADD/DROP COLUMN/INDEX操作を開始し、数秒でスキーマ変更を完了。計画段階では、現在インデックスが必要なフィールドのみを考慮する必要がある。
- 内部フィールド変更:拡張可能なJSONデータ用に設計された半構造化データ型であるVARIANTは、JSONフィールド名と型を自動認識し、頻繁に発生するフィールドを列指向ストレージに分離して圧縮率と分析パフォーマンスを向上させる。ElasticsearchのDynamic Mappingと比較して、VARIANTはフィールド型の変更を許可。
使いやすさ
- 標準SQLインターフェース:MySQLプロトコルと構文に互換性があり、エンジニアやデータアナリストが直接SQLクエリを使用可能。
- Observabilityエコシステムの包含:OpenTelemetryとELKエコシステムをカバーし、GrafanaやKibanaなどの可視化ツールと統合し、データ収集と可視化分析を促進。
- 便利な運用:サービス中断なしのオンラインスケーリングと自動バランシングをサポート。オンプレミスデプロイでは視覚的なCluster ManagerとK8s Operatorツールを提供し、クラウドではすぐに使えるフルマネージドサービスを提供。
オープン性
- オープンソース:DorisはApache Software Foundationのトップレベルオープンソースプロジェクトで、世界で5,000社以上の企業に採用され、OpenTelemetryやGrafanaなどのObservabilityエコシステムをサポート。
- マルチクラウド中立:主要クラウドベンダーがDoris SaaSを提供し、マルチクラウド間で一貫したエクスペリエンスを提供。
デモとスクリーンショット
以下では、OpenTelemetryコミュニティからの包括的なDemoを使用して、DorisベースのObservabilityプラットフォームを紹介します。
観測対象システム
観測対象のビジネスシステムは、デモンストレーション用に使用されるeコマースウェブサイトです。フロントエンドインターフェース、認証、ショッピングカート、取引、物流、広告、レコメンデーション、リスク制御を含む10以上のモジュールで構成されています。システム全体は高い複雑性を持ち、Observabilityデータ(Log、Trace、Metrics)の収集、保存、分析に大きな課題をもたらします。
データフロー
Load Generatorストレスシミュレーションプログラムがエントリサービスに継続的にリクエストを送信し、eコマースシステム全体で大量のObservabilityデータ(Log、Trace、Metrics)を生成します。データフローは以下のとおりです:
- OpenTelemetry多言語SDKを使用して収集
- OpenTelemetry Collectorに送信
- CollectorのProcessorsで前処理
- OpenTelemetry Doris Exporterを通じてDorisに書き込み
- DorisがMySQLインターフェースを通じて上位層分析ツール(Grafanaなど)に接続し、視覚的なクエリ・分析機能を提供
可視化
GrafanaはMySQL Datasourceを通じてDorisに接続し、LogとTraceの連携を伴う統合されたLog、Trace、Metrics可視化分析を提供します。
-
Log

-
Trace

-
Metrics

GrafanaのLog可視化・分析機能はKibanaと比較して比較的シンプルであるため、サードパーティベンダーがKibana Discoverライクな検索・分析機能を実装しており、これも将来的にGrafana Doris Datasourceに統合され、より良い統合Log/Trace/Metrics可視化分析エクスペリエンスを提供します。さらに、Elasticsearchクエリプロトコルとの互換性により、将来的にネイティブKibanaがDorisに直接接続できるようになります。ELKユーザーにとって、ElasticsearchをDorisに置き換えることで、ログ収集と可視化分析の習慣を変更することなく、コスト削減と効率向上を実現できます。

