English | δΈζ
OceanBase Developer Center, or ODC for short, is an open-source, all-encompassing tool for collaborative database development and data management across various scenarios. By streamlining collaborative efforts, ODC addresses the challenges of risk management during database changes, efficient data management, and data security concerns.
- Utilizing modern web architecture, ODC provides unparalleled accessibility to your databases, allowing you to perform SQL development tasks on the go, right from your web browser.
- ODC boasts a comprehensive and user-friendly SQL development environment that encompasses all the features you'd expect from desktop development tools, and even offers support for PL debugging.
- Throughout the entire SQL development process, ODC is your steadfast companion, offering risk control at every turn. From visual object management to SQL queries, data editing, and import/export tasks, ODC comes equipped with built-in risk management tools.
- ODC introduces project-based collaboration and change approval workflows, complemented by SQL validation rules, SQL window guidelines, and risk level identification.
- ODC facilitates data retention policies, enabling you to effortlessly purge or archive data based on specified time frames, and build a hot-cold data separation system tailored to your needs in just 5 minutes.
- Beyond time-based data handling, ODC supports batch processing based on partitioning, allowing you to efficiently manage large datasets.
- With ODC's SQL scheduled tasks, completing computational tasks becomes a breeze, rendering traditional CRONTAB systems obsolete.
- ODC's data desensitization capabilities extend to both static and dynamic scenarios, ensuring that sensitive information remains safeguarded during schema changes, SQL queries, result set exports, and data extractions.
- Security administrators can configure sensitive data rules and desensitization algorithms, ensuring that both DBAs and developers are unable to access sensitive data.
- Integrate ODC seamlessly into your current database development workflow without the need for disruptive changes.
- From Single Sign-On (SSO) to approval integration, SQL review integration, bastion host integration, and audit integration, ODC offers a comprehensive suite of features that cater to enterprise control needs.
ODC comes in two distinct forms: the dynamic Web version and the efficient Desktop version. Let's take a closer look at these offerings:
-
Desktop Version: Effortless Individual Development
The Desktop version is designed for personal development scenarios, offering an efficient and user-friendly SQL development tool. Supported operating systems include Windows and MacOS.
-
Web Version: Unleash Collaborative Power
The Web version caters to multi-person collaborative development scenarios, encompassing collaborative development, risk control, data security, and more. It serves as an integrated platform for database development, management, and control. The Web version provides various installation mediums, such as rpm and Docker images, supporting x86 and ARM architectures. It also encapsulates all the features of SQL development in the Desktop version.
Please note that the deployment steps outlined in this section are meant for experiencing the functionality. For production environment deployment, please refer to the Deployment Guide.
The ODC Web version is packaged as a Docker image and relies on an OceanBase MySQL tenant as MetaDB. If you have not had a MetaDB, please follow (Optional) Step 1: Create a MetaDB below for instructions.
Before you start, ensure that your environment meets the following requirements:
- Docker is installed and the service is up and running. It is recommended to use the latest version of Docker.
- The deployment machine for ODC has at least 2 available CPU cores and 4 GB of RAM.
- The MetaDB requires a minimum specification of 1 vCPU and 4 GB of RAM.
Use the sample script below to create a MetaDB if you do not already have one. To create a MetaDB, it would require an OceanBase cluster and a test tenant, which the script would also complete for you. The creation process may take about 2 minutes.
Please note that the deployment machine for the OceanBase cluster should have at least 4 vCPUs and 8 GB of RAM.
This script is for demo purposes only. If you have already had a MetaDB, please skip this step.
# Start an OceanBase cluster, which would automatically create a test tenant.
docker run -p 2881:2881 --name oceanbase-ce -d oceanbase/oceanbase-ce
# Connect to the test tenant within the cluster.
docker exec -it oceanbase-ce ob-mysql root
# Create a database user 'odc' and schema 'odc_metadb' within the tenant. Replace <password> with the actual password of your choice.
CREATE USER odc IDENTIFIED BY '<password>';
CREATE DATABASE odc_metadb;
GRANT ALL ON odc_metadb.* TO odc;
Use the script below to launch the ODC Docker container.
# Launch ODC Server. The following example limits the container to 2 CPU cores and 4 GB of memory.
# Replace <your_metadb_password> with the actual password of your MetaDB. If you have followed Step 1 above to create the MetaDB, then replace <your_metadb_password> with the password you set in Step 1.
# Set the initial password for your admin account of ODC using the parameter <your_admin_password>. This password would be the one you use to log into the ODC Web. The password must satisfy the following requirements:
# - At least 2 digits
# - At least 2 lowercase letters
# - At least 2 uppercase letters
# - At least 2 special characters, allowed special characters includes ._+@#$%
# - No spaces or other special characters
# - 8~32 characters in length
# The process to launch ODC may take about 2 minutes.
docker run -d -it --name odc --network host \
--cpu-period 100000 --cpu-quota 200000 --memory=4G \
-e "DATABASE_HOST=127.0.0.1" -e "DATABASE_PORT=2881" -e "DATABASE_NAME=odc_metadb" \
-e "DATABASE_USERNAME=odc@test" -e 'DATABASE_PASSWORD=<your_metadb_password>' \
-e 'ODC_ADMIN_INITIAL_PASSWORD=<your_admin_password>' \
-e "ODC_SERVER_PORT=8989" \
oceanbase/odc:latest
After deploying ODC Web, you can follow our Quick Start guide to start your journey with ODC.
The Desktop version harnesses Electron technology to transform the web application into a desktop application, offering compatibility with multiple desktop operating systems. Installing the desktop application is straightforward: simply download the version-specific installer and double-click to initiate the installation process.
ODC Desktop version employs the h2database embedded database as MetaDB, eliminating the need for MetaDB database configuration.
Here are the download links for ODC Desktop version installers:
- Windows 64-bit version: odc-win64-with-jre.exe
- MacOS version: odc-macos-with-jre.dmg
- Fedora/Ubuntu version: odc-ubuntu.deb
After installing the Desktop version, you can follow our Quick Start guide to start your journey with ODC.
ODC envisions an open community, collaboratively crafting a database development and control management tool. We welcome your contributions in any form:
- Report bugs through Issues.
- Participate in or initiate discussions via Discussion.
- Contribute bug fixes or new features through Pull requests.
- Share ODC to your friends and colleagues, and help expand the ODC community's influence.
For detailed guidelines on contributing, please refer to the Contribution Guide. For comprehensive guidance on different types of code changes via pull requests, consult the Pull requests.
Here's a glimpse into ODC's 2023 roadmap.
Focus Area | Q1 | Q2 | Q3 | Q4 |
---|---|---|---|---|
SQL Development | OceanBase 4.0/4.1 SSL connection Enhanced performance for large-scale table/column scenarios |
Enhanced PL execution and debugging support Database trace PL/SQLDeveloper compatibility Oracle-compatible time and numeric formats |
Support for MySQL data sources Common operation command assistant Desktop resource optimization |
Oracle data source support Parallel execution plan visualization OceanBase AP functionality adaptation |
Change Risk Control | Custom roles | Project-based control collaboration SQL checks and guidelines Risk level identification Automatic rollback scripts for data changes |
Lock-free schema changes Best practice templates for SQL checks |
Flow-based SQL checks Schema comparison and synchronization |
Data Lifecycle | SQL scheduled tasks Automated partition management |
Data archiving/cleaning Support for OceanBase MySQL mode |
Lock-free data changes Data archiving/cleaning Support for MySQL and OceanBase Oracle modes |
Row-level recycle bin Logical backup and restore Cloud storage backup and restore support |
Security and Compliance | Dynamic data anonymization Expanded operation audit coverage |
Database/table-level access control Automatic identification of sensitive columns |
Sensitive data protection compliance certification Database SQL auditing |
|
Collaborative Efficiency | Automatic authorization rules Batch user/connection configuration |
SSO integration External approval integration SQL review integration |
Open API Bastion host integration |
Database grouping and logical databases Multi-table support for test data generation Global metadata indexing for multiple data sources |
ODC is licensed under the Apache-2.0 license.
We welcome you to raise any questions or provide feedback through GitHub Issues. If you have trouble accessing GitHub, you can also join our DingTalk Group to seek assistance there.