概要
オブザーバビリティとは何か?
オブザーバビリティとは、システムの外部出力データを通じてシステムの内部状態を推測する能力を指します。オブザーバビリティプラットフォームは、3つのコアデータ(ログ、トレース、Metrics)を収集、保存、可視化します。これにより、チームは分散システムの運用状況を包括的に理解し、リソース最適化、障害予測、根本原因分析をサポートし、システム信頼性を向上させ、ユーザーエクスペリエンスを向上させることができます。
なぜオブザーバビリティの重要性が高まっているのか
オブザーバビリティプラットフォームには、システム安定性の向上、運用効率の最適化、ビジネスイノベーションの実現に不可欠な重要な使用例がいくつかあります。
-
障害診断と根本原因分析:リアルタイム監視、異常検知、トレーシング機能により、障害の迅速な特定と分析が可能になります。たとえば、金融業界では、オブザーバビリティをトランザクショントレーシングやAI技術と組み合わせることで、復旧時間を短縮し、ビジネス継続性を確保できます。また、障害シナリオをシミュレートしてシステムの耐障害性を検証するchaos engineeringもサポートします。
-
パフォーマンス最適化とリソース計画:システムリソース使用率と応答時間を分析することで、パフォーマンスボトルネックを特定し、設定を動的に調整(例:ロードバランシング、auto-scaling)できます。履歴データを使用してリソースニーズを予測し、クラウドリソース配分を最適化し、コストを削減できます。
-
ビジネス意思決定サポート:ITパフォーマンスデータをビジネス成果(ユーザー維持率や取引量など)と関連付けることで、ビジネス戦略の策定に役立ちます。たとえば、ユーザーエクスペリエンスメトリクスを分析することで、製品機能の改善を導くことができます。
-
セキュリティとコンプライアンス監視:異常な行動(例:ゼロデイ攻撃)を検出し、自動応答をトリガーしてシステムセキュリティを強化します。同時に、ログ監査により規制要件への準拠を確保します。
-
DevOpsコラボレーション:カナリアリリース中、トラフィックタギングにより新バージョンの動作を追跡できます。呼び出しチェーン分析と組み合わせることで、リリース進行に情報を提供し、開発者がコードパフォーマンスを最適化し、本番環境のインシデントを削減するのに役立ちます。
近年オブザーバビリティの重要性が高まっているのは、主に2つの要因によるものです:
-
ビジネスとITシステムの複雑さの増大:クラウドコンピューティングとマイクロサービスの発達により、ビジネスシステムはますます複雑になっています。たとえば、GenAIアプリケーションの要求は、App、サービスゲートウェイ、認証サービス、課金サービス、RAGエンジン、Agentエンジン、ベクターデータベース、ビジネスデータベース、分散キャッシュ、メッセージキュー、大規模モデルAPIなど、数十のサービスを含む可能性があります。SSHでサーバー状態をチェックしたりログを分析したりする従来の方法は、このような複雑な環境ではもはや効果的ではありません。オブザーバビリティプラットフォームは、ログ、トレース、Metricデータの収集と保存を統合し、一元的な可視化と迅速な問題調査を提供します。
-
ビジネス信頼性への高い要求:システム障害がユーザーエクスペリエンスに与える影響はますます大きくなっています。そのため、障害検出と復旧の効率がより重要になっています。オブザーバビリティは完全なデータ可視性とパノラマ分析を提供し、チームが根本原因を迅速に特定し、ダウンタイムを削減し、サービス可用性を確保できるようにします。さらに、グローバルデータ分析と予測により、潜在的なリソースボトルネックを早期に特定し、障害が発生する前に防ぐことができます。
オブザーバビリティソリューションの選択方法
オブザーバビリティデータにはいくつかの特性があり、大量のデータ保存と分析の課題への対処が、あらゆるオブザーバビリティソリューションの鍵となります。
-
高い保存容量とコスト感応性:オブザーバビリティデータ、特にログとトレースは、通常非常に大きな容量で継続的に生成されます。中大規模企業では、日々のデータ生成量はしばしばテラバイトやペタバイトに達します。ビジネスや規制要件を満たすため、データは数か月または数年間保存する必要があることが多く、保存容量がPBやEBスケールに達し、相当な保存コストが発生します。時間が経つにつれて、このデータの価値は低下するため、コスト効率がますます重要になります。
-
リアルタイム要件を持つ高スループット書き込み:日々のTBやPBスケールのデータ取り込みを処理するには、しばしば1-10GB/sまたは数百万から数千万レコード/秒の書き込みスループットが必要です。同時に、リアルタイムトラブルシューティングとセキュリティ調査の必要性により、プラットフォームはリアルタイムデータ可用性を確保するためにサブ秒書き込み遅延をサポートする必要があります。
-
リアルタイム分析と全文検索機能:ログとトレースには大量のテキストデータが含まれています。キーワードやフレーズを迅速に検索することが不可欠です。従来の全スキャンと文字列マッチングアプローチは、特にこのスケールでは、特に高スループット、低レイテンシ取り込み条件下で、リアルタイムパフォーマンスを提供できないことがよくあります。そのため、テキスト用に調整された転置インデックスの構築が、サブ秒クエリ応答性を実現するために重要になります。
-
動的データスキーマと頻繁な拡張ニーズ:ログは元々非構造化自由テキストログとして存在していましたが、半構造化JSON形式に発展しました。プロデューサーは頻繁にJSONフィールドを変更するため、スキーマの柔軟性が不可欠です。従来のデータベースとデータウェアハウスはこのような動的スキーマを効率的に処理するのに苦労し、datalakeシステムはストレージの柔軟性を提供しますが、リアルタイム分析パフォーマンスでは不十分です。
-
複数のデータソースと分析ツールとの統合:データ収集と可視化のためのオブザーバビリティエコシステムツールは多数あります。ストレージと分析エンジンは、これらの多様なツールとシームレスに統合する必要があります。
Elasticsearch、ClickHouse、Doris、およびクラウドベンダーが提供するログサービスなどの選択肢がある中で、どのように選択すべきでしょうか?以下が主要な評価基準です:
1. パフォーマンス:書き込みとクエリパフォーマンスを含む
オブザーバビリティはトラブルシューティングなどの緊急時によく使用されるため、クエリは迅速に応答する必要があります。特にログとトレースのテキストコンテンツは、反復的な探索をサポートするためにリアルタイム全文検索が必要です。さらに、ユーザーは準リアルタイムデータをクエリできる必要があります。数時間前や数分前のデータに限定されたクエリでは不十分で、過去数秒の新しいデータが必要です。
- Elasticsearchは転置インデックスと全文検索で知られ、サブ秒検索を提供します。しかし、高スループット書き込みに苦労し、ピーク負荷時に書き込みを拒否したり高遅延を経験したりすることがよくあります。集計と統計分析のパフォーマンスも比較的弱いです。
- クラウドログサービスは豊富なリソースを通じて十分なパフォーマンスを提供しますが、より高いコストを伴います。
- ClickHouseは列指向ストレージとベクトル化実行を使用して高い書き込みスループットと高い集計クエリパフォーマンスを提供します。しかし、全文検索パフォーマンスはElasticsearchやDorisより数倍遅れ、実験的で本番使用には適していません。
- Dorisは、列指向ストレージとベクトル化実行を活用し、オブザーバビリティシナリオ用に転置インデックスを最適化しています。Elasticsearchより優れたパフォーマンスを提供し、書き込みが約5倍高速で、クエリが約2倍高速です。集計パフォーマンスはElasticsearchより最大6-21倍優れています。
2. コスト:ストレージとコンピュートコストを含む
オブザーバビリティデータ量は膨大で、特にログとトレースは膨大です。中大規模企業は日々TBまたはPBのデータを生成します。ビジネスや規制ニーズにより、データは数か月または数年間保持する必要があり、ストレージ要件がPBまたはEBレンジに押し上げられます。ビジネスクリティカルデータと比較して、オブザーバビリティデータの価値密度は低く、時間が経つにつれて価値が低下するため、コスト感応性が重要です。さらに、大量のデータを処理すると相当なコンピュートコストが発生します。
- Elasticsearchは高いコストで苦しんでいます。そのストレージモデルは行ベース生データ、転置インデックス、docvalue列指向ストレージを組み合わせており、典型的な圧縮比は約1.5:1です。JVMとインデックス構築からの高いCPUオーバーヘッドがさらにコンピュートコストを増加させます。
- Dorisにはオブザーバビリティシナリオ向けの多数の最適化が含まれています。Elasticsearchと比較して、総コストを50-80%削減します。これには、簡素化された転置インデックス、ZSTD圧縮による列指向ストレージ(5:1-10:1)、コールドホット階層ストレージ、シングルレプリカ書き込み、書き込み増幅を削減するための時系列コンパクション、ベクトル化インデックス構築が含まれます。
- ClickHouseは列指向ストレージとベクトル化エンジンを使用し、より低いストレージと書き込みコストを提供します。
- クラウドログサービスはElasticsearchと同様に高価です。
3. オープンネス:オープンソースとマルチクラウドニュートラリティを含む
オブザーバビリティプラットフォームを選択する際は、オープンソースかどうか、マルチクラウドニュートラルかどうかなど、オープンネスを考慮してください。
- ElasticsearchはElasticが維持するオープンソースプロジェクトで、複数のクラウドで利用できます。そのELKエコシステムは自己完結型で他のエコシステムとの統合が困難です。例えば、KibanaはElasticsearchのみをサポートし、拡張が困難です。
- Dorisは世界的な主要クラウドプロバイダーがサポートするApache Top-Levelオープンソースプロジェクトです。OpenTelemetry、Grafana、ELKと良好に統合し、オープンネスとニュートラリティを維持します。
- ClickHouseはClickHouse Inc.が維持するオープンソースプロジェクトで、クラウド間で利用できます。OpenTelemetryとGrafanaをサポートしていますが、オブザーバビリティ企業の買収により将来のニュートラリティに懸念があります。
- クラウドログサービスはそれぞれのクラウドに紐付いており、オープンソースではなく、ベンダー間で異なるため、一貫したエクスペリエンスと移行の柔軟性が制限されます。
4. 使いやすさ:管理性と可用性を含む
データ量の多さにより、オブザーバビリティプラットフォームは通常分散アーキテクチャを採用します。デプロイメント、スケーリング、アップグレード、その他の管理タスクの容易さは、スケーラビリティに大きく影響します。システムが提供するインターフェースは、開発者の効率とユーザーエクスペリエンスを決定します。
- ElasticsearchのKibana Web UIは非常にユーザーフレンドリーで管理可能です。しかし、そのDSLクエリ言語は複雑で習得が困難で、統合と開発の課題を抱えています。
- DorisはKibanaに似たインタラクティブ分析インターフェースを提供し、GrafanaやKibana(近日公開)とネイティブに統合します。そのSQLは標準でMySQLと互換性があり、開発者とアナリストに優しいです。Dorisはデプロイと保守が容易なシンプルなアーキテクチャを持ち、サービス中断なしのオンラインスケーリング、自動負荷バランシングをサポートし、視覚的なCluster Managerを含みます。
- ClickHouseはSQLインターフェースを提供しますが、独自の構文を使用します。ローカルTable対分散Tableなどの公開概念やスケーリング中の自動リバランスの欠如により、保守は困難です。通常、カスタムクラスター管理システムの開発が必要です。
- クラウドログサービスはSaaSの便利さを提供します。ユーザーはインフラストラクチャを管理せず、使いやすさを享受できます。
上記の分析に基づいて、Dorisは高パフォーマンスの取り込みとクエリを実現しながらコストを低く抑えます。そのSQLインターフェースは使いやすく、アーキテクチャは保守とスケーリングがシンプルです。また、複数のクラウド間で一貫したエクスペリエンスを確保し、オブザーバビリティプラットフォームを構築するための最適な選択肢となっています。
Dorisベースの オブザーバビリティソリューション
システムアーキテクチャ
Apache Dorisは、ベクトル化実行エンジン、CBOオプティマイザー、高度なインデックス、マテリアライズドビューを統合したMPP分散アーキテクチャを持つ現代的なデータウェアハウスです。大規模リアルタイムデータセットでの超高速クエリと分析をサポートし、優れた分析エクスペリエンスを提供します。継続的な技術革新を通じて、DorisはClickBench(シングルTable)、TPC-H、TPC-DS(マルチTable)などの権威あるベンチマークでトップランキングを達成しています。
オブザーバビリティシナリオでは、Dorisは転置インデックスと超高速全文検索機能を導入し、最適化された書き込みパフォーマンスとストレージ効率を実現しています。これにより、ユーザーはDorisベースの高パフォーマンス、低コスト、オープンなオブザーバビリティプラットフォームを構築できます。
Dorisベースのオブザーバビリティプラットフォームは3つのコアコンポーネントで構成されます:
- データ収集と前処理:OpenTelemetryやログtash、FilebeatなどのELKエコシステムツールを含む、さまざまなオブザーバビリティデータ収集ツールをサポートします。ログ、トレース、MetricデータはHTTP APIを介してDorisに取り込まれます。
- データストレージと分析エンジン:Dorisはオブザーバビリティデータの統合された高パフォーマンス、低コストストレージを提供し、SQLインターフェースを介して強力な検索と分析機能を公開します。
- クエリ分析と可視化:GrafanaやKibana(ELKスタックから)などの人気のあるオブザーバビリティ可視化ツールと統合し、検索、分析、アラート用の直感的なインターフェースを提供し、リアルタイム監視と迅速な応答を実現します。

主要機能と利点
高パフォーマンス
- 高スループット、低レイテンシ書き込み:日々PBスケール(10GB/s)のLog、トレース、Metricデータのサブ秒レイテンシでの安定した取り込みをサポートします。
- 高パフォーマンス転置インデックスと全文検索:転置インデックスと全文検索をサポートし、一般的なログキーワード検索でサブ秒応答時間を提供します。ClickHouseより3-10倍高速です。
- 高パフォーマンス集計分析:MPP分散アーキテクチャとベクトル化パイプライン実行エンジンを利用して、Dorisはオブザーバビリティシナリオでのトレンド分析とアラートに優れ、ClickBenchテストで世界的にリードしています。
低コスト
- 高い圧縮比と低コストストレージ:5:1-10:1の圧縮比(インデックスを含む)でPBスケールストレージをサポートし、Elasticsearchと比較してストレージコストを50-80%削減します。コールドデータはS3/HDFSにオフロードでき、ストレージコストをさらに50%削減します。
- 低コスト書き込み:同じ書き込みスループットでElasticsearchより70%少ないCPUを消費します。
柔軟なスキーマ
- トップレベルでのスキーマ変更:ユーザーはLight Schema Changeを使用して列やインデックス(ADD/DROP COLUMN/INDEX)を追加または削除でき、スキーマ変更は数秒で完了できます。オブザーバビリティプラットフォームを設計する際、ユーザーは現在の段階でどのフィールドとインデックスが必要かを考慮するだけで済みます。
- 内部フィールド変更:スケーラブルなJSONデータ用に特別に設計されたVARIANTという半構造化データ型があります。JSON内のフィールド名と型を自動的に識別し、頻繁に出現するフィールドをさらに列指向ストレージに分割して、圧縮比と分析パフォーマンスを向上させます。ElasticsearchのDynamic Mappingと比較して、VARIANTは単一フィールドのデータ型の変更を可能にします。
ユーザーフレンドリー
- 標準SQLインターフェース:Dorisは標準SQLをサポートし、MySQLプロトコルと構文と互換性があり、エンジニアとアナリストがアクセスしやすくなっています。
- オブザーバビリティエコシステムとの統合:OpenTelemetryとELKエコシステムと互換性があり、GrafanaとKibana(近日公開)可視化ツールをサポートしてシームレスなデータ収集と分析を実現します。
- 簡単な運用:オンラインスケーリング、自動負荷バランシング、Cluster Managerによる視覚的管理をサポートします。
オープンネス
- オープンソース:Apache Dorisは世界中の5000社以上が採用するトップレベルオープンソースプロジェクトで、OpenTelemetry、Grafana、その他のオブザーバビリティエコシステムをサポートしています。
- マルチクラウドニュートラル:主要クラウドプロバイダーがDoris SaaSサービスを提供し、クラウド間で一貫したエクスペリエンスを保証します。
デモとスクリーンショット
OpenTelemetryコミュニティの包括的なdemoを使用してDorisベースのオブザーバビリティプラットフォームを実証します。
観測されるビジネスシステムは、フロントエンド、認証、カート、支払い、物流、広告、レコメンデーション、リスク制御など十数のモジュールで構成されるeコマースウェブサイトをシミュレートし、高レベルのシステム複雑性を反映しており、オブザーバビリティデータの収集、保存、分析に重要な課題を提示しています。
Load Generatorツールはエントリサービスに継続的な要求を送信し、大量のオブザーバビリティデータ(ログ、トレース、Metrics)を生成します。これらのデータは、さまざまな言語のOpenTelemetry SDKを使用して収集され、OpenTelemetry Collectorに送信され、Processorによって前処理され、最終的にOpenTelemetry Doris Exporterを介してDorisに書き込まれます。Grafanaなどのオブザーバビリティ可視化ツールは、MySQLインターフェースを通じてDorisに接続し、視覚化されたクエリと分析機能を提供します。
GrafanaはMySQLデータソースを介してDorisに接続し、ログ、トレース、Metricsの統合された可視化と分析を提供し、ログとトレース間のクロス分析を含みます。
-
ログ

-
トレース

-
Metrics

Grafanaのログ可視化と分析機能はKibanaと比較して比較的基本的ですが、サードパーティベンダーはKibanaのようなDiscover機能を実装しています。これらは間もなくGrafanaのDorisデータソースに統合され、統合オブザーバビリティ可視化を強化します。将来の改善には、Elasticsearchプロトコル互換性が含まれ、ネイティブKibanaのDoris接続が可能になります。ELKユーザーにとって、ElasticsearchをDorisに置き換えることで、既存のログと可視化の習慣を維持しながら、コストを大幅に削減し、効率を改善できます。
