aliyun-timestream は、Elastic コミュニティによって提供される時系列製品の機能に基づいて、Alibaba Cloud Elasticsearch チームによって開発されたプラグインです。このプラグインは、時系列データのストレージと使用パフォーマンスを向上させるために使用されます。 aliyun-timestream は、ドメイン固有言語 (DSL) ステートメントの代わりに Prometheus Querying Language (PromQL) ステートメントを使用して、保存されたメトリックデータをクエリします。これにより、クエリ操作が簡素化され、クエリ効率が向上します。 aliyun-timestream はストレージコストも削減します。このトピックでは、aliyun-timestream プラグインの背景情報、プラグインの使用シナリオと利点、およびプラグインで実行されたパフォーマンステストの結果について説明します。
背景情報
Elasticsearch に時系列データを保存して使用する場合、Elasticsearch で時系列シナリオ用の複雑な設定を行う必要があり、高度な技術スキルが必要です。さらに、これらのシナリオでは、書き込みパフォーマンスの低下、ストレージコストの増加、大量の時系列データの複雑なクエリ操作などの問題が発生する可能性があります。これらの問題を解決するために、Alibaba Cloud Elasticsearch チームは aliyun-timestream プラグインを開発しました。このプラグインには、次の利点があります。
時系列データモデルをサポートし、時系列インデックスの作成、変更、クエリ、および削除に使用できる API を提供し、時系列インデックスの作成時に Elasticsearch を時系列シナリオで使用するためのベストプラクティスを自動的に適用します。これにより、Elasticsearch で時系列データを管理するために必要な操作が簡素化され、操作を実行するための技術的な複雑さが軽減されます。
時系列データの書き込みパフォーマンスとクエリパフォーマンスを向上させ、時系列データの保存に必要なスペースを削減します。
Elasticsearch に保存されているデータをクエリするために PromQL ステートメントを実行でき、Prometheus および Grafana とのシームレスな統合をサポートします。これにより、時系列データのストレージと使用コストをさらに削減し、効率と使いやすさを向上させることができます。
ユースケース
aliyun-timestream プラグインは、時系列データを保存および使用する必要があるシナリオに適しています。たとえば、システムメトリックとモノのインターネット (IoT) デバイスのデータを保存およびクエリする場合に、aliyun-timestream を使用できます。
制限事項
次の表は、aliyun-timestream プラグインを使用する場合に Elasticsearch クラスターが満たす必要がある要件を示しています。
クラスターバージョンとカーネルバージョン | リージョン |
Elasticsearch クラスターのバージョンは V7.16 以降、Elasticsearch クラスターのカーネルバージョンは V1.7.0 以降である必要があります。 | 中国 (深セン)、中国 (成都)、中国 (広州)、中国 (ウランチャブ)、中国北部 2 金融、中国 (香港) |
Elasticsearch クラスターのバージョンは V7.10 以降、Elasticsearch クラスターのカーネルバージョンは V1.8.0 以降である必要があります。 | 中国 (北京)、中国 (上海)、中国 (杭州)、中国 (深セン)、中国 (張家口) |
サポートされているリージョンは変更される場合があります。Elasticsearch コンソールでサポートされているリージョンを表示できます。
利点
データ管理の効率向上: aliyun-timestream プラグインは、時系列データモデルと、時系列インデックスの作成、変更、クエリ、および削除に使用できるサポートされている API に基づいて、時系列シナリオで Elasticsearch を使用するためのベストプラクティスのテンプレートと統合されています。これにより、Elasticsearch で時系列データを管理するために必要な操作が大幅に簡素化され、操作を実行するための技術的な複雑さが軽減されます。
クエリパフォーマンスの向上: aliyun-timestream プラグインを使用すると、PromQL ステートメントを実行して Elasticsearch に保存されているデータをクエリでき、Prometheus および Grafana とシームレスに統合できます。 aliyun-timestream プラグインは、データストリームのダウンサンプリングクエリと時間ベースのパーティション分割をサポートしています。
ストレージコストの最適化: aliyun-timestream プラグインは、データ圧縮とメタデータストレージを最適化します。これにより、時系列インデックスの保存に必要なスペースは、オープンソースの Elasticsearch の共通インデックスの保存に必要なスペースと比較して 80% 以上削減されます。
読み取り/書き込みパフォーマンスの向上: aliyun-timestream プラグインは、オープンソースの Elasticsearch の共通インデックスと比較して、時系列インデックスの書き込み TPS を約 40% 向上させます。さらに、aliyun-timestream プラグインは、オープンソースの Elasticsearch と比較して、時系列データのクエリと分析のパフォーマンスを 5 倍向上させます。
次の表は、aliyun-timestream プラグインが使用されている時系列シナリオと、aliyun-timestream プラグインが使用されていない時系列シナリオの比較結果を示しています。比較は、データモデル、ストレージパフォーマンス、クエリパフォーマンスの各ディメンションから実行されます。
ディメンション | aliyun-timestream 使用済み | aliyun-timestream 未使用 |
データモデル | 時系列データモデルがサポートされています。 | 多数の設定を行うか、メトリックに関連する多数の操作を実行する必要があります。たとえば、時系列の ID を指定するために使用されるフィールドを生成するための関連設定、ID とその他の時間関連の設定を使用してインデックスをソートする、または ID を使用してシャードルーティングを実行するための関連設定を行う必要があります。 |
ストレージ | 時系列インデックスの作成、変更、クエリ、および削除に使用できる API が提供されます。時系列インデックスを作成すると、システムは時系列シナリオで Elasticsearch を使用するためのベストプラクティスを自動的に適用します。これにより、データ圧縮率が向上し、ストレージコストが大幅に削減されます。 | リレーショナルデータモデルを使用して時系列データを保存する場合、保存されるデータの量が過剰に大きくなるという問題が発生する可能性があります。オープンソースの Elasticsearch は、リレーショナルデータモデルがデータを保存するために必要なスペースは、時系列データモデルがデータを保存するために必要なスペースの 25 倍であることを証明しています。 |
クエリステートメント | aliyun-timestream プラグインを使用すると、PromQL ステートメントを実行して時系列データをクエリでき、Prometheus および Grafana とシームレスに統合できます。 | 複雑な DSL ステートメントを実行して時系列データをクエリする必要があります。 |