テクノロジー データベース 非公開: 7 監視ソリューション用の強力な時系列データベース

7 監視ソリューション用の強力な時系列データベース

分散監視時系列データベースについて話しましょう。

時系列データベースは、タイムスタンプまたは時系列データ用に最適化されています。時系列データとは、一定期間にわたって追跡、監視、収集、または集約される測定値またはイベントを意味します。これらには、モーション追跡センサーのハートビート、Java アプリケーションからの JVM メトリクス、市場取引データ、ネットワーク データ、API 応答、プロセス稼働時間などから収集されたデータが含まれます。

時系列データベースは、タイムスタンプ付きデータを使用して完全にカスタマイズされており、時系列データを挿入できるようにインデックスが付けられ、効率的に書き込まれます。これらの時系列データのクエリは、リレーショナル データベースや NoSQL データベースで行う方法よりもはるかに高速に実行できます。

最近、非常に人気が高まっています。なぜそうではないのでしょうか?ビジネスおよび IT 運用の監視に素晴らしい役割を果たします。良いニュースは、選択肢がたくさんあり、そのほとんどがオープンソースであるということです。

流入DB

InfluxDB は、DevOps の中で最も人気のある時系列データベースの 1 つで、Go で書かれています。 InfluxDB は、拡張性の高いデータ取り込みおよびストレージ エンジンを提供するためにゼロから設計されました。時系列データ、イベント、メトリクスのストリームをリアルタイムで収集、保存、クエリ、視覚化し、アクションを実行する際に非常に効率的です。

ダウンサンプリングとデータ保持ポリシーを提供して、高価値、高精度のデータをメモリに保持し、低価値のデータをディスクに保持することをサポートします。これは、クラウド オンプレミス環境やハイブリッド環境など、複数の導入トポロジにわたってスケーラビリティを提供するためのクラウド ネイティブ方式に基づいて構築されています。

InfluxDB はオープンソース ソリューションであり、エンタープライズ対応です。データを操作するために、構造クエリ言語によく似た InfluxQL を使用します。最新バージョンでは、エージェント、ダッシュボード、クエリ、およびタスクがツールキットで提供されます。これは、ダッシュボード、視覚化、アラートを行うためのオールインワン ツールです。

特徴

  • 高いスループットの取り込みとリアルタイムのクエリによる時系列データの高いパフォーマンス
  • InfluxQL はクエリ言語のような SQL であるデータを操作します。
  • TICK (Telegraf、InfluxDB、Chronograf、および Kapacitor) スタックのコア コンポーネント。
  • データ取り込みのためのcollectd、Graphite、OpenTSDBなどのプロトコルのプラグインのサポート
  • わずか 1 秒で数百万のデータポイントを処理可能
  • 古いデータを自動的に削除するための保持ポリシー

オープンソースなので、ダウンロードしてサーバー上で起動できます。ただし、AWS、Azure、GCP では InfluxDB Cloud を提供しています。

プロメテウス

Prometheus は、メトリクス データから洞察を理解し、必要なアラートを送信するために使用されるオープンソースの監視ソリューションです。ディスク上にカスタム形式でデータを保存するローカルのディスク上時系列データベースがあります。

Prometheus のデータ モデルは時系列に基づいた多次元です。すべてのデータをタイムスタンプ付きの値のストリームとして保存します。これは、完全な数値時系列を操作する場合に非常に役立ちます。マイクロサービス データの収集とクエリの実行は、Prometheus の強みの 1 つです。

視覚化のために Grafana と緊密に統合されています。初心者の場合は、この Prometheus と Grafana の紹介記事を読んでください。

特徴

  • メトリクス名とキーと値のペア (ラベル) を使用した多次元モデルがある
  • 時系列データをクエリしてテーブル、アラート、アドホック グラフを生成するための PromQL
  • 時系列データの収集に HTTP プル モードを使用します
  • 中間ゲートウェイを使用して時系列をプッシュします

Prometheus には、Windows、Linux、Java、データベース、API、Web サイト、サーバー ハードウェア、PHP、メッセージングなどからデータをエクスポートするための数百のエクスポーターがあります。 Linux を監視するには、この Prometheus + Grafana セットアップを確認してください。

タイムスケールDB

TimescaleDB は、SQL を時系列データに対してスケーラブルにするオープンソースのリレーショナル データベースです。このデータベースはPostgreSQL上に構築されています。

2 つの製品が提供されています。最初のオプションは、サーバーにインストールして無料で使用できるコミュニティ エディションです。 2 番目のオプションは TimescaleDB Cloud で、展開のニーズに合わせてクラウド上で完全にホストおよび管理されたインフラストラクチャを利用できます。

DevOps の監視、アプリケーション メトリクスの理解、IoT デバイスからのデータの追跡、財務データの理解などに使用できます。ログ、Kubernetes イベント、Prometheus メトリクス、さらにはカスタム メトリクスも測定できます。

製品所有者にとっては、これを使用して製品の長期的なパフォーマンスを理解することができ、成長に向けた戦略的な決定を下すのに役立ちます。

特徴

  • PostgreSQL、MongoDB よりも 10 ~ 100 倍高速にクエリを実行
  • 水平方向にペタバイトまで拡張可能で、1 秒あたり数百万のデータ ポイントを書き込みます
  • PostgreSQL に非常に似ているため、開発者や管理者にとって操作が簡単です
  • リレーショナル データベース機能と時系列データベース機能を組み合わせて、強力なアプリケーションを構築します。
  • コストを大幅に節約する組み込みのアルゴリズムとパフォーマンス機能。

黒鉛

Graphite は、リアルタイムの時系列データを保存し、効率的に視覚化するためのオールインワン ソリューションです。 Graphite は、時系列データの保存とオンデマンドでのグラフのレンダリングという 2 つのことを実行できます。ただし、ユーザーに代わってデータを収集するわけではありません。そのためには、collectd、Ganglia、Sensu、telegraf などのツールを使用できます。

これには、 CarbonWhisper、 Graphite-Web の3 つのコンポーネントがあります。 Carbon は時系列データを受信して​​集約し、ディスクに保存します。 Whisper は、データを保存する時系列データベース ストレージです。 Graphite-Web は、ダッシュボードを作成し、データを視覚化するためのフロントエンドです。

黒鉛

グラファイトの特徴:

  • データが送信されるメトリクスの形式は簡単です。
  • データをレンダリングし、チャート、ダッシュボード、グラフを作成するための包括的な API
  • 統計ライブラリと革新的なレンダリング関数の豊富なセットを提供します
  • 複数のレンダリング関数を連鎖させてターゲット クエリを構築します。

クエストDB

QuestDBは、時系列データに対してリアルタイム分析を実行できるリレーショナル列指向データベースです。 SQL およびいくつかの拡張機能と連携して、時系列データのリレーショナル モデルを作成します。 QuestDB は最初からコーディングされており、パフォーマンスを向上させる依存関係はありません。

QuestDB はリレーショナル結合と時系列結合をサポートしており、データの関連付けに役立ちます。 QuestDB を使い始める最も簡単な方法は、QuestDB を Docker コンテナ内にデプロイすることです。

QuestDB の機能:

  • ドラッグ アンド ドロップを使用してデータをインポートし、クエリを実行する対話型コンソール
  • クラウドネイティブ (AWS、Azure、GCP)、オンプレミス、または組み込みでサポートされています
  • Active Directory、高可用性、エンタープライズ セキュリティ、クラスタリングなどの機能をエンタープライズに統合します。
  • 運用分析と予測分析を使用してリアルタイムで洞察を提供します

AWS タイムストリーム

AWS がリストにないのはなぜでしょうか?

AWS Timestream は、高速でスケーラブルなサーバーレス時系列データベース サービスです。主に IoT アプリケーションに使用され、1 日に数兆件のイベントを保存し、リレーショナル データベースの 1/10 のコストで 1,000 倍の速度で保存します。

専用のクエリ エンジンを使用すると、最近のデータと保存された履歴データを同時にクエリできます。時系列データを分析して有用な洞察を見つけるための複数の組み込み関数が提供されます。

aws タイムストリーム

Amazon タイムストリームの機能:

  • 管理するサーバーやプロビジョニングするインスタンスはありません。すべてが自動的に処理されます。
  • 費用対効果が高く、取り込んだもの、保存したもの、クエリしたものに対してのみ支払います。
  • パフォーマンスを低下させることなく毎日数兆のイベントを取り込むことが可能
  • 標準 SQL、補間、平滑化機能を備えた組み込みの分析機能により、傾向、パターン、異常を特定します
  • すべてのデータは、AWS キー管理システム (KMS) と顧客管理キー (CMK) を使用して暗号化されます。

OpenTSDB

OpenTSDB は、HBase 上に作成されたスケーラブルな時系列データベースです。 1 秒あたり数百万回の書き込みで数兆のデータ ポイントを保存できます。データを元のタイムスタンプと正確な値で OpenTSDB に永久に保持できるため、データが失われることはありません。

これには、時系列デーモン (TSD) とコマンドライン ユーティリティが含まれています。時系列デーモンは、HBase にデータを保存したり、HBase からデータを取得したりする役割を果たします。 HTTP API、Telnet、または単純な組み込み GUI を使用して TSD と通信できます。さまざまなソースから OpenTSDB にデータを収集するには、flume、collectd、vacuumetrix などのツールが必要です。

opentsdb

OpenTSBD の機能:

  • メトリクスを驚異的な速度で集約、フィルタリング、ダウンサンプリングできる
  • ミリ秒の精度でデータを保存および書き込みます
  • Hadoop および HBase 上で実行され、クラスターにノードを追加することで簡単に拡張できます。
  • GUIを使用してグラフを生成します

結論

昨今のIoT/スマートデバイスの普及により、Webサイトでは1日に数百万ものイベントが発生する膨大なリアルタイムトラフィックが発生し、市場での取引が増加し、時系列データベースが登場しました。時系列データベースは、監視のために運用スタックに必須です。

上記の時系列データベースのほとんどはセルフホストで利用できるため、クラウド VM を入手して試してみて、何が機能するかを確認してください。

「 7 監視ソリューション用の強力な時系列データベース」についてわかりやすく解説!絶対に観るべきベスト2動画

【Part1】- db tech showcase 2022 講演 – PostgreSQLで時系列データベースを実現
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB – 強化された時系列データ管理・検索機能について – 2023-9-29 B-6 /9-30 A-6

分散監視時系列データベースについて話しましょう。

時系列データベースは、タイムスタンプまたは時系列データ用に最適化されています。時系列データとは、一定期間にわたって追跡、監視、収集、または集約される測定値またはイベントを意味します。これらには、モーション追跡センサーのハートビート、Java アプリケーションからの JVM メトリクス、市場取引データ、ネットワーク データ、API 応答、プロセス稼働時間などから収集されたデータが含まれます。

時系列データベースは、タイムスタンプ付きデータを使用して完全にカスタマイズされており、時系列データを挿入できるようにインデックスが付けられ、効率的に書き込まれます。これらの時系列データのクエリは、リレーショナル データベースや NoSQL データベースで行う方法よりもはるかに高速に実行できます。

最近、非常に人気が高まっています。なぜそうではないのでしょうか?ビジネスおよび IT 運用の監視に素晴らしい役割を果たします。良いニュースは、選択肢がたくさんあり、そのほとんどがオープンソースであるということです。

流入DB

InfluxDB は、DevOps の中で最も人気のある時系列データベースの 1 つで、Go で書かれています。 InfluxDB は、拡張性の高いデータ取り込みおよびストレージ エンジンを提供するためにゼロから設計されました。時系列データ、イベント、メトリクスのストリームをリアルタイムで収集、保存、クエリ、視覚化し、アクションを実行する際に非常に効率的です。

ダウンサンプリングとデータ保持ポリシーを提供して、高価値、高精度のデータをメモリに保持し、低価値のデータをディスクに保持することをサポートします。これは、クラウド オンプレミス環境やハイブリッド環境など、複数の導入トポロジにわたってスケーラビリティを提供するためのクラウド ネイティブ方式に基づいて構築されています。

InfluxDB はオープンソース ソリューションであり、エンタープライズ対応です。データを操作するために、構造クエリ言語によく似た InfluxQL を使用します。最新バージョンでは、エージェント、ダッシュボード、クエリ、およびタスクがツールキットで提供されます。これは、ダッシュボード、視覚化、アラートを行うためのオールインワン ツールです。

特徴

  • 高いスループットの取り込みとリアルタイムのクエリによる時系列データの高いパフォーマンス
  • InfluxQL はクエリ言語のような SQL であるデータを操作します。
  • TICK (Telegraf、InfluxDB、Chronograf、および Kapacitor) スタックのコア コンポーネント。
  • データ取り込みのためのcollectd、Graphite、OpenTSDBなどのプロトコルのプラグインのサポート
  • わずか 1 秒で数百万のデータポイントを処理可能
  • 古いデータを自動的に削除するための保持ポリシー

オープンソースなので、ダウンロードしてサーバー上で起動できます。ただし、AWS、Azure、GCP では InfluxDB Cloud を提供しています。

プロメテウス

Prometheus は、メトリクス データから洞察を理解し、必要なアラートを送信するために使用されるオープンソースの監視ソリューションです。ディスク上にカスタム形式でデータを保存するローカルのディスク上時系列データベースがあります。

Prometheus のデータ モデルは時系列に基づいた多次元です。すべてのデータをタイムスタンプ付きの値のストリームとして保存します。これは、完全な数値時系列を操作する場合に非常に役立ちます。マイクロサービス データの収集とクエリの実行は、Prometheus の強みの 1 つです。

視覚化のために Grafana と緊密に統合されています。初心者の場合は、この Prometheus と Grafana の紹介記事を読んでください。

特徴

  • メトリクス名とキーと値のペア (ラベル) を使用した多次元モデルがある
  • 時系列データをクエリしてテーブル、アラート、アドホック グラフを生成するための PromQL
  • 時系列データの収集に HTTP プル モードを使用します
  • 中間ゲートウェイを使用して時系列をプッシュします

Prometheus には、Windows、Linux、Java、データベース、API、Web サイト、サーバー ハードウェア、PHP、メッセージングなどからデータをエクスポートするための数百のエクスポーターがあります。 Linux を監視するには、この Prometheus + Grafana セットアップを確認してください。

タイムスケールDB

TimescaleDB は、SQL を時系列データに対してスケーラブルにするオープンソースのリレーショナル データベースです。このデータベースはPostgreSQL上に構築されています。

2 つの製品が提供されています。最初のオプションは、サーバーにインストールして無料で使用できるコミュニティ エディションです。 2 番目のオプションは TimescaleDB Cloud で、展開のニーズに合わせてクラウド上で完全にホストおよび管理されたインフラストラクチャを利用できます。

DevOps の監視、アプリケーション メトリクスの理解、IoT デバイスからのデータの追跡、財務データの理解などに使用できます。ログ、Kubernetes イベント、Prometheus メトリクス、さらにはカスタム メトリクスも測定できます。

製品所有者にとっては、これを使用して製品の長期的なパフォーマンスを理解することができ、成長に向けた戦略的な決定を下すのに役立ちます。

特徴

  • PostgreSQL、MongoDB よりも 10 ~ 100 倍高速にクエリを実行
  • 水平方向にペタバイトまで拡張可能で、1 秒あたり数百万のデータ ポイントを書き込みます
  • PostgreSQL に非常に似ているため、開発者や管理者にとって操作が簡単です
  • リレーショナル データベース機能と時系列データベース機能を組み合わせて、強力なアプリケーションを構築します。
  • コストを大幅に節約する組み込みのアルゴリズムとパフォーマンス機能。

黒鉛

Graphite は、リアルタイムの時系列データを保存し、効率的に視覚化するためのオールインワン ソリューションです。 Graphite は、時系列データの保存とオンデマンドでのグラフのレンダリングという 2 つのことを実行できます。ただし、ユーザーに代わってデータを収集するわけではありません。そのためには、collectd、Ganglia、Sensu、telegraf などのツールを使用できます。

これには、 CarbonWhisper、 Graphite-Web の3 つのコンポーネントがあります。 Carbon は時系列データを受信して​​集約し、ディスクに保存します。 Whisper は、データを保存する時系列データベース ストレージです。 Graphite-Web は、ダッシュボードを作成し、データを視覚化するためのフロントエンドです。

黒鉛

グラファイトの特徴:

  • データが送信されるメトリクスの形式は簡単です。
  • データをレンダリングし、チャート、ダッシュボード、グラフを作成するための包括的な API
  • 統計ライブラリと革新的なレンダリング関数の豊富なセットを提供します
  • 複数のレンダリング関数を連鎖させてターゲット クエリを構築します。

クエストDB

QuestDBは、時系列データに対してリアルタイム分析を実行できるリレーショナル列指向データベースです。 SQL およびいくつかの拡張機能と連携して、時系列データのリレーショナル モデルを作成します。 QuestDB は最初からコーディングされており、パフォーマンスを向上させる依存関係はありません。

QuestDB はリレーショナル結合と時系列結合をサポートしており、データの関連付けに役立ちます。 QuestDB を使い始める最も簡単な方法は、QuestDB を Docker コンテナ内にデプロイすることです。

QuestDB の機能:

  • ドラッグ アンド ドロップを使用してデータをインポートし、クエリを実行する対話型コンソール
  • クラウドネイティブ (AWS、Azure、GCP)、オンプレミス、または組み込みでサポートされています
  • Active Directory、高可用性、エンタープライズ セキュリティ、クラスタリングなどの機能をエンタープライズに統合します。
  • 運用分析と予測分析を使用してリアルタイムで洞察を提供します

AWS タイムストリーム

AWS がリストにないのはなぜでしょうか?

AWS Timestream は、高速でスケーラブルなサーバーレス時系列データベース サービスです。主に IoT アプリケーションに使用され、1 日に数兆件のイベントを保存し、リレーショナル データベースの 1/10 のコストで 1,000 倍の速度で保存します。

専用のクエリ エンジンを使用すると、最近のデータと保存された履歴データを同時にクエリできます。時系列データを分析して有用な洞察を見つけるための複数の組み込み関数が提供されます。

aws タイムストリーム

Amazon タイムストリームの機能:

  • 管理するサーバーやプロビジョニングするインスタンスはありません。すべてが自動的に処理されます。
  • 費用対効果が高く、取り込んだもの、保存したもの、クエリしたものに対してのみ支払います。
  • パフォーマンスを低下させることなく毎日数兆のイベントを取り込むことが可能
  • 標準 SQL、補間、平滑化機能を備えた組み込みの分析機能により、傾向、パターン、異常を特定します
  • すべてのデータは、AWS キー管理システム (KMS) と顧客管理キー (CMK) を使用して暗号化されます。

OpenTSDB

OpenTSDB は、HBase 上に作成されたスケーラブルな時系列データベースです。 1 秒あたり数百万回の書き込みで数兆のデータ ポイントを保存できます。データを元のタイムスタンプと正確な値で OpenTSDB に永久に保持できるため、データが失われることはありません。

これには、時系列デーモン (TSD) とコマンドライン ユーティリティが含まれています。時系列デーモンは、HBase にデータを保存したり、HBase からデータを取得したりする役割を果たします。 HTTP API、Telnet、または単純な組み込み GUI を使用して TSD と通信できます。さまざまなソースから OpenTSDB にデータを収集するには、flume、collectd、vacuumetrix などのツールが必要です。

opentsdb

OpenTSBD の機能:

  • メトリクスを驚異的な速度で集約、フィルタリング、ダウンサンプリングできる
  • ミリ秒の精度でデータを保存および書き込みます
  • Hadoop および HBase 上で実行され、クラスターにノードを追加することで簡単に拡張できます。
  • GUIを使用してグラフを生成します

結論

昨今のIoT/スマートデバイスの普及により、Webサイトでは1日に数百万ものイベントが発生する膨大なリアルタイムトラフィックが発生し、市場での取引が増加し、時系列データベースが登場しました。時系列データベースは、監視のために運用スタックに必須です。

上記の時系列データベースのほとんどはセルフホストで利用できるため、クラウド VM を入手して試してみて、何が機能するかを確認してください。

「 7 監視ソリューション用の強力な時系列データベース」についてわかりやすく解説!絶対に観るべきベスト2動画

【Part1】- db tech showcase 2022 講演 – PostgreSQLで時系列データベースを実現
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB – 強化された時系列データ管理・検索機能について – 2023-9-29 B-6 /9-30 A-6