中文 | English
OceanBase 开发者中心(以下简称 ODC)是开源的全场景数据库开发和数据管理协同工具,通过协同开发解决数据库的变更风险管控、数据管理和数据安全问题。
- ODC 基于现代 WEB 架构,随时随地,只要有浏览器就可以访问您的数据库。
- ODC SQL 开发功能全面且易用,桌面开发工具有的功能 ODC 也有,甚至支持 PL 调试。
- 在 SQL 开发过程的全部场景,包括可视化对象管理、SQL 查询、数据编辑、数据导入和导出、... ,ODC 都内置了风险控制。
- ODC 提供基于项目的协同和变更审批流程,并且内置了 SQL 检查规则、SQL 窗口规范、风险等级识别。
- ODC 支持数据按照保留时长清理或归档,5 分钟构建你的冷热数据分离系统。
- ODC 不仅支持按照数据的时间标记处理,也支持按照分区批量处理。
- 还可以通过 ODC SQL 计划任务完成计算任务,为什么还要继续使用你的 CRONTAB ?
- ODC 数据脱敏支持静态场景也支持动态场景,结构变更、SQL 查询、结果集导出、数据导出 全部开发场景都会脱敏。
- 安全管理员配置敏感数据规则和脱敏算法,DBA 和 开发 都无法接触敏感数据。
- 无需改变您的系统就可以把 ODC 集成到您当前的数据库开发协同工作流程中.
- SSO、审批集成、SQL 审核集成、堡垒机集成、审计集成,企业管控集成需要的能力全都有。
ODC 产品功能包括 SQL 开发和管控协同 2 个方面,核心功能列举如下。
- 多数据源:支持 OceanBase MySQL 模式/Oracle 模式、ODP Sharing、MySQL 等数据库(不断增加中)。
- 数据库对象:表、视图、序列、同义词、触发器、存储过程、函数、程序包、类型 等对象的可视化管理。
- SQL 执行:SQL 编辑和执行、命令行窗口、脚本、代码片段。
- 数据查看与编辑:数据查看、数据编辑、结果集 Excel 互操作。
- 监控诊断:执行计划、执行剖析、数据库全链路 TRACE。
- 数据生成:测试数据生成,场景化数据生成。
- 导入和导出:结构导入、结构导出、数据导入、数据导出、整库导入、整库导出。
- PL 生命周期:PL 对象的执行、编译和调试。
- 数据库运维:回话管理、变量管理、回收站管理、权限管理(规划中)。
- 权限管理:用户管理、基于 RBAC 模型的自定义角色。
- 团队协同:基于项目的管理员、DBA、开发多角色协同、库级别访问权限管理。
- 变更管控:自定义审批流程、基于语法规则的 SQL 检查。
- 稳定变更:无锁结构变更、无锁数据变更(规划中)。
- 数据生命周期:数据清理、数据归档、自动分区、SQL 定时任务。
- 数据安全:敏感列管理、数据导出脱敏、数据查询脱敏、敏感列权限。
- 合规审计:操作审计、SQL 审计、审计集成。
- 协同效率:批量导入配置、自动授权规则、通知中心。
- 系统集成:OAuth2、OIDC 账号集成、堡垒机集成、审批集成、SQL 审核集成。
- 体验学习:实验资源、教程和课程、代码库(规划中)。
ODC 有 2 个产品形态,分别是 WEB 版和桌面版。
- 桌面版:适用于个人开发场景,是一款高效易用的 SQL 开发工具,桌面版支持的操作系统包括 Windows、MacOS。
- WEB 版:适用于多人协同开发场景,包含协同开发、风险控制、数据安全等全部功能,是数据库开发管控协同一体化平台,WEB 版提供 rpm、docker 镜像等安装介质,支持 x86、arm 架构,WEB 版也包含桌面版 SQL 开发的全部功能。
本章节描述的部署步骤仅适用于功能体验,生产环境部署请参考 部署指南 。
ODC WEB 版的安装介质为 docker 镜像,依赖一个 OceanBase MySQL 租户作为 MetaDB。如果您没有 MetaDB,请根据下面的步骤 1:创建一个元数据库 指引来创建一个元数据库。
在部署 ODC WEB 版之前,请准备以下环境,确保环境资源和规格满足要求,具体检查项包括:
- 部署的机器有至少 2 个空闲 CPU core、4GB 内存。
- 已经安装 docker 并启动服务,推荐使用 docker 最新版。
- MetaDB 租户规格为 1C4G 或以上。
使用下面的简单脚本就可以创建一个 MetaDB。为了创建 MetaDB,需要您使用下面的脚本创建一个 OceanBase 集群以及一个测试租户,这将花费您大约 2 分钟时间。
请注意:您用于部署 OceanBase 集群的机器应至少含有 4 vCPU 以及 8 GB 空闲内存。
以下脚本仅用于演示用。如果您已经拥有一个 MetaDB,请略过此步骤。
# 启动一个 OceanBase 集群的同时会自动创建出一个测试租户
docker run -p 2881:2881 --name oceanbase-ce -d oceanbase/oceanbase-ce
# 连接位于该集群的测试租户
docker exec -it oceanbase-ce ob-mysql root
# 在该租户中创建一个名为 'odc' 的数据库用户以及一个名为 'odc_metadb' 的数据库。将 <password> 替换为您的真实密码
CREATE USER odc IDENTIFIED BY '<password>';
CREATE DATABASE odc_metadb;
GRANT ALL ON odc_metadb.* TO odc;
启动 ODC docker 容器的参考脚本如下。
# 启动 ODC。下面例子将限制容器最大占用 2 CPU 核以及 4GB 内存
# 将 <your_metadb_password> 替换为您的 MetaDB 的真实密码。如果您按照步骤 1 创建出一个 MetaDB,那么将 <your_metadb_password> 替换为您在步骤 1 中设置的密码
# 使用参数 <your_metadb_password> 为 ODC 的 admin 账户设置一个初始密码。这个密码在您登录 ODC 时将会被用到。密码必须满足以下条件:
# - 至少 2 个数字
# - 至少 2 个小写字母
# - 至少 2 个大写字母
# - 至少 2 个特殊字符,特殊字符的范围是 ._+@#$%
# - 不包含空格和其他特殊郋,长度为 8-32
# 启动 ODC 将花费大约 2 分钟
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
部署完成 ODC 后,您可以根据 快速指南 的指引开始您的 ODC 之旅。
ODC 使用 Electron 技术把 WEB 应用构建为桌面应用,支持多个桌面操作系统。安装桌面应用程序的方式比较简单,下载对应版本的安装包双击安装即可。 ODC 桌面版使用 h2database 嵌入式数据库作为 MetaDB,所以您不需要配置 MetaDB 数据库。
ODC 桌面版安装包下载地址
- Windows 64位版本 odc-win64-with-jre.exe
- MacOS 64位版本 odc-macos-with-jre.dmg
- Fedora/Ubuntu 64位版本 odc-ubuntu.deb
部署完成桌面版 ODC 后,您可以根据 快速指南 的指引开始您的 ODC 之旅。
ODC 期望构建一个开放的社区,一起打造数据库开发管控协同工具,我们欢迎任何形式的贡献,您可以:
- 通过 Issues 提交 bug。
- 通过 Discussion 参与或发起讨论。
- 通过 Pull requests 提交问题修复或者功能特性。
- 将 ODC 介绍给您的朋友和同事,分享 ODC 的功能和优势,帮助 ODC 社区扩大影响力。
关于参与贡献的更多指南请参阅 贡献指南 , 对于代码变更类型的 Pull requests 的详细指南请参阅 开发指南。
ODC 2023 年路线图如下。
方向 | Q1 | Q2 | Q3 | Q4 |
---|---|---|---|---|
SQL 开发 | OceanBase 4.0/4.1 SSL 连接 大规模表列场景性能提升 生僻字展示 | PL执行调试支持更多场景 全链路 TRACE 导入兼容 PL/SQLDeveloper 时间数字格式兼容Oracle | 支持MySQL数据源 常用运维命令助手 桌面版资源占用优化 | 支持 Oracle 数据源 并行执行计划可视化 OceanBase AP 功能适配 |
变更风险管控 | 自定义角色 | 基于项目的管控协同 SQL 检查和 SQL 窗口规范 风险等级识别 数据变更自动回滚脚本 | 无锁结构变更 SQL 检查最佳实践模板 | 基于流量的 SQL 检查 结构比对和结构同步 |
数据生命周期 | SQL 计划任务 自动分区管理 | 数据归档/清理 支持 OceanBase MySQL 模式 | 无锁数据变更 数据归档/清理 支持 MySQL 和 OceanBase Oracle 模式 | 行级回收站 逻辑备份恢复 备份恢复支持云存储 |
安全和合规 | 动态数据脱敏 操作审计覆盖更多范围 | 库表级别权限管控 敏感列自动识别 | 敏感数据保护合规认证 数据库 SQL 审计 | |
协同效率 | 自动授权规则 批量创建用户、连接配置 | SSO 集成 外部审批集成 SQL 审核集成 | Open API 堡垒机集成 | 数据库分组和逻辑库 测试数据生成支持多表 多数据源元数据全局索引 |
ODC 采用 Apache-2.0 许可证.
我们欢迎您通过 GitHub 缺陷提出您的问题或给出反馈。如果您使用 GitHub 存在困难,您可以加入我们的钉钉群来寻求帮助。