2.8. Ceph ObjectStore
ObjectStore
は、OSD の raw ブロックデバイスに低レベルのインターフェイスを提供します。クライアントがデータの読み取りまたは書き込みを行うと、ObjectStore
インターフェイスと対話します。Ceph 書き込み操作は、基本的に ACID トランザクションです。つまり、原子性、一貫性、分離、および 耐久性 を提供します。ObjectStore
は、トランザクション
が 原子性 を提供するために、オールオアナッシングになるようにします。ObjectStore
は、オブジェクトセマンティクスも処理します。ストレージクラスターに格納されるオブジェクトには、一意の識別子、オブジェクトデータ、およびメタデータがあります。したがって、ObjectStore
は Ceph オブジェクトセマンティクスが正しいことを確認して 整合性
を提供します。ObjectStore
は、書き込み操作で Sequencer
を呼び出して ACID トランザクションの 分離 部分も提供し、Ceph 書き込み操作が順番に実行されるようにします。対照的に、OSD のレプリケーションまたはイレイジャーコーディング機能は、ACID トランザクションの 耐久性 コンポーネントを提供します。ObjectStore
は、ストレージメディアへの低レベルのインターフェイスであるため、パフォーマンスの統計も提供します。
Ceph は、データを保管するための具体的な方法を実装します。
- BlueStore: オブジェクトデータを保存するために raw ブロックデバイスを使用した実稼働クラスの実装。
- Memstore: RAM で読み取り/書き込み操作を直接テストするための開発者の実装。
- K/V Store: Ceph がキー/値データベースを使用する内部実装。
管理者は通常 BlueStore
にのみ対応するため、以下のセクションではこれらの実装についてのみ詳しく説明します。