/oceanbase

OceanBase is an enterprise distributed relational database with high availability, high performance, horizontal scalability, and compatibility with SQL standards.

Primary LanguageC++OtherNOASSERTION

OceanBase Logo

license license stars forks English doc Chinese doc building status last commit Join Slack

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

Key features

  • Transparent Scalability : An OceanBase cluster can be scaled out to 1,500 nodes transparently, handling petabytes of data and a trillion rows of records.
  • Ultra-fast Performance : The only distributed database that has refreshed both TPC-C record, at 707 million tmpC, and TPC-H record, at 15.26 million QphH @30000GB.
  • Real-time Operational Analytics : A unified system for both transactional and real-time operational analytics workloads.
  • Continuous Availability : OceanBase Database adopts Paxos Consensus algorithm to achieve Zero RPO and less than 8 seconds of RTO.
  • MySQL Compatible : OceanBase Database is highly compatible with MySQL, which ensures that zero or few modification is needed for migration.
  • Cost Effeciency : The cutting-edge compression technology saves 70%-90% of storage costs without compromising performance. The multi-tenancy architecture achieves higher resource utilization.

See also key features for more details.

System architecture

image.png

Learn More

Quick start

How to deploy

🔥 Deploy by all-in-one

You can quickly deploy a standalone 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

🐳 Deploy by docker

  1. Pull OceanBase image (optional):

    docker pull oceanbase/oceanbase-ce
  2. Start an OceanBase Database instance:

    # Deploy an instance with the maximum specifications supported by the container.
    docker run -p 2881:2881 --name obstandalone -e MINI_MODE=0 -d oceanbase/oceanbase-ce
    # Or deploy a mini standalone instance.
    docker run -p 2881:2881 --name obstandalone -e MINI_MODE=1 -d oceanbase/oceanbase-ce
  3. Connect to the OceanBase Database instance:

    docker exec -it obstandalone ob-mysql sys # Connect to the root user of the sys tenant.
    docker exec -it obstandalone ob-mysql root # Connect to the root user of the test tenant.
    docker exec -it obstandalone ob-mysql test # Connect to the test user of the test tenant.

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

How to build

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

Roadmap

For future plans, see Roadmap 2023. See also OceanBase Roadmap for more details.

Case study

OceanBase makes data management and use easier with technology innovation. It has been serving more than 400 customers upgrade 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.

Contributing

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

License

OceanBase Database is licensed under the Mulan Public License, Version 2. See the LICENSE file for more info.

Community

Join the OceanBase community via: