OpenStore ストレージエンジンは、Alibaba Cloud Elasticsearch チームがログ分析や検索などのユースケース向けに開発した、弾力的で高性能かつコスト効率の高いストレージエンジンです。このトピックでは、OpenStore ストレージエンジンのアーキテクチャとユースケースについて説明します。
エンジンのアーキテクチャ

このアーキテクチャは階層化ストレージ設計に基づいており、上位コンポーネントに統一された高性能なファイルシステムサービスを提供します:
プライマリシャード/レプリカシャード: OpenStore アーキテクチャでは、プライマリシャードがインデックスを構築し、生成されたセグメントファイルを共有ストレージにアップロードします。レプリカシャードは独立してインデックスを構築せず、代わりに共有ストレージから直接データを同期します。
NameNode: OpenStore の分散メタデータ管理センターです。クラスターのトポロジーやグローバル名前空間などの分散メタデータを管理し、データレプリケーションなどの操作のタスクスケジューリングを提供して、クラスター全体の一貫性を確保します。
Native Metadata Manager (NMM): ローカルメタデータ管理センターです。ファイル長、更新時刻、永続化ステータスなどのローカルファイルのメタデータを管理します。また、ファイルのロードや永続化などのアトミック操作のために、基盤となるファイルシステム (UFS) へのアクセスも提供します。
Shared Data Service: 大容量の共有ストレージを提供するリモートサービスです。
メリット
ストレージとコンピューティングの分離: OpenStore ストレージエンジンの中心的な設計原則です。コンピューティングリソース (Elasticsearch ノードなど) とストレージリソース (リモート共有ストレージなど) は、個別にスケールできます。コンピューティング需要が増加した場合、データを移行することなく迅速にノードを追加できます。ストレージ需要が増加した場合、リモート共有ストレージの大規模なスケーラビリティを活用できます。このデカップリングにより、リソースを個別に弾力的にスケールさせることが可能になります。
データ整合性: Raft ベースのハイブリッドプロトコルにより、ローカルキャッシュとリモート共有ストレージ間のデータ整合性が確保され、アプリケーションに統一された信頼性の高いデータビューが提供されます。
使いやすさ: 完全に自動化されたインデックスライフサイクル管理。シンプルなインデックスライフサイクルポリシーを設定するだけで、データ階層化から OpenStore ストレージへのデータ移行まで、エンジンがプロセス全体を処理します。
高可用性: ストレージとコンピューティングの分離アーキテクチャにより、追加のストレージコストなしで複数のレプリカが単一のデータコピーを共有できるため、高可用性が実現します。基盤となるサービスは、最大 99.9999999999% (12 個の 9) のデータ耐久性を提供します。
ストレージタイプとユースケース
ストレージタイプ | |
アクセスレイテンシ (ローカルキャッシュヒット) | 0.2 ms |
アクセスレイテンシ (ローカルキャッシュミス) | 50 ms~400 ms |
アクセススループット (ローカルキャッシュヒット) | 1 GB/s |
アクセススループット (ローカルキャッシュミス) | 750 MB/s |
ユースケース | 監視ログ、履歴注文、アーカイブデータなど、アクセス頻度の低いデータ |
記載されているアクセスレイテンシの値はストレージのみを指し、エンドツーエンドレイテンシは含まれません。