KunDB是星环科技发行的分布式事务型数据库,目前主要在星环客户群体内使用,很少对外宣传,借墨天轮平台的国产数据库写作活动机会介绍下。
核心特性
- 采用ShareNothing的分布式架构,计算和存储层解耦,提供数据库的ScaleOut解决方案;
- 定位是标准的关系型数据库模型,支持标准SQL,兼容MySQL8.0 语法,部分语法兼容Oracle,如伪列和PL/SQL等
- 支持分布式事务保证ACID,支持轻量的单阶段提交和二阶段提交两种模式。
- 使用了容器技术,支持云原生下的部署。
- 跟星环其它数据库产品和工具构成了一站式的大数据生态的产品矩阵,如分析型数据库ArgoDB组成HTAP解决方案,跟TDC组成多租户PaaS解决方案,其它还包括数据资产管理、多模数据库等。
Use Case
KunDB的主要适用场景包括
- 高并发的在线事务处理系统
- 使用容器和云原生技术构建的系统
- 使用分布式系统替代原有集中式系统
- 高可用、容灾架构解决方案
- 去Oracle、DB2等数据库国产化解决方案
- 部分需要ACID支持的大数据场景
业务架构
KunDB直接相关的组件和业务架构如下图所示
KunDB数据库引擎组件
SQL接入与编译系统
负责SQL的解析、重写、执行计划生成。SQL分解后下推给底层分布式节点执行,类似于MPP。目前也支持PL/SQL。
灾备与扩缩容系统
负责数据库的高可用管理,包括主备同步的监控、及时选主等。该组件本身也是分布式和高可用的。
事务管理器
内部提供的分布式事务管理组件,协调各节点事务提交与回滚,也包括全局锁管理和事务ID的管理。
元数据服务
KunDB的分布式拓扑结构数据都在该组件中保存,也是分布式和高可用的。
周边工具组件
Guardian
星环PaaS平台统一的安全、授权与审计工具。用户由Guardian组件创建后,与其它管理组件的用户认证和权限打通,用户授权后可管理和访问KunDB的实例。
Manager
星环大数据组件统一使用的部署管理工具。提供了KunDB数据库的拓扑规划部署、扩缩容管理、配置参数调整、启停控制等图形化交互功能。
Aquila
图形化的数据库性能指标与监控、日志收集与分析、告警管理工具。监控KunDB运行时的性能变化和危险事件,对历史SQL数据进行分析,提供类似于Oracle的AWR的分析结果。
Waterdrop
图形化SQL开发工具。通过配置JDBC连接信息和驱动,可以直连KunDB进行SQL交互,进而让用户能够完成数据探索和数据预览。对SQL的执行过程进行Trace,便于Troubleshooting。KunDB兼容MySQL,所以主流的数据库客户端工具如Navicat也都可以使用,还是推荐使用适配过的Waterdrop。
KunLoader
离线数据批量导入工具,如果数据是在csv文件中希望快速导入,非常适合使用KunLoader。KunDB是多存储节点的分布式集群,通过KunLoader做分片预处理后可以并发导入到底层数据节点,相当于MySQL的MyDumper效果。
KunDumper
数据批量导出工具,可以快速将数据导出到本地磁盘,适合做逻辑备份或者过滤后导出部分离线数据给分析人员。
KunDR
数据库灾备管理工具。提供分布式存储集群的物理/逻辑备份还原和全量/增量备份还原。
除了以上组件,KunDB的周边工具链还包括数据同步工具、数据迁移工具、SQL审核工具等。