7 月 21 日,ArchSummit 全球架构师峰会在深圳召开。会上,泽拓科技创始人&CEO赵伟论坛上分享了主题为《分布式数据库时代数据库应用和管理新方法》的精彩演讲。

赵伟带着听众通过回顾数据库系统发展历史,总结IT前辈的经验教训,作为数据库系统选型的理论基础。这个经验就是:数据管理必须与应用逻辑隔离,由专用的数据库管理系统(DBMS)软件完成。
随着移动互联网和人工智能的快速发展,以及各行业信息化、数字化、智能化的深度发展,越来越多的公司面临日益增加的数据需要有效管理和利用,经典数据库的集中式数据库管理系统早已经无法满足这种需求,因为它们面临的巨大挑战是处理大并发重负载场景下的数据读写访问和事务处理负载,并且提供自动的故障恢复能力。
由于缺乏自动的水平扩容能力,这些负载早已超过了单台服务器的性能极限,因此这些挑战是经典数据库无法解决的问题。
为此业界曾经在世纪之交不得不部分地转向NoSQL数据库,通过放弃通用的事务处理和SQL查询处理能力,来获得弹性伸缩能力以及更高的性能,以便用服务器集群承载高并发的数据访问负载。
但是,后来在数年的应用系统开发过程中,应用系统开发者痛苦地发现,NoSQL数据库放弃的这些能力,是非常重要非常关键的,因为很多应用场景就是要把多个读写操作作为一个逻辑上的原子操作 -- 也就是事务 --- 来执行。NoSQL的单行事务原子性是不够的。并且,使用NoSQL做查询处理的开发工作量极大,软件维护极度困难,时间和人力开销极大,系统质量、项目周期风险极大。
因为应用开发者在case by case地重复实现SQL的查询功能,这是软件开发的大忌。因此互联网业界从2010年多有试图重新转向关系数据库,早起就是依靠分库分表中间件或者应用层分表,这是从一个坑跳到了另一个坑,应用系统开发仍旧复杂,上述问题依旧存在。直到今年出现了分布式数据库。
优秀的分布式数据库应该完全地把数据管理封装起来,给应用软件暴露简洁的接口,也就是SQL。这样,基于分布式数据库开发应用系统,与基于经典数据库完全相同,同时用户获得了水平弹性伸缩,金融级高可靠性等系列能力。KunlunBase 就是这样一款优秀的分布式数据库系统。
然后,赵伟介绍了KunlunBase 架构、核心功能以及技术实现,特别是KunlunBase的一系列高级SQL功能。
Klustron(又名Kunlunbase)架构图:

KunlunBase分布式数据库管理系统支持OLTP和OLAP混合负载,支持关系数据模型、JSON 数据等多模型数据管理。用于存储、管理和利用海量数据,实现高性能事务处理和分析处理。支持水平弹性伸缩,金融级高可靠性,兼容最新SQL标准并且支持MySQL,PostgreSQL连接协议和语法,具备全方位数据安全机制,在高并发重负载场景提供高性能事务处理和数据读写能力。
KunlunBase分布式数据库具备完善全面的数据安全存储、访问控制和数据校验能力。DBA可以建立多层级多粒度的访问控制规则,还可以启用数据文件和日志文件加密以及网络连接加密,确保数据安全访问。还可以为每个表定义数据有效性校验规则,确保存储到数据库系统中的数据都是符合用户需求和业务逻辑的有效数据。
然后,赵伟给出了分布式数据库系统选型需要考虑的一系列关键能力,具备这些能力的分布式数据库系统,才适合较大规模的应用系统。最基础的是水平弹性伸缩能力和金融级高可靠能力。这是提供高质量的数据管理服务的基础能力。同时,最好具备完整的数据分析能力,以便为数据仓库提供基础数据源(ODS);并且支持在最新业务数据上做数据分析以便支持诸如风控、推荐等需要对最新数据做出快速反应动作的分析功能。
赵伟指出,在一系列高级SQL功能中,多层级的访问控制,视图、物化视图、CHECK约束,domain,行级安全(Row
Level Security, RLS)等是关键必备功能,而存储过程和触发器是可选的重要功能。同时他介绍了每一种高级SQL功能的用法和价值。这些高级SQL功能在经典数据库系统中已经存在了很多年,其之所以存在和广泛应用就已经证明了其价值和优势。在分布式数据库系统中这些功能仍然非常有用,不过有一些分布式数据库系统并不具备部分高级SQL功能。KunlunBase具备所有这些高级SQL功能,是一个优秀的企业级分布式数据库系统。
最后,赵伟给应用架构师和DBA一些职业发展的建议,在分布式数据库系统时代,应该如何选择合适的分布式数据库系统作为应用系统的坚实基础,并且充分利用和发挥分布式数据库系统的价值,提升企业的应用系统设计、研发水平,提升数据库系统运维管理水平,为企业可持续发展和业务可靠运行保驾护航并且创造更大的价值。
彩
蛋






