概要
オブザーバビリティとは?
オブザーバビリティとは、システムの外部出力データを通じてシステムの内部状態を推測する能力を指します。オブザーバビリティプラットフォームは、ログ、トレース、メトリクスという3つのコアデータを収集、保存、可視化します。これにより、チームは分散システムの運用状況を包括的に理解し、リソース最適化、障害予測、根本原因分析をサポートし、システムの信頼性を向上させ、ユーザーエクスペリエンスを向上させます。
なぜオブザーバビリティがますます重要になっているか
オブザーバビリティプラットフォームには、システムの安定性向上、運用効率の最適化、ビジネスイノベーションの実現において不可欠な、いくつかの重要なユースケースがあります。
-
障害診断と根本原因分析: リアルタイム監視、異常検知、トレース機能により、障害の迅速な特定と分析が可能になります。例えば、金融業界では、オブザーバビリティとトランザクショントレース、AI技術を組み合わせることで、復旧時間を短縮し、ビジネス継続性を確保できます。また、障害シナリオをシミュレートし、システムの耐障害性を検証するカオスエンジニアリングもサポートします。
-
パフォーマンス最適化とリソース計画: システムリソースの使用率と応答時間を分析することで、パフォーマンスのボトルネックを特定し、設定を動的に調整(例:ロードバランシング、オートスケーリング)できます。履歴データを使用してリソースニーズを予測し、クラウドリソース配分を最適化し、コストを削減できます。
-
ビジネス意思決定支援: ITパフォーマンスデータとビジネス成果(ユーザー定着率や取引量など)を関連付けることで、ビジネス戦略の策定に役立ちます。例えば、ユーザーエクスペリエンス指標を分析することで、プロダクト機能の改善を導くことができます。
-
セキュリティとコンプライアンス監視: 異常な動作(例:ゼロデイ攻撃)を検知し、自動応答をトリガーしてシステムセキュリティを強化します。同時に、ログ監査により規制要件へのコンプライアンスを確保します。
-
DevOpsコラボレーション: カナリアリリース中、トラフィックタギングにより新バージョンの動作の追跡が可能になります。コールチェーン分析と組み合わせることで、リリースの進行状況を把握し、開発者がコードパフォーマンスを最適化して本番インシデントを削減するのに役立ちます。
近年オブザーバビリティの重要性が高まっている主な要因は2つあります:
-
ビジネスとITシステムの複雑さの増大: クラウドコンピューティングとマイクロサービスの発展により、ビジネスシステムはますます複雑になっています。例えば、GenAIアプリケーションのリクエストには、App、サービスゲートウェイ、認証サービス、課金サービス、RAGエンジン、エージェントエンジン、ベクターデータベース、ビジネスデータベース、分散キャッシュ、メッセージキュー、大規模言語モデルAPIなど、数十のサービスが関わる可能性があります。SSHでサーバーステータスを確認したり、ログを分析するといった従来の方法は、このような複雑な環境では効果的ではなくなりました。オブザーバビリティプラットフォームは、ログ、トレース、メトリクスデータの収集と保存を統一し、一元化された可視化と迅速な問題調査を提供します。
-
ビジネス信頼性に対するより高い要件: システム障害がユーザーエクスペリエンスに与える影響がますます大きくなっています。そのため、障害検知と復旧の効率性がより重要になっています。オブザーバビリティは完全なデータ可視性と全体的な分析を提供し、チームが根本原因を迅速に特定し、ダウンタイムを削減し、サービスの可用性を確保できるようにします。さらに、グローバルデータ分析と予測により、潜在的なリソースボトルネックを早期に特定し、障害が発生する前に防ぐことができます。
オブザーバビリティソリューションの選択方法
オブザーバビリティデータにはいくつかの特徴があり、大量データの保存と分析の課題への対処が、あらゆるオブザーバビリティソリューションの鍵となります。
-
大容量ストレージとコスト感応性: オブザーバビリティデータ、特にログとトレースは、通常大量であり、継続的に生成されます。中規模から大規模な企業では、日次データ生成量はしばしばテラバイト、さらにはペタバイト規模に達します。ビジネスや規制要件を満たすため、データは数ヶ月または数年間保存する必要があることが多く、ストレージ量がPBやEB規模に達し、相当なストレージコストが発生します。時間の経過とともに、このデータの価値は低下するため、コスト効率がますます重要になります。
-
リアルタイム要件のある高スループット書き込み: 日次でTBやPB規模のデータ取り込み処理では、1–10 GB/sの書き込みスループットや数百万から数千万レコード/秒が必要となることが多くあります。同時に、リアルタイムトラブルシューティングやセキュリティ調査の必要性から、プラットフォームはリアルタイムでのデータ利用可能性を確保するため、サブ秒の書き込みレイテンシをサポートする必要があります。
-
リアルタイム分析と全文検索機能: ログとトレースには大量のテキストデータが含まれています。キーワードや語句を素早く検索することが不可欠です。従来の全スキャンと文字列マッチングアプローチは、特にこの規模では、特に高スループット、低レイテンシ取り込み条件下で、リアルタイムパフォーマンスを提供できないことが多くあります。そのため、サブ秒のクエリ応答性を実現するには、テキスト用に調整された転置インデックスの構築が重要になります。
-
動的データスキーマと頻繁な拡張ニーズ: ログは元来非構造化フリーテキストログとして存在していましたが、半構造化JSON形式に発展しました。プロデューサーはJSONフィールドを頻繁に変更するため、スキーマの柔軟性が不可欠です。従来のデータベースやデータウェアハウスはこのような動的スキーマを効率的に処理することが困難であり、データレイクシステムはストレージの柔軟性を提供しますが、リアルタイム分析パフォーマンスでは不足しています。
-
複数のデータソースと分析ツールとの統合: データ収集と可視化のためのオブザーバビリティエコシステムツールは数多く存在します。ストレージと分析エンジンは、これらの多様なツールとシームレスに統合する必要があります。
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トップレベルのオープンソースプロジェクトで、主要なグローバルクラウドプロバイダーによってサポートされています。OpenTelemetry、Grafana、ELKとよく統合し、オープンネスと中立性を維持しています。
- ClickHouseはClickHouse Inc.によって維持されるオープンソースプロジェクトで、複数のクラウドで利用可能です。OpenTelemetryやGrafanaをサポートしていますが、オブザーバビリティ企業の買収により将来の中立性について懸念が生じています。
- クラウドロギングサービスはそれぞれのクラウドに結びついており、オープンソースではなく、ベンダー間で異なるため、一貫したエクスペリエンスと移行の柔軟性が制限されます。
4. 使いやすさ:管理性と使用性を含む
データ量のため、オブザーバビリティプラットフォームは通常分散アーキテクチャを採用します。デプロイ、スケーリング、アップグレード、その他の管理タスクの容易さがスケーラビリティに大きく影響します。システムが提供するインターフェースは、開発者の効率とユーザーエクスペリエンスを決定します。
- ElasticsearchのKibana WebUIは非常にユーザーフレンドリーで管理しやすいです。しかし、そのDSLクエリ言語は複雑で学習が困難であり、統合と開発において課題をもたらします。
- DorisはKibanaに似たインタラクティブ分析インターフェースを提供し、GrafanaやKibana(近日対応予定)とネイティブに統合します。そのSQLは標準でMySQL互換であり、開発者と分析者にフレンドリーです。Dorisはデプロイと保守が容易なシンプルなアーキテクチャを持ち、サービス中断なしのオンラインスケーリング、自動ロードバランシングをサポートし、ビジュアルクラスター Managerを含みます。
- ClickHouseはSQLインターフェースを提供しますが、独自の構文を使用します。ローカルテーブル対分散テーブルなどの公開された概念やスケーリング時の自動再バランシングの欠如により、保守は困難です。通常、カスタムクラスター管理システムの開発が必要です。
- クラウドロギングサービスはSaaSの便利さを提供します。ユーザーはインフラストラクチャを管理せず、使いやすさを享受します。
上記の分析に基づき、Dorisは高パフォーマンスの取り込みとクエリを実現しながらコストを低く抑えます。そのSQLインターフェースは使いやすく、アーキテクチャは保守とスケールが簡単です。また、複数のクラウドで一貫したエクスペリエンスを確保し、オブザーバビリティプラットフォームを構築するための最適な選択となります。
Dorisベースのオブザーバビリティソリューション
システムアーキテクチャ
Apache DorisはMPP分散アーキテクチャを持つモダンなデータウェアハウスで、ベクトル化実行エンジン、CBOオプティマイザ、高度なインデックス、マテリアライズドビューを統合しています。大規模リアルタイムデータセットでの超高速クエリと分析をサポートし、優れた分析エクスペリエンスを提供します。継続的な技術革新により、DorisはClickBench(単一テーブル)、TPC-H、TPC-DS(複数テーブル)などの権威あるベンチマークでトップランキングを獲得しています。
オブザーバビリティシナリオにおいて、Dorisは転置インデックスと超高速全文検索機能を導入し、最適化された書き込みパフォーマンスとストレージ効率を実現しています。これにより、ユーザーはDorisベースの高性能、低コスト、オープンなオブザーバビリティプラットフォームを構築できます。
Dorisベースのオブザーバビリティプラットフォームは3つのコアコンポーネントで構成されます:
- データ収集と前処理: OpenTelemetryやLogstash、Filebeatなどのエコシステムツール、ELKなど、さまざまなオブザーバビリティデータ収集ツールをサポートします。ログ、トレース、メトリクスデータはHTTP APIを通じてDorisに取り込まれます。
- データストレージと分析エンジン: Dorisはオブザーバビリティデータの統一された高性能、低コストストレージを提供し、SQLインターフェースを通じて強力な検索と分析機能を公開します。
- クエリ分析と可視化: GrafanaやKibana(ELKスタックの)などの人気のオブザーバビリティ可視化ツールと統合し、検索、分析、アラート、リアルタイム監視と迅速な応答を実現するための直感的なインターフェースを提供します。

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

-
トレース

-
メトリクス

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