摘要:好消息!OceanBase现推出「产品模块原理系列」内容,通过完整13篇文章帮助数据库从业者建立更系统完善的数据库知识体系。第九期我们带来OceanBase产品体系中的一个重磅成员——OceanBase开发者中心。Tips:关注OceanBase公众号回复“产品原理”获取OceanBase产品模块原理简介系列全集。
前言
OceanBase是由阿里巴巴和蚂蚁金服完全自主研发的分布式关系数据库,拥有极致的在线伸缩和负载均衡、高可用和强一致的技术能力。为了帮助企业用户安全、高效的使用数据库,同时提升开发人员与DBA的协作效率,一款为 OceanBase 数据库量身打造的企业级数据库开发平台OceanBase开发者中心(OceanBase Developer Center,简称 ODC)应运而生。
OceanBase开发者中心为开发者提供了常用的平台、工具集,包括SQL Developer、SQL诊断、数据导入导出工具等,目前一期主要在建设的是OceanBase的SQL Developer,下面为读者重点介绍它的相关功能模块和特性。
兼容并包,支持多种数据库模式
OceanBase分布式关系数据库兼容多种常用关系数据库模式,目前支持MySQL mode和Oracle mode,此外,OceanBase已经支持HBase等NoSQL模型,OceanBase 开发者中心也会支持这些数据模型的开发。作为数据管理的客户端,能便捷的支持多mode数据存储产品,这对用户体验很重要。
如下图所示,在创建连接对象时,数据库类型支持Oracle mode和MySQL mode。两种数据库mode均支持业务层进行拆分数据。另外,OceanBase 开发者中心的下个版本会支持Sharding数据管理,对分库分表模型进行抽象统一,提供数据库对象管理的统一视图。
在创建连接时,选择待连接数据库的mode,填写必要的连接信息即可。例如,这里的主机名、端口,通常是指向OBProxy,也可以是某一个节点。客户端屏蔽了底层的驱动细节差异,连接后,支持对数据库对象进行查看和管理,根据不同版本的内核支持的特性不同,客户端展示的数据库对象和交互操作不同。虽然是Web系统,这里采用数据库长连接方案,便于Session管理,以及调试功能的实现。
强大功能,支持企业级特性分区
OceanBase对一些关系型数据库的高级特性,例如分区,能够完整支持,包括Hash、Key、Range、Range columns、List、List columns分区类型,客户端也要配合实现开发过程的易用和便捷。
对于建表流程,OceanBase开发者中心做了引导式流程设计,包括基本信息、设置列信息、设置分区信息、设置索引,后两个步骤可跳过,这样简化了用户交互的体验。对于分区特性,包括设置分区表达式、添加分区项这些操作OceanBase开发者中心都进行了可视化的引导以及前端校验,降低了用户使用分区功能的门槛。
其次,当用户提交表、视图等Schema的新建或修改前,会自动弹出SQL确认框,对用户了解数据库对象编辑的语法有非常好的促进作用。当然,用户也可以修改SQL实现高效的数据库对象编辑。
智能高效,支持SQL编辑提示
开发者频率最高的操作,是通过SQL Console编辑并执行SQL脚本。因此,SQL编辑的效率和体验至关重要。OceanBase开发者中心Console通过OceanBase的语法文件、关键字处理等,围绕多个维度优化SQL的编辑效率和体验。
- 基于语法的提示
通过OceanBase自己的MySQL mode、Oracle mode词法和语法文件,实现编辑过程中的推导提示。
- 关键字高亮
根据词法文件中定义的关键字、函数名,实现关键字和函数名的高亮展示。
- 支持SNIPPETS
支持SQL编辑提示Snippets,能够显著提升脚本的开发效率。
- 函数帮助
提供OceanBase函数的帮助说明,当鼠标处于悬浮状态时在函数上进行提示,起到轻量级帮助文档的作用。
- 脚本格式化
对编辑的SQL脚本,可进行一键格式化,展示更美观、降低复杂SQL的理解成本和编辑错误的可能性。
- 上下文提示
根据上下文,在编辑过程中对数据库对象自动提示,例如输入表名会提示可选择的列,提高脚本编辑效率。
简单易用,支持可视化编辑
可视化编辑,让用户可以像使用Excel一样,轻松完成对数据的增加、删除、修改等操作,避免通过SQL修改数据的繁琐语法细节,这里主要为大家介绍数据库变量编辑和数据编辑的功能。
- 数据库变量编辑
数据库变量,即控制数据库表现的可变参数,通常根据使用的场景进行修改,以满足业务需求或获得更好的性能。从作用范围上看,分为会话变量和系统全局变量,会话变量即作用在当前数据库连接上,生命周期和数据库连接是一致的;全局变量,作用范围是数据库实例级别的,被所有会话共享。
如上图所示,通过可视化的展示,可以清晰的了解当前数据库支持的变量,对于变量value的修改,如果是字符或数字类型,则直接输入;如果是枚举类型,则会列出当前变量支持的value集合,在不用准确记忆变量和value的情况下,通过选择完成修改,对于初级用户的体验比较友好,降低了变量记忆的困难。而且,修改过的数据库变量,会使用颜色进行标识,让用户有更直观的了解。
直观便捷,支持数据编辑
数据编辑是指对于数据库表或试图的数据可视化编辑。相对于通过SQL编辑数据,对于少量的数据修改情况,直接通过数据编辑功能更加直观和便捷。
如上图所示,新增或修改数据,双击即可编辑数据,编辑单元会根据当前列的数据类型,通过校验和工具辅助编辑过程,例如对于日期类型,可以通过日期控件选择来输入数据。对于删除数据,选中数据行后点击“删除行”快捷键,并确认提交即可完成数据修改。
本文简要介绍了OceanBase开发者中心一期的基础功能模块和特性,其他深入、复杂的特性和工具我们还在紧密研发中,后续敬请关注OceanBase微信公众号,及时了解OceanBase开发者中心的规划和进展。