oceanbase

Vector DatabasesDevOpsC++

★ 10,270주당 +11조회 6

무엇인가

OceanBase Database는 안트 그룹이 전부 자체 개발한 분산 관계형 데이터베이스다. 단일 서버 클러스터 위에서 트랜잭션 처리와 분석 질의를 함께 감당하는 것을 목표로 삼는다. 특정 하드웨어 아키텍처에 의존하지 않고, Apache License 2.0으로 공개된 C++ 코드베이스다.

어떻게 동작하나

복제와 합의는 Paxos 프로토콜 위에 세워져 있다. 여러 대의 범용 서버를 하나의 클러스터로 묶고 데이터를 분산 배치해 고가용성과 선형 확장성을 얻는다. 배포 경로는 세 갈래다. all-in-one 방식의 단독 배포, dockerhub·quay.io·ghcr.io에서 받는 Docker 이미지, Kubernetes의 ob-operator를 통한 클러스터 배포다. observer는 소스에서 직접 컴파일해 수동으로 올릴 수도 있다.

무엇과 다른가

MySQL 호환을 내세우므로 기존 MySQL 애플리케이션을 그대로 옮기는 경로가 열려 있다. 단일 노드 RDBMS가 서버 한 대의 하드웨어를 키워 버티는 구조라면, 이쪽은 노드를 더해 처리량을 늘리는 구조다. 분석 전용 시스템을 따로 두지 않고 HTAP를 추가 비용 없이 처리하며, 스토리지 비용을 70~90% 줄인다고 명시한다.

어떻게 쓰나

단독 인스턴스를 띄운 뒤에는 MySQL 클라이언트로 접속해 쓰는 흐름이다. 클러스터 운영은 ob-operator가 쿠버네티스 위에서 배포와 관리를 맡는다. 직접 빌드하려면 개발자 문서를 따라 observer를 컴파일하고 배포한다.

전제와 한계

all-in-one 배포는 Linux 전용이다. Docker 이미지를 받을 때 dockerhub에서 문제가 생기면 quay.io나 ghcr.io를 대안으로 쓴다. 커뮤니티 채널 가운데 중국어 사용자 포럼과 위챗 그룹은 중국어 사용자만을 대상으로 한다. 규모 상한은 단일 클러스터 기준 1,500 노드, PB 데이터, 조 단위 행이다.

유사 도구