ODC现已开源:与开发者共创企业级的数据库协同开发工具

OceanBase 开发者中心(OceanBase Developer Center,以下简称 ODC)是一款开源的数据库开发和数据库管理协同工具,从首个版本上线距今已经发展了三年有余,ODC 逐步由一款专为 OceanBase 打造的开发者工具演进成为支持多数据源的企业级的数据库协同开发工具,目前产品能力已覆盖 SQL 开发、变更风险管控、数据安全合规、数据生命周期管理等多个方向。

8 月 18 日,ODC 正式开源,开源协议采用 Apache License 2.0,欢迎大家加入ODC 开源社区。

图片

在企业级的数据库协同开发中,安全和效率常常成为团队的协作难题。ODC的目标是解决这种安全与效率之间的矛盾。过去的一年中,我们投入了大量精力来构建协同管控能力,引入了研发与运维融合的理念,以及基于项目维度的协同管控方式,同时提供了数据脱敏、数据生命周期管理等一系列的安全合规和效率提升能力。接下来,将围绕刚刚发布 4.2.0 版本,简要介绍几个重要的方向。

图片

▋ 跨终端协作:随时随地高效 SQL 协同开发

在企业级的应用场景中,SQL 协同开发和数据管理往往涉及到使用不同操作系统(Linux、Windows、Mac)的开发人员和数据库管理员。然而,这样的多样性也常常带来了协同合作的挑战,因为不同操作系统之间的差异可能会阻碍高效的团队合作。面对这一痛点,用户需要一种能够无缝跨平台的解决方案,以确保各种操作系统的用户都能够无障碍地参与到协同开发和数据管理中。

正是在这个背景下,ODC 通过现代 Web 架构为用户提供了跨终端的 SQL 开发体验,使得无论您使用的是 Linux、Windows 还是 Mac 操作系统,都能轻松参与到协同开发中。同时提供超过 25 项开发功能的强大支持,从 SQL 执行、对象管理、数据查看与编辑,甚至到 PL 调试、数据库运维、数据生成等企业级的特性,让协同变得更加高效而无缝。SQL 开发能力是 ODC 一直在建设的能力,目前该能力已经覆盖了 SQL 执行、PL 生命周期、对象管理、执行分析、数据导入导出、数据生成、数据库运维七个方向。

图片

此外,最新的 ODC 4.2.0 版本全面升级了 SQL 开发模块的产品形态,同时提供了以下新能力,包括:

  • 支持在 SQL 窗口内切换数据库,让用户可以方便地复用 SQL 窗口内容;

  • 优化了 PL 调试的参数输入,支持各种入参的 PL 进行调试;

  • 加强了数据库导出能力,支持导入兼容 pl/sql developer 的导出内容;

  • 丰富了执行分析能力,支持4.0及以上版本的 OceanBase 查看 SQL 层面的全链路诊断。

▋ 企业级风险控制:守护 SQL 开发过程的每一次变更

当一个企业的开发团队在 10 人以内的时候,或许可以通过信任和实时沟通来控制数据库的变更风险。但是当团队规模扩大时,团队内各个成员的工作职责将会细分。比如业务可能会有多条分支,每条分支都有对应的研发、研发负责人、测试、测试负责人、DBA 等等,依靠原始的沟通方式将很难控制变更风险。

数据库是公司的核心资产,DBA 需要对数据库的稳定负责,同时项目组内的所有参与人都应该为数据库中的数据负责。但由于各个角色的专业技能及对业务理解的差异,会导致非常容易好心办坏事,可能一不小心就改错了字段或删错了数据。

面对这种情况,DBA 可以选择通过所有涉及数据库的变更都自己来操作以控制变更风险,但是这势必会导致 DBA 的工作负载过高。为了保证这些工作能按时完成,势必要增加更多的 DBA,这无疑增加了项目的成本。同时 DBA 是一个非常有技术含量的岗位,他们应该把精力投入到更有价值的地方而不是耗费在频繁、单调的变更上。

假设有这样一个平台,当一条变更发起时,先经过了解业务的同学把控、再经过业务负责人审批、再经过数据库负责人把关、再经过安全负责人审核,到最后执行的时候,这条变更的风险是不是有效地得到了控制呢?答案是肯定的,而 ODC 就是这样一个平台。

有新建项目权限的用户登录 ODC 后可以根据业务线新建项目。项目创建成功后,项目负责人需要将项目组同学都加入到该项目中并给大家分配角色。同时项目负责人还需要将该业务线用到的数据库也都加入到项目里。到这一步一个协作单元基本就构建成功了。

项目成员发起变更时首先会经过 SQL 规范检查,检查通过后再经过审批流定义的节点审批,所有节点通过后才会真正地去执行。ODC 内置了覆盖 DDL、DML、DQL 语句的开发规范,用户可以根据业务实际情况自行调整开发规范。SQL 规范检查可以自动地拦截不符合规范的变更,减少人为介入,能极大提升变更参与人的工作效率。同时 ODC 支持根据变更发起的环境、任务类型、数据库名称、SQL 检查结果等定义审批流程。ODC 的变更管控覆盖了所有可能的场景,包括 SQL 窗口、数据变更、数据出库等,以保障变更管控的全面性。

图片

ODC 提供了全场景的风险控制能力,通过内置全面的风险控制,覆盖 SQL 开发过程的全部场景,通过访问权限、变更审核、稳定变更三个层次递进风险控制,保障生产数据库变更过程稳定、高效、可追溯。针对企业级变更管控,ODC 也提供了基于项目的协同和变更审批流程,通过 SQL 检查规则、SQL 窗口规范、风险等级识别定制符合实际业务情况的管控规则,实现数据库研发规范产品化,帮助用户降低配置成本提升协同效率。

▋ 优化数据流程:自动数据生命周期管理

随着业务长时间运行,业务库中的历史数据会越来越多。越来越多的历史数据会给业务库带来以下两个方面的负面影响:一是业务库的性能可能会因为业务表数据量太大而导致急剧下降。二是由于数据的增长对应的存储成本也会不断增加。为了解决这个问题,ODC 提供了三种解决办法。

第一种解决办法就是数据清理。如果过期的历史数据业务不再需要了,用户可以在 ODC 上发起数据清理工单,定义清理策略。任务发起成功后,ODC 会按照用户的要求定期清理表中的数据。

第二种解决办法是数据归档。如果过期的历史数据业务还是需要的,那么就需要做冷热数据分离。将表中的冷数据定期迁移到归档库中。用户需要提前准备好归档库,然后再在 ODC 上发起数据归档工单,定义归档策略。任务成功发起后,ODC 就会按用户要求进行冷热数据分离。

第三种解决办法是分区计划。这个解决办法适用于 range/range column 类型的分区表,ODC 提供了分区新建和分区清理能力。用户在 ODC 上发起分区计划工单,可以批量选择需要进行处理的表,定义分区策略。任务成功发起后,ODC 会按照用户的定义,定期地去清理和创建分区。

图片

ODC 致力于优化企业的数据流程,实现自动化的数据生命周期管理,从而提升数据处理效率和质量。在实际操作中,ODC 提供了全面的冷热数据分离策略,通过直观的界面和工具,使开发人员能够轻松地将数据按照保留时长清理或归档,仅需短短 5 分钟,便可构建起您的冷热数据分离系统。此外,ODC 还支持高效的自动化分区维护功能,能够批量清理和创建分区,有效减轻数据库管理员(DBA)的工作负担,使自动化分区表的维护过程变得更加高效,确保数据库在可用性和性能方面保持最佳状态。

不仅如此,ODC 还提供了强大的 SQL 计划任务能力,特别适用于企业场景中的数据归档、数据清理、报表生成等任务。ODC 能够让您轻松创建、管理并自动执行 SQL 计划任务,从而保障用户的周期计算任务能够顺利执行,确保企业数据处理的稳定性和准确性。通过这些能力,ODC 致力于提供一体化的数据生命周期管理方案,从而为企业的数据流程带来更高的效率和优化。

▋ 确保安全合规:可信赖的全场景敏感数据保护

近年来国家针对个人信息安全的法案越来越多,相应地操作审计和隐私数据保护也越来约重要。针对操作审计,ODC 在很早之前就提供了操作记录能力,用户在 ODC 上的操作均会录入到该模块中。

常见的隐私数据有用户的身份证号、手机号、家庭住址等等。这些隐私数据是业务正常运行的基础,无法从业务库中的剥离。为了保证用户的数据不泄漏,必须要严格限制业务库的访问。但如果真的完全限制了势必又会引发协作效率问题。如何保证业务开发效率的同时又能保证隐私数据安全呢?ODC 给出了解决方案:数据脱敏。

ODC 支持对数据库中敏感的字段进行脱敏处理。如用户的电话号码,真实数据是 1300685abcd,使用 ODC 脱敏后可以是 130****abcd。ODC 的脱敏技术应用在了两个方面:第一就是用户的实时查询,用户在 ODC 上访问的敏感数据,展示的都是脱敏后的结果。第二就是数据出库,用户从 ODC 往外导数据时,但凡涉及到敏感数据,默认导出的都是脱敏后的数据。

目前 ODC 支持单条、批量扫描添加敏感列。若业务库中仅有几列敏感数据,可以选择手动单条添加。若业务库中敏感的数据非常多,可以配置识别规则,批量扫描出敏感列,有效提升添加效率。未来 ODC 还会提供更加智能的敏感数据保护能力,比如自动发现敏感数据,敬请期待。

图片

ODC 将敏感数据的保护放在首要位置,为企业级的场景提供了可信赖的全场景敏感数据保护,确保用户的数据安全合规。通过数据隐私保护能力,安全管理员可以根据需要配置敏感数据规则和脱敏算法,确保敏感数据的绝对安全。即便是数据库管理员(DBA)和开发人员,经过配置后也无法直接接触敏感数据,从而极大地降低了数据泄露的风险。这种严格的数据隐私保护机制,使得企业的敏感信息在任何时候都能得到最大程度的保护。

全场景脱敏覆盖则是 ODC 在数据保护方面的又一亮点。ODC 的数据脱敏不仅适用于静态场景,更支持动态场景。无论您是在进行表数据查看、SQL 查询、结果集导出,还是数据导出,ODC 都能提供高效的数据保护。这意味着在数据处理的全过程中,敏感数据都能得到保护,从而使得企业数据的安全性得到了全方位的保障。通过这些能力,ODC 为企业提供了全场景的敏感数据保护,降低数据泄露风险,确保数据的安全和合规性。

▋ 流程与工具融合:0 代码将 ODC 与您的协同流程无缝连接

在协同流程与工具的融合方面,ODC 可以帮助用户通过 0 代码的方式将其与现有协同流程无缝连接,帮助企业实现更高效的协同工作。ODC 提供了多样的系统集成能力,这些系统集成功能包括单点登录(SSO,OAuth2/OIDC)、审批集成、SQL 审核集成、堡垒机集成、审计集成等。通过这些集成功能,ODC 能够涵盖企业管控集成的几乎所有场景,确保您的现有流程和策略能够无缝地与 ODC 结合,实现协同工作的高效性和一致性。

另外,ODC 还提供了灵活易用的集成配置功能,使得将 ODC 集成到您当前的数据库开发协同工作流程中变得更加简单。您可以轻松地通过 ODC 适配已有系统的API,而无需进行任何代码改动。这意味着您无需改变已有的系统架构,就能够高效地将 ODC 的优势与功能引入现有流程中,为您的协同工作注入全新的动力。通过这种灵活易用的集成配置,ODC 为企业协同工作带来了更大的便利和效率。

图片

▋ 全场景协同:从数据库开发到数据管理的全生命周期

在数据库开发和数据管理方面的关键需求,ODC 解决了许多客户在协同工作中遇到的痛点。ODC 通过全场景协同的能力,帮助用户实现从数据库开发到数据管理的全生命周期的无缝连接,为企业提供了全方位的支持和协同管理。在全生命周期方面,ODC 涵盖了企业数据库开发和数据管理的全部场景,从 SQL 开发到变更风险管控,再到数据生命周期管理和数据安全。这意味着企业无论是在开发、变更、数据保护还是数据管理方面,都能借助 ODC 实现高效、无缝的协同,确保各环节的顺畅协作。

与此同时,ODC 注重多角色协同参与。开发者、DBA、数据分析师、架构师和数据安全官,每个角色都有不同的关注点和需求。ODC 充分理解并融合了每个角色的特殊需求,使得数据库开发和数据管理过程中的协同合作更加顺畅。通过将不同角色的需求融入协同工作中,ODC 降低了企业数据库协同平台的部署和使用成本,为协同工作提供了高效和灵活的解决方案。

图片

图片

数据库开发领域涌现了很多卓越的开源项目,ODC 希望通过开源,与社区共同打造一款帮助 Dev 和 DBA 真正实现“ONE team”的企业级的数据库协同开发工具。未来我们将持续打磨现有的产品能力,并在一些新的方向上做尝试。

  • 更多的数据源:逐步引入MySQL 和 Oracle 的数据源支持,更全面地管理不同来源的数据。

  • 更强大的变更:建设稳定的变更模块,包含无锁结构变更及无锁数据变更。

  • 差异架构管理:实现数据库结构的全面比对与同步,确保库与库、表与表之间的对象结构变更一致化处理。

帮助用户解决企业级的数据库管控协同难题,我们一直在路上。如果你对这个开源项目感兴趣,可以点击文末“阅读原文”,前往 GitHub,深入了解更多细节,我们也欢迎以任何形式参与 ODC 社区。无论是贡献代码、提出问题、分享见解,或者仅仅是表达对这个开源项目的喜爱与支持,都将成为推动 ODC 项目发展的动力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/74202.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xCode14.3.1运行MonkeyDev出现“Executable Not Found“的解决办法

安装MonkeyDev遇到的坑 环境:Xcode Version 14.3.1 (14E300c) 错误提示 is not a valid path to an executable file. 报错 /Users/xxxx//Library/Developer/Xcode/DerivedData/MonTest-ccparhdyzjuqhjdergwrngpfwwoh/Build/Products/Debug-iphoneos/MonTest.app…

go-zerogo web集成redis实战

前言 上一篇:go-zero&go web集成JWT和cobra命令行工具实战 从零开始基于go-zero搭建go web项目实战-03集成redis实战 源码仓库地址 源码 https://gitee.com/li_zheng/treasure-box golang redis 客户端 Go-Redis 地址: GitHub: https://github.…

Maven 知识点总结

文章目录 Maven1、Maven 坐标2、Maven 仓库3、Maven 依赖依赖配置依赖范围依赖调解原则排除依赖 4、Maven 生命周期5、Maven 聚合与继承 Maven Maven是一个项目管理工具,它包含了项目对象模型(POM:Project Object Model)&#xf…

windows系统docker中将vue项目网站部署在nginx上

一、首先在windows系统上下载并安装docker,要下载windows版本 https://www.docker.com/products/docker-desktop/ PS:安装过程中需要WSL,我的是win11系统,直接提示了我安装就可以下一步了。其他windows系统版本我不知道是否需要单…

简化转换器:使用您理解的单词进行最先进的 NLP — 第 1 部分 — 输入

一、说明 变形金刚是一种深度学习架构,为人工智能的发展做出了杰出贡献。这是人工智能和整个技术领域的一个重要阶段,但也有点复杂。截至今天,变形金刚上有很多很好的资源,那么为什么要再制作一个呢?两个原因&#xff…

K8s中的RBAC(Role-Based Access Control)

摘要 RBAC(基于角色的访问控制)是一种在Kubernetes中用于控制用户对资源的访问权限的机制。以下是RBAC的设计实现说明: 角色(Role)和角色绑定(RoleBinding):角色定义了一组权限&am…

# Spring MVC与RESTful API:如何设计高效的Web接口

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

数学建模--K-means聚类的Python实现

目录 1.算法流程简介 2.1.K-mean算法核心代码 2.2.K-mean算法效果展示 3.1.肘部法算法核心代码 3.2.肘部法算法效果展示 1.算法流程简介 #k-means聚类方法 """ k-means聚类算法流程: 1.K-mean均值聚类的方法就是先随机选择k个对象作为初始聚类中心. 2.这…

AI伦理:科技发展中的人性之声

文章目录 AI伦理的关键问题1. 隐私问题2. 公平性问题3. 自主性问题4. 伦理教育问题 隐私问题的拓展分析数据收集和滥用隐私泄露和数据安全 公平性问题的拓展分析历史偏见和算法模型可解释性 自主性问题的拓展分析自主AI决策伦理框架 伦理教育的拓展分析伦理培训 结论 &#x1f…

spring---第六篇

系列文章目录 文章目录 系列文章目录一、spring事务传播机制二、spring事务什么时候会失效?一、spring事务传播机制 多个事务方法相互调用时,事务如何在这些方法间传播 方法A是一个事务的方法,方法A执行过程中调用了方法B,那么方法B有无事务以及方法B对事务的要求不同都 会…

vue学习之基本用法

1. 前期准备 安装vs code IDE&#xff0c;vs code 安装 插件 open in brower新建 vue-learning 文件夹vs code IDE打开文件夹 2. 基本用法 创建demo1.html文件,内容如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8&qu…

华为数据管理——《华为数据之道》

数据分析与开发 元数据是描述数据的数据&#xff0c;用于打破业务和IT之间的语言障碍&#xff0c;帮助业务更好地理解数据。 元数据是数据中台的重要的基础设施&#xff0c;元数据治理贯彻数据产生、加工、消费的全过程&#xff0c;沉淀了数据资产&#xff0c;搭建了技术和业务…

Tomcat配置ssl、jar包

Tomcat配置ssl 部署tomcat服务&#xff0c;项目做到用https访问&#xff0c;使用nginx去做&#xff0c;访问任意一个子网站&#xff0c;都是https 或者 医美项目需要 上传jdk 456 tomcat war包 [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/…

软考知识汇总-计算机系统

文章目录 1 计算器 1 计算器 算术逻辑单元&#xff08;ALU&#xff09;&#xff1a;运算器重要组成部件&#xff0c;负责处理数据&#xff0c;实现对数据的算数运算和逻辑运算。累加寄存器&#xff08;AC&#xff09;&#xff1a;简称累加器&#xff0c;为ALU提供数据并暂存运…

软件工程笔记001

2023年9月5日&#xff0c;周二上午 软件工程的目标 软件工程的目标是成功地开发一个软件&#xff1a; 较低的开发成本能按时交付软件开发出来的软件该有的功能都有开发出来的软件运行效率高开发出来的软件可靠性高开发出来的软件易于维护 软件的生存周期 概念 软件生存周期…

华为OD机考算法题:字符串化繁为简

目录 题目部分 解读与分析 代码实现 题目部分 题目字符串化繁为简题目说明给定一个输入字符串&#xff0c;字符串只可能由英文字母 (a~z、A~Z )和左右小括号 ((、))组成。当字符里存在小括号时&#xff0c;小括号是成对的&#xff0c;可以有一个或多个小括号对&#xff0c;…

“内存炸弹”DDOS拒绝服务攻击

Windows平台演示 最早的内存炸弹是 zip 炸弹&#xff0c;也称为死亡 zip&#xff0c;它是一种恶意计算机文件&#xff0c;旨在使读取该文件的程序崩溃或瘫痪。zip 炸弹不会劫持程序的操作&#xff0c;而是利用解压缩压缩文件所需的时间、磁盘空间或内存。 zip 炸弹的一个示例…

mvvm框架下对wpf的DataGrid多选,右键操作

第一步&#xff1a;在DataGrid中添加ContextMenu <DataGrid.ContextMenu><ContextMenu><MenuItem Header"删除选中项" Command"{Binding DeleteSelectedCommand}" /></ContextMenu></DataGrid.ContextMenu> 第二步&#xff…

ldconfig和ldd用法

ldconfig和ldd用法 一、ldconfig ldconfig是一个动态链接库管理命令&#xff0c;为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig。 ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出…

关于 RK3568的linux系统killed用户应用进程(用户现象为崩溃) 的解决方法

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/132710642 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…