OceanBase is a free, open source databases project written in C++ and released under Apache-2.0. It has 10,280 GitHub stars, 1,919 forks and 599 open issues, and was last pushed 22 hours ago. On this registry it ranks #50 of 81 tracked projects in Databases, with 5 head-to-head comparisons available. It gained 10 stars over the last 6 tracked days.

What is OceanBase?

What it is

OceanBase is an open-source distributed relational database written in C++ and licensed under Apache-2.0. It is developed by Ant Group and built on a common server cluster, using the Paxos protocol and a distributed structure to provide high availability and linear scalability. The project belongs to the MySQL-compatible distributed database ecosystem, and its README presents it as a unified engine for demanding workloads.

The concrete problem it solves is the need to run large transactional and analytical workloads without depending on specific hardware architectures or separate analytics systems. OceanBase claims transparent scalability to 1,500 nodes, petabyte-scale data, and a trillion rows in one cluster, while supporting HTAP so real-time analytics can run without additional cost. It also targets continuous availability with RPO equal to zero and RTO under eight seconds.

Key capabilities

  • OceanBase provides MySQL compatibility so databases can be migrated from MySQL.
  • It supports HTAP, and its repository topics include analytics, enabling transactional and analytical workloads on one distributed engine.
  • The README claims transparent scalability with 1,500 nodes, PB data, and a trillion rows of records in one cluster.
  • The README reports benchmark performance of 707 million tmpC for TPC-C and 15.26 million QphH for TPC-H at 30,000GB.
  • The README states cost efficiency that saves 70%–90% of storage costs.
  • It provides continuous availability features with RPO = 0 for zero data loss and RTO < 8s for recovery time.
  • The repository topics include full-text search support.

Who uses it and how

  • Financial services, telecom, retail, and internet customers use OceanBase to upgrade their database systems, according to the case-study section.
  • Teams migrating from MySQL use it as a compatible distributed target for transactional applications.
  • Evaluators run a mini standalone instance in Docker and connect with obclient to the root user of the sys tenant.
  • Operators deploy and manage instances in Kubernetes clusters by using ob-operator.
  • Developers compile and deploy a manually compiled observer from the developer documentation.

Getting started

The README describes a Linux-only all-in-one package that can be installed with a shell command and started with obd demo, Docker images named oceanbase/oceanbase-ce on Docker Hub, quay.io, and ghcr.io, and Kubernetes deployment through ob-operator.

When to use it — and when not to

Use OceanBase when a self-hosted distributed relational database needs MySQL compatibility, HTAP analytics, and high availability on common server clusters, but the README does not list specific paid products it replaces. Self-hosters must operate the database and its distributed cluster themselves, and the quick-start paths include a Linux-only all-in-one demo, Docker mini instances, and Kubernetes with ob-operator. The repository metadata shows 0 contributors, 599 open issues, and a 0-year age, so teams should verify operational maturity before adopting it for critical workloads.

project readme (upstream, from github) — read inline

English doc Chinese doc last commit stars building status license

Support Stack Overflow

English | 中文版

OceanBase Database is a distributed relational database. It is developed entirely by Ant Group. The OceanBase Database is built on a common server cluster. Based on the Paxos protocol and its distributed structure, the OceanBase Database provides high availability and linear scalability. The OceanBase Database is not dependent on specific hardware architectures.

Key features

  • Transparent Scalability: 1,500 nodes, PB data and a trillion rows of records in one cluster.
  • Ultra-fast Performance: TPC-C 707 million tmpC and TPC-H 15.26 million QphH @30000GB.
  • Cost Efficiency: saves 70%–90% of storage costs.
  • Real-time Analytics: supports HTAP without additional cost.
  • Continuous Availability: RPO = 0(zero data loss) and RTO < 8s(recovery time)
  • MySQL Compatible: easily migrated from MySQL database.

See also key features for more details.

Quick start

See also Quick experience or Quick Start (Simplified Chinese) for more details.

🔥 Start with all-in-one

You can quickly deploy a stand-alone OceanBase Database to experience with the following commands:

Note: Linux Only

# download and install all-in-one package (internet connection is required)
bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/installer.sh)"
source ~/.oceanbase-all-in-one/bin/env.sh

# quickly deploy OceanBase database
obd demo

🐳 Start with docker

Note: We provide images on dockerhub, quay.io and ghcr.io. If you have problems pulling images from dockerhub, please try the other two registries.

  1. Start an OceanBase Database instance:

    # Deploy a mini standalone instance.
    docker run -p 2881:2881 --name oceanbase-ce -e MODE=mini -d oceanbase/oceanbase-ce
    
    # Deploy a mini standalone instance using image from quay.io.
    # docker run -p 2881:2881 --name oceanbase-ce -e MODE=mini -d quay.io/oceanbase/oceanbase-ce
    
    # Deploy a mini standalone instance using image from ghcr.io.
    # docker run -p 2881:2881 --name oceanbase-ce -e MODE=mini -d ghcr.io/oceanbase/oceanbase-ce
    
  2. Connect to the OceanBase Database instance:

    docker exec -it oceanbase-ce obclient -h127.0.0.1 -P2881 -uroot # Connect to the root user of the sys tenant.
    

See also Docker Readme for more details.

☸️ Start with Kubernetes

You can deploy and manage OceanBase Database instance in kubernetes cluster with ob-operator quickly. Refer to the document Quick Start for ob-operator to see details.

👨‍💻 Start developing

See OceanBase Developer Document to learn how to compile and deploy a manually compiled observer.

Roadmap

For future plans, see Product Iteration Progress. See also OceanBase Roadmap for more details.

Case study

OceanBase has been serving more than 2000 customers and upgraded their database from different industries, including Financial Services, Telecom, Retail, Internet, and more.

See also success stories and Who is using OceanBase for more details.

System architecture

Introduction to system architecture

Contributing

Contributions are highly appreciated. Read the development guide to get started.

License

OceanBase Database is licensed under the Apache License, Version 2.0. See the LICENSE file for more info.

Community

Join the OceanBase community via:

  • Discord: Best for: asking questions, sharing feedback, getting the latest news, and connecting with other OceanBase users.
  • GitHub Issues: Best for: addressing bugs encountered while using OceanBase, as well as submitting feature proposals.
  • Chinese User Forum: Only for Chinese users, best for: asking questions, sharing feedback, getting the latest news, and connecting with other OceanBase users.
  • WeChat Group (Add the assistant with WeChat ID: OBCE666): Only for Chinese users, best for: getting the latest news and connecting with other OceanBase users.

Frequently asked questions

Is OceanBase free to use?

OceanBase is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does OceanBase do?

High-performance distributed database for all workloads

What is OceanBase written in?

OceanBase is primarily written in C++. Its source is publicly available at https://github.com/oceanbase/oceanbase, and it has 10,280 GitHub stars.