## Memo ## Memo with LLM ### 論文情報 - **タイトル**: Serverless Elasticsearch: the Architecture Transformation from Stateful to Stateless - **著者と所属**: Iraklis Psaroudakis, Pooya Salehi, Jason Bryan, Francisco Fernández Castaño, Brendan Cully, Ankita Kumar, Henning Andersen, Thomas Repantis (Elastic) - **カンファレンス/ジャーナル名**: ACM Symposium on Cloud Computing (SoCC '25) - **発表年**: 2025年 ### 論文概要 Elasticsearchの従来のステートフルなアーキテクチャ(計算リソースとローカルストレージの密結合)を、クラウドネイティブなステートレスアーキテクチャへと根本的に再設計した研究。ストレージを耐久性の高いクラウドオブジェクトストレージ(S3等)にオフロードすることで、計算とストレージを分離し、インデキシングと検索の独立したスケーリングと実質的に無制限のデータ保持を実現している。 ### 詳細解説 #### 問題設定 従来のElasticsearch(Stateful ES)は、データノードがローカルディスクを持ち、計算リソースとストレージが結合されていた。このため、以下の課題があった: - **データ層の複雑さ**: コストとパフォーマンスのバランスをとるためにHot/Warm/Cold/Frozenといった複雑なティア管理が必要。 - **スケーリングの制約**: ノード追加時のデータ再配置(Rebalancing)に時間がかかり、弾力的なスケーリングが困難。 - **可用性コスト**: 高可用性を実現するためにノード間でのデータレプリケーションが必要であり、計算・ストレージコストが重複する。 #### 提案手法 Elasticsearchを「ステートレス」化するための新しいアーキテクチャを提案。 - **Storage/Compute Separation**: インデックスデータ、トランザクションログ(Translog)、クラスタ状態をすべてオブジェクトストレージに集約。ローカルディスクは一時的なキャッシュとしてのみ使用。 - **Two-Tier Architecture**: 役割を「Indexing Tier(書き込み)」と「Search Tier(読み取り)」の2つに単純化。各層は独立してオートスケール可能。 - **Batching & Commits**: - **Lucene Index Commits**: Luceneのインデックスファイルをカスタムバッチ形式でオブジェクトストレージに書き込むことで、API呼び出し回数を減らし、コストを最大100倍削減。 - **Translog Batching**: 書き込みの永続性を担保するトランザクションログもバッチ化してオフロードし、コストを最大30倍削減。 - **Orchestration**: Kubernetes上で動作し、カスタムのオートスケーリングコントローラがワークロードに応じてリソースを動的に調整。 #### 新規性 - **ステートフルからステートレスへの完全な変換**: 既存の大規模分散検索エンジンを、互換性を保ちつつサーバーレスアーキテクチャへと移行させた実証的アプローチ。 - **オブジェクトストレージのプライマリ化**: オブジェクトストレージを単なるバックアップではなく、書き込み直後の読み取り(Read-after-write)セマンティクスを維持したプライマリストレージとして活用。 #### 実験設定 - **比較対象**: 同等の計算リソースを持つ従来のStateful Elasticsearch。 - **評価指標**: インデキシングスループット、検索レイテンシ、スケーラビリティ、コスト。 #### 実験結果 - **インデキシング性能**: 同等のハードウェア構成において、Stateful ESの2倍のスループットを達成。これは、レプリケーションによるオーバーヘッドがなくなり、オブジェクトストレージの耐久性を直接利用できるため。 - **スケーラビリティ**: インジェクション負荷の増加に対し、Indexing Tierが線形にスケールすることを確認。 - **コスト効率**: オブジェクトストレージの活用とバッチ化技術により、高い耐久性を維持しつつ運用コストを大幅に削減。 #### 強み (Strengths) - **運用の簡素化**: 複雑なティア管理やレプリケーション設定が不要になり、管理者の負担が大幅に軽減。 - **高い弾力性**: データの移動を伴わずに計算ノードを即座に追加・削除できるため、スパイク的な負荷への対応が容易。 - **経済性**: 従量課金(Pay-as-you-go)モデルに適した構造であり、低頻度アクセスの大容量データを安価に保持可能。 #### 弱点・課題 (Weaknesses / Limitations) - **オブジェクトストレージのレイテンシ**: S3等のレイテンシが検索パフォーマンスに影響を与える可能性があるため、ローカルキャッシュの効率的な管理が不可欠。 - **メタデータ管理**: クラスタ状態をオブジェクトストレージで管理する際の整合性とパフォーマンスのバランス。 ## Abstract Elasticsearchの従来のステートフルなアーキテクチャはローカルディスクに依存し、コンピューティングとストレージが結合されています。これにより、管理者はコスト、パフォーマンス、高可用性のバランスをとるために、複雑なデータ層(hot、warm、cold、frozen)を管理する必要があります。本論文では、コンピューティングとストレージを分離した、Elasticsearchの新しいサーバーレスアーキテクチャについて説明します。我々のステートレス設計は、インデックスデータ、トランザクションログ(translog)、およびクラスタ状態をディスクから、耐久性と可用性の高いクラウドオブジェクトストレージにオフロードします。これにより、インデキシング層と検索層の独立した弾力的なスケーリングが可能になり、従量課金モデルで実質的に無制限のデータをサポートします。同等のコンピューティングハードウェアにおいて、レプリケーションの代わりに耐久性のためにオブジェクトストレージを使用することで、Serverless ESがステートフルESの2倍のインデキシングスループットを達成できることを示します。また、インデックスデータをカスタムバッチコミット形式でオブジェクトストレージにラップすることでアップロードコストを最大100倍削減する方法や、translogのアップロードをバッチ化することでコストを最大30倍削減する方法についても説明します。