
工具介绍
VDS(Vastbase Data Studio)是一个面向Vastbase数据库开发人员的集成开发工具(IDE),同时也是一个基于C/S架构的数据库桌面客户端,主要用于Vastbase数据库的开发管理,简化开发流程,提高开发人员的工作效率和质量,帮助DBA、研发人员、数据分析师便捷地对数据库进行日常管理和开发运维。
逻辑框架介绍
VDS是一款C/S架构产品,系统业务和数据流整体遵循 :
UI桌面用户交互 > 后台业务功能 > JDBC/SSH网络连接 > 海量数据库
UI用户界面负责视觉展示和交互。
业务层承载了VDS的主要业务功能,包括但不限于:数据库连接、对象管理,SQL编辑器、数据浏览、权限管理、代码调试等。
通信层衔接了VDS和数据库的通信,VDS通过JDBC对数据库发起请求服务,响应并展示返回结果响应。另外,VDS还能通过SSH和数据库建立网络通信,调起数据库Vsql客户端,通过Vsql执行数据库SQL操作和元命令。
VDS业务功能
VDS主要功能如图:
➢函数/存储过程调试:通过调试插件,协助用户编写开发函数/存储过程,对函数/存储过程进行断点调式、单步跳过、单步进入、中断等,并实时返回调试过程中的变量和调用堆栈;
➢对象管理:通过友好的可视化界面,对各种数据库对象,提供了创建、编辑、删除、元信息查询、DDL导出等等丰富的对象管理功能;
➢SQL编辑器:提供SQL代码的高亮、自动补全、格式化、错误提示等功能。使得编写SQL语句变得高效简单;
➢数据库连接管理:可方便地添加、删除和管理多个海量数据库;
➢数据浏览:通过直观的数据网格,对查询结果进行展示查看。并支持数据的排序、搜索、分页、导出、编辑等;
➢权限管理:通过用户/角色和对象权限的管理实现数据库权限的分配和控制;
01
逐行调试
可以逐行执行存储过程或函数的代码,查看变量的值变化和程序的执行流程。
02
设置断点
允许在代码中设置断点,程序运行到断点处会暂停,方便查看当前状态。
03
查看/修改变量
可以查看和修改存储过程或函数中使用的所有变量的值。
04
调用栈
显示当前的调用栈,可以查看存储过程或函数是如何层层调用的。
05
错误处理
如果程序出现错误,将显示错误信息。可以更快地定位和修复bug。
06
中断调试
可以随时中断正在进行的调试,灵活控制调试的生命周期。
调试效果:
● DBE_PLDEBUGGER插件
VDS的代码调试依赖于DBE_PLDEBUGGER插件,DBE_PLDEBUGGER插件是数据库提供的一款存储过程和函数的调试插件,通过对调试的流程的精准控制,配合VDS UI的高亮/断点/单步的效果显示,实现用户-VDS-数据库的调试交互。
DBE_PLDEBUGGER插件的使用依赖JDBC,插件拥有一系列的系统函数,用于实现调试周期的每个环节,包括:attach(绑定调试端口)、next(单步执行)、continue(继续执行)、 info_code(获取源语句)、step(单步进入)、info_breakpoint(断点)、backtrace(调用堆栈)、 finish(结束调试)。
对VDS调试流程进行分析,参与调试流程,概括为三个主要的角色:
Ø 数据库调试插件:提供和控制调试流程,通过函数应答精准控制整个调试的流程;
Ø ServerConnection:jdbc连接,用于和数据库调试插件绑定调试端口,指定调试的目标函数,控制;
Ø ClientConnection:jdbc连接,在ServerConnection和数据库调试插件建立联系之后,获取了调试句柄,ClientConnection拿着句柄和数据库调试插件通过函数应答完成单步、断点、中断等一系列的调试活动。
上述三个角色的调试过程时序图可简要描述如图:
VDS为每个数据库对象都提供了丰富全面的管理功能,各对象的主要菜单项列举如下:
✧数据库对象(Database)
分析、清理、授权/撤销权限、属性查看、编辑
✧模式(Schema)
创建、重命名、导出DDL和数据、授权/撤销权限、属性查看、级联删除
✧表(普通表和分区表)
创建、表信息编辑更新、表复制、重命名、属性查看、删除、数据查看、分析、截断、清理、重建索引、打开行访问控制、查询相关序列、导出导入表数据、导出DDL和数据、ER图、授权/撤销权限
✧函数/存储过程(Function/Procedure)
创建、编辑、复制、删除、编译、调用、调试、属性、导出DDL、授权/撤销权限
✧包(Package)
创建、编辑、复制、删除、编译、导出DDL、授权/撤销权限
✧视图/物化视图(View/Materialized View)
创建、编辑、复制、重命名、属性查看、级联删除、查看数据、导出DDL、全量刷新、增量刷新、授权/撤销权限
✧外表(Foreign Table)
创建、编辑、查看、删除、级联删除、重命名、ER图
✧类型(Type)
创建、编辑、重命名、属性查看、删除、导出DDL、授权/撤销权限
✧触发器(Trigger)
创建、禁用、编辑、复制、重命名、属性、删除、导出DDL
✧同义词(Synonym)
创建、删除、属性查看、导出DDL
✧序列(Sequence)
创建、编辑、删除、级联删除、属性查看、导出DDL和数据、授权/撤销权限
✧列(Column)
创建、编辑、重名、属性查看、删除
✧索引(Index)
创建、编辑、重命名、属性查看、删除
✧分区(Partition)
创建、重命名、属性查看、删除、合并、切割、查看/编辑分区数据、删除分区数据
✧用户/角色(User/Role)
创建、重命名、属性查看、删除、修改密码、锁定
✧表空间(TableSpace)
创建、编辑、重命名、属性、删除、授权/撤销权限
✧审计(Audit)
创建资源池、创建审计策略、打开审计日志
VDS为用户编写代码命令提供了SQL编辑器,提高用户编写SQL的难度和门槛,简化数据库的开发和使用。SQL编辑器带来的便利性列举如下:
01
语法高亮
使用不同颜色高亮显示SQL语句中的关键字、函数、表名、字段名等,方便用户阅读和识别SQL语句的各个组成部分。
02
自动补全
当用户输入表名或字段名的一部分时,编辑器会自动提示可能的补全选项。这可以减少用户记忆表名与字段名的负担,提高编写SQL的效率。
03
SQL格式化
用户可以选择自动格式化输入的SQL语句,编辑器会重新排列各个子句的顺序和缩进,使得SQL语句更加标准化、整洁,便于阅读和维护。
04
执行计划和开销
在用户执行SQL语句后,编辑器可以显示该语句的执行计划,包括扫描行、索引使用情况等信息。这使得用户可以直观判断SQL语句的性能问题,实现SQL优化。
05
历史记录
编辑器会保存用户执行过的SQL语句,用户可以随时查阅和重用这些语句。避免重复劳动,提高工作效率。
06
可视化数据浏览
用户可以在编辑器中方便地浏览查询结果,不必再重复地执行SELECT语句。这简化了数据库开发过程,实现结果集的实时预览和分析。
01
直观的数据浏览
通过表格形式浏览查询结果,可以直接查看每个字段的值,直观分析数据之间的关系与规律。这比逐行查看文本结果方便得多。
02
支持排序
可以对网格中的任意一列进行排序,方便用户找到最大/最小值或检索特定的值。这使得数据更容易被分析和理解。
03
支持过滤
用户可以输入关键词或选择预设值对网格中的数据进行过滤,快速缩小结果集找到自己需要的数据。避免被冗杂的数据淹没,提高工作效率。
04
自动调整
当用户调整网格的宽高或隐藏/显示某列时,网格可以自动调整各列的宽度和行高,优化网格的显示效果。这使得用户可以根据自己的需要自由调整和优化界面,获得最佳的数据浏览体验。
05
方便的数据导出
用户可以很方便地将网格中的数据导出为CSV或Excel格式,以便进行数据的持久化存储与离线分析。这避免重复查询数据库,增强了用户的数据分析与处理能力。
06
支持数据在线编辑
用户可以方便地在网格中修改数据内容,支持修改后的数据库进行提交或撤销。
07
支持分页
当查询结果较大时,通过分页可以控制每页显示的数据量,轻松翻阅完整的结果集。不必滚动浏览大量数据,体验更友好。
08
支持插入或删除行数据
用户可以通过可视化界面,便捷地插入一行或者删除一行数据。
09
支持数据导出
支持用户导出目标查询数据,指定导出列、导出路径和导出的文件格式、编码;
数据库管理员可以在客户端中直观地创建角色,为不同的用户分配适当的角色,为不同的用户分配适当的角色,并在需要时调整或回收用户角色。这大大简化了权限管理的难度,避免了手动编辑SQL语句的复杂性。
数据库管理员可以非常直观地查看每个角色的权限构成,明确地控制权限的分配情况。这避免了在纯SQL环境下权限分配的盲目性,最大限度地减少错误风险。
VDS管理权限包括如下:
✓系统管理员;
✓运维管理员;
✓审计管理员;
✓安全策略管理员;
✓监控管理员;
✓创建数据库;
✓创建角色;
✓继承;
✓复制;
✓登录;
✓全部;
另外,VDS在创建用户/角色的过程中,还可以指定用户/角色的属性信息:
✓生效开始日期;
✓生效结束日期;
✓资源池;
✓所属角色组;
✓所属管理员组;
●对象授权和撤销
除开用户角色的单独管理,VDS几乎针对每种数据库对象,都进行了权限的指定,允许用户在创建对象或编辑编辑时,指定对象的使用权限范围(Insert、Select、Update、Delete、Truncate、References、Execute 等)、被授权人。直观便捷的控制对象的使用权限范围。如下图所示:
图文编辑|程筱淇
内容审核|市场营销部
关于海量数据
北京海量数据技术股份有限公司(股票代码:603138.SH)成立于2007年,是国内首家以数据库为主营业务的主板上市企业。公司十余年来秉承“专注做好数据库”的初心,始终致力于数据库产品的研发、销售和服务。核心产品海量数据库Vastbase系列、数据库一体机Vastcube系列,全栈国产化,应用满足度高,目前广泛应用于政务、制造、金融、通信、能源、交通等多个重点行业,已成为国产企业级数据库的首选之一。
