2.9. Ceph ObjectStore
ObjectStore
는 OSD의 원시 블록 장치에 하위 수준 인터페이스를 제공합니다. 클라이언트가 데이터를 읽거나 쓸 때 ObjectStore
인터페이스와 상호 작용합니다. Ceph 쓰기 작업은 기본적으로 ACID 트랜잭션입니다. 즉, Atomicity,Consistency,Isolation 및 Durability 을 제공합니다. ObjectStore
는 트랜잭션
이 Atomicity 를 제공하기 위해 all-or-nothing이라고 합니다. ObjectStore
는 개체의 의미도 처리합니다. 스토리지 클러스터에 저장된 오브젝트에는 고유한 식별자, 오브젝트 데이터 및 메타데이터가 있습니다. 따라서 ObjectStore
는 Ceph 개체의 의미가 올바른지 확인하여 일관성
을 제공합니다. ObjectStore
는 또한 쓰기 작업에서 Sequencer
를 호출하여 Ceph 쓰기 작업이 순차적으로 발생되도록 ACID 트랜잭션의 격리 부분을 제공합니다. 반면 OSD 복제 또는 삭제 코딩 기능은 ACID 트랜잭션의 내구성 구성 요소를 제공합니다. ObjectStore
는 스토리지 미디어에 대한 하위 수준 인터페이스이므로 성능 통계도 제공합니다.
Ceph는 데이터 저장을 위한 몇 가지 구체적인 방법을 구현합니다.
- bluestore: 오브젝트 데이터를 저장하는 원시 블록 장치를 사용하는 프로덕션 등급 구현입니다.
- Memstore: RAM에서 직접 읽기/쓰기 작업을 테스트하는 개발자 구현.
- K/V 스토어: Ceph에서 키/값 데이터베이스를 사용하기 위한 내부 구현입니다.
관리자는 일반적으로 BlueStore
만 주소이므로 다음 섹션에서는 이러한 구현만 더 자세히 설명합니다.