2.8. 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 트랜잭션의 Durability 구성 요소를 제공합니다. ObjectStore
는 스토리지 미디어에 대한 하위 수준 인터페이스이므로 성능 통계도 제공합니다.
Ceph는 데이터를 저장하기 위한 몇 가지 구체적인 방법을 구현합니다.
- BlueStore: 오브젝트 데이터를 저장하기 위해 원시 블록 장치를 사용하는 프로덕션 등급 구현입니다.
- Memstore: RAM에서 직접 읽기/쓰기 작업을 테스트하기 위한 개발자 구현입니다.
- K/V Store: Ceph가 키/값 데이터베이스를 사용하기 위한 내부 구현입니다.
관리자는 일반적으로 BlueStore
만 주소이므로 다음 섹션에서는 이러한 구현을 보다 자세히 설명합니다.