データ管理
Elasticsearchに保存するデータは一般的に2つのカテゴリのいずれかに分類されます:
- コンテンツ:検索したいアイテムのコレクション、例えば製品カタログ
- 時系列データ:ログエントリなど、継続的に生成されるタイムスタンプ付きデータのストリーム
コンテンツは頻繁に更新される可能性がありますが、コンテンツの価値は時間とともに比較的一定です。アイテムがどれだけ古くても迅速に取得できるようにしたいです。
時系列データは時間とともに蓄積されるため、データの価値と保存コストのバランスを取るための戦略が必要です。データが古くなるにつれて、重要性が低下し、アクセス頻度も減少する傾向があるため、より安価で性能の低いハードウェアに移動できます。最も古いデータにとって重要なのは、データにアクセスできることです。クエリの完了に時間がかかっても問題ありません。
データ管理を支援するために、Elasticsearchは次の機能を提供します:
- インデックスライフサイクル管理 (ILM) は、インデックスとデータストリームの両方を管理し、完全にカスタマイズ可能です。
- データストリームライフサイクル は、データストリームの組み込みライフサイクルで、最も一般的なライフサイクル管理のニーズに対応します。
組み込みのデータストリームライフサイクルは技術プレビュー中であり、将来のリリースで変更または削除される可能性があります。Elasticは問題を修正するために取り組みますが、この機能は公式GA機能のサポートSLAの対象ではありません。
ILMはインデックスとデータストリームの両方を管理するために使用でき、次のことを可能にします:
- データの保持期間を定義します。保持期間は、データがElasticsearchに保存される最小の時間です。この期間を超える古いデータはElasticsearchによって削除される可能性があります。
- 異なる性能特性を持つ複数のティアのデータノードを定義します。
- パフォーマンスニーズと保持ポリシーに応じて、インデックスをデータティア間で自動的に移行します。
- リモートリポジトリに保存された検索可能なスナップショットを活用して、古いインデックスの耐障害性を提供し、運用コストを削減し、検索性能を維持します。
- 性能の低いハードウェアに保存されたデータの非同期検索を実行します。
データストリームライフサイクルは機能が少ないですが、シンプルさに焦点を当てているため、次のことを簡単に行えます:
- データの保持期間を定義します。保持期間は、データがElasticsearchに保存される最小の時間です。この期間を超える古いデータは、後でElasticsearchによって削除される可能性があります。
- バックグラウンド操作を実行してデータストリームのパフォーマンスを向上させ、データストリームの保存方法を最適化します。