エンジニアリング

S3を直接検索できる、新登場のFrozenティア

7.12リリースのテクニカルプレビューにFrozenティアが登場しました。Frozenティアを導入すると、ストレージと演算処理を完全に切り離し、AWS S3やMicrosoft Azure Storage、Google Cloud Storageといったオブジェクトストアのデータを直接検索することができます。Elasticのデータティアに関する取り組みにおいて、Frozenティアは次の大きなマイルストーンとなります。大量のデータを長期にわたり、コストを大きく引き下げて格納することで、組織のデータリーチが劇的に拡張します。なおかつ、Frozenティアで格納したデータは完全にアクティブな状態で保たれ、検索が可能です。 

Elasticでは従来から、データライフサイクル管理のために複数のデータティアをサポートしてきました。その筆頭は高速なHotティアと、低コスト・低パフォーマンスなWarmティアです。この2つはいずれもローカルのハードウェアにプライマリデータとリダンダントコピーを格納します。さらに、Elasticが先日新たに導入したのがColdティアです。Coldティアではリダンダントコピーをローカルに格納する必要がなく、同容量のハードウェアに、Warmティアと比べて最大2倍のデータを格納できます。パフォーマンスの最適化のために、Coldティアでもプライマリデータはローカルに置く必要がありますが、Coldティアのインデックスは冗長性の目的でオブジェクトストアに格納したスナップショットに支えられています。 

Price_Performance.PNG

これらの既存のティアと比べると、Frozenティアはローカルに一切データを格納する必要がないという点で大きく進化しています。Frozenティアでは、検索可能スナップショットを用いてオブジェクトストアに格納されたデータを直接検索します。検索のためにデータを事前にリハイドレートする必要はありません。ローカルのキャッシュは、反復検索のパフォーマンスを最適化するために、最近クエリされたデータを格納します。この結果、ストレージコストは劇的に下がります。HotまたはWarmティアに比べて最大90%、Coldティアに比べて最大80%引き下げることが可能です。今回、HotからWarmへ、さらにCold、Frozenへ、データのライフサイクルが完全に自動化されました。またストレージコストを可能な限り最小に抑えつつ、必要なデータへのアクセスと検索パフォーマンスを確保します。

重要データの格納問題に終止符

用途がオブザーバビリティか、セキュリティか、あるいはエンタープライズサーチかを問わず、組織のITデータは指数関数的に増大し続ける可能性があります。何テラバイトものデータを毎日インジェスト、検索する組織は取り立ててめずらしくありません。そうしたデータは日々の円滑な業務の遂行に不可欠であるだけでなく、履歴を参照するためにも重要です。履歴を際限なく遡ってセキュリティ調査を行う、あるいは数年分のAPMデータを絞り込んで傾向を特定する、各種規制準拠のための保管データを稀に検索するといった運用はいずれも、手元にデータを保持し、アクセスできる状態を長期間保つことではじめて可能になる重要なユースケースです。とはいえ、常に簡単に検索できる状態でデータを格納するための適切なツールやテクノロジーがないままこれらのユースケースを実行すれば、即時に膨大な費用が発生する可能性があります。

Frozenティアは、このために開発されました。Frozenティアを導入すると上述のすべてのユースケースを実現でき、数年分のデータを、S3をはじめとするオブジェクトストアにアーカイブする場合と同様のコストでリーズナブルに格納できます。Frozenティアが他のティアと大きく異なるのは、データが完全に検索可能な形でElasticsearchに維持され、またどのようなKibanaのダッシュボードも、Frozenティアからデータをプルするだけで正常に動作するという点です。つまり、“アーカイブから手動でデータを見つけてプルし、復元して、やっと検索に使えるようになる”というプロセスは完全に過去のものになります。同様に、“どのデータを保持し、どれを削除するか”で葛藤するトレードオフも過去の遺物になります。Frozenティアなら、あらゆるデータを手軽に、シームレスに扱うことが可能です。

動作の仕組み

Frozenティアでは検索可能スナップショットを活用し、演算処理をストレージから分離します。インデックスライフサイクル管理(ILM)ポリシーに基づいてWarmまたはColdからFrozenティアへのデータ移行が実行される際、ローカルノードのインデックスはS3などの、ユーザー指定のオブジェクトストアに移行します。Coldティアではオブジェクトストアに複数のインデックスを移行しますが、ローカルノードに1つ、完全なデータの複製を保持することで高速かつ一貫した検索を実現します。Frozenティアの場合はそれと対照に、ローカルに複製が作成されず、オブジェクトストアのデータを直接検索します。反復検索を高速化するために、直近でクエリされたデータのローカルキャッシュが構築されますが、Frozenティアに格納される完全なデータサイズに比べてキャッシュのサイズはごくわずかです。

典型的なローカルのキャッシュサイズは10%程度であり、Frozenティアデータのサイズが数百テラバイトに上る場合も、ローカルティアノードはわずかな数で済みます。さらに具体的に比較してみましょう。たとえば64 GBのRAMの典型的なWarmティアノードで10 TBのデータを扱っているとき、Coldティアに移行すると約2倍の20 TB扱うことができますが、Frozenティアになると、扱うことのできるデータ量は一気に100 TBにまで増大します。RAM対ストレージ比率に換算すると1:1500になりますが、これは控えめに見積もった数字です。

コストvsパフォーマンス

さて、Frozenティアでトレードオフとなる部分に言及しておきましょう。お気づきかもしれませんが、パフォーマンスです。これは、Elasticが多様なデータティアを提供する理由でもあります。Hot、Warm、Cold、Frozenティアにそれぞれどの程度の期間、どれほどの量のデータを維持するか、組織にとって最適なILMポリシーをフレキシブルに定義することができます。Frozenティアに格納されるデータは、たまにしか検索されません。したがって、他のデータティアのように高速なパフォーマンスは必要ありません。

なお、Elasticは最近、比較的低速に実行される検索で可能なユーザーエクスペリエンスの上限を大幅に引き上げることに成功しました。Elasticが開発したElasticsearchの非同期検索機能は、ダッシュボードのレンダリングをバックグラウンドで実行し、時間をおいて取得することでKibanaに自然なエクスペリエンスをもたらします。さらにElasticは、低速で実行されるクエリのスピードを上昇させる、クエリ効率向上施策を複数導入しています。具体的には、事前フィルタリングに一致しないインデックスをスキップする機能や、可能な場合に検索を途中で終了する機能、block-max WANDを使うテキスト検索機能などがあります。 

Elasticsearchではデフォルトですべてのデータがインデックスされています。Frozenティアがとりわけ効率的なのは、この簡潔なインデックスストラクチャーを活用してデータ自体をスキャンするプロセスを回避しているためで、これにより大規模なデータセットでも高速に結果を返すことができます。また、ElasticはLuceneに関する豊かな知見を活かした工夫を検索可能スナップショットに複数組み込んでいます。その1つが、クエリの回答に本当に必要なインデックスのサブセットだけをプルダウンするという挙動です。 

このような広範な最適化のおかげで、Frozenティアでは可能な限り最良かつ高速なエクスペリエンスで検索を実行することが可能になっています。併せて、今回刷新されたILM UIから、ILMポリシーをはるかに簡単に設定できるようになりました。このUIには、Elasticが提供する全データティアをすばやく、効果的に扱うために必要なすべてのツールが揃っています。

ILM_policy_summary.gif

パブリックストレージとプライベートストレージを、好みで使い分ける

Elasticは“可能な限り最高のフレキシビリティを、最小限の分断で提供する”というアプローチを採用しています。従来のAWS S3、Azure Cloud Storage、Google Cloud Storage、MinIOへのオフィシャルサポートに加えて、Elasticは検索可能スナップショットやColdティア、Frozenティアを扱うための、S3互換型オブジェクトストアのテスト・検証用レポジトリテストキットをリリースしました。

このテストキットは手軽な消耗型APIとして提供され、S3互換の独自のオブジェクトストアで一連のテストをすばやく実行することができます。テストにパスしたオブジェクトストアは、スナップショットの格納や検索に使用できるほか、ColdティアおよびFrozenティアのオブジェクトストアに使うことができます。本キットは検証用であり、テストをパスしたS3互換のオブジェクトストレージをElasticがオフィシャルにサポートするものではありません。この点に十分ご注意ください。問題が見つかった場合、Elasticが修正するには、サポート対象のS3デバイスでその問題が再現可能であることが条件となります。

タイムライン

Frozenティアは、Elastic 7.12でテクニカルプレビューに位置付けられています。Hot、Warm、Coldティアは既に一般公開に移行しており、またColdティアおよびFrozenティアをサポートするベースとして、検索可能スナップショット機能も一般公開されています。Frozenティアは7.12のElastic Cloudでも提供されており、また一層シンプルで、設定せず使えるスライダーもリリースの予定です。 

TIme_Line.PNG

今すぐ使いはじめる

Frozenティアは、Elastic Cloudでクラスターを立ち上げて使いはじめることも、Elastic Stackの最新バージョンをインストールして使いはじめることもできます。すでにElasticsearchを導入済みの方は、お使いのクラスターを7.12にアップグレードするだけで新機能をお試しいただくことができます。Elastic Cloudで試用される場合は、Elastic Cloudドキュメントで詳細をご覧いただくことができます。現在準備中のFrozenスライダーがリリースされた後は、ドキュメントに記載の手順を実行していただく必要はなくなります。Frozenティアについてさらに詳細な情報は、検索スナップショットに関するブログ記事のほか、検索スナップショットプロダクトドキュメントデータティアプロダクトドキュメントでも公開しています。


本ドキュメントに記述されているあらゆる機能ないし性能のリリースおよびタイミングは、Elasticの単独裁量に委ねられます。現時点で提供されていないあらゆる機能ないし性能は、すみやかに提供されない可能性、または一切の提供が行われない可能性があります。