To provide more cost-effective database services in a multi-cloud environment, OceanBase Database implements a shared storage (Shared-Storage, SS) architecture based on a general-purpose object storage system. This architecture provides cloud-native database services, reduces database usage costs, and improves performance and usability.
The SS mode adopts a storage-compute separation architecture based on the SN mode. It includes one read-write node (RW) that provides read and write services and zero or more read-only nodes (RO) that provide read services. This allows for independent scaling of compute nodes, enhancing elasticity.
The SS mode also includes an upload node (SSWriter) that generates and uploads incremental data and baseline data to the object storage system. All compute nodes share the data stored in the object storage system and automatically identify data hotness. Only hot data is cached locally on each compute node, optimizing low latency and high throughput.
The SS mode further separates logs from compute operations. Database log services are provided by a distributed storage system that is optimized for log access characteristics, ensuring high performance, high availability, and strong consistency. As shown in the diagram, this is the LogService.
In this architecture, logs are synchronized between log service replicas through a consensus protocol to ensure data persistence. Compute nodes do not need to deploy multiple replicas, significantly reducing costs. Additionally, compute nodes can quickly add read-only nodes (RO) without relying on logs, further enhancing elasticity.
The RW node achieves high availability by directly writing logs to multiple replicas of the log service using the Paxos protocol. The RO node reads logs from the most recent log service replica and locally replays hot data, further optimizing low latency and high throughput.
