大数据应用领域有哪些 中国数据库有哪些( 四 )


HTAP 数据库将两种需求场景合二为一的愿景固然美好,但在实际的开发过程中,要想实现 HTAP 并不容易 。陈磊介绍,实现 HTAP 的难点主要有几个方面:
首先需要解决的是数据存储,大家知道列存是可以做这种分析型的运算,研发高性能的列存引擎就是一个难点,当然现在已经有一些优秀的开源列存引擎,开发者可以在此基础上复用 。
然后就是行存和列存数据的一致性问题 。传统的 HTAP 数据库行存与列存是分开的两张表,行列之间不需要保持数据一致性,但是像 ZNBase 以及 TiDB 这种新型的 HTAP 数据库,同样的数据同时有行存和列存,就需要保证数据的一致性,但解决数据一致性问题也会带来新的问题,比如影响数据写入的性能,如何去解决数据写入性能问题也是一个难点 。
还有的话就是数据同时保存在列存和行存中,当一个查询命令过来的时候,应该选择哪一个存储引擎来计算?这个时候给数据库系统的 SQL 层、优化器和执行器带来的挑战也会更加大一些 。
数据库与 AIAI 的高速发展影响着各行各业,如今也有一些数据库厂商尝试在 OLAP 的场景中加入 AI 辅助进行数据分析,那么这种趋势是否会给 ZNBase 的未来发展方向带来一些启示呢?
陈磊告诉我们,目前业内在数据库中引用 AI 辅助的模式主要有两种,一种是 AI for DB,还有一种是 DB for AI 。
DB for AI 就是为分布式数据库提供 AI 分析的能力 。就像 Greenplum 通过 MADlib 的第三方插件来实现一些机器学习、图计算或者深度学习的一些算法,客户直接使用AI算法对库内的数据进行计算 。“这样的工作确实有厂商在做,但我认为还不足以形成一种趋势 。”陈磊表示 。
另外一种模式就是 AI for DB,这种模式有两种,第一种是一些数据库厂商提供的类似“数据库大脑”或“数据库自动驾驶”的外部工具,它通过分析数据库日志或者一些视图,得出数据库的性能表现,然后去动态地调整数据库参数,来达到优化数据库性能的目的 。另外就是在数据库中利用一些 AI 算法来进行优化,包括内核优化、运维优化等 。比如在数据库比较核心的执行计划、执行计划生成、优化器等部分加入 AI 算法的能力辅助来实现性能优化,这一块确实是数据库行业目前的趋势,也是陈磊认为最难做的部分 。
ZNBase 的团队实际上也在做数据库与 AI 结合的研究,而 AI for DB 是目前主要研究的一个方向 。
未来规划最后,陈磊分别从开源运营角度和产品研发角度介绍了 ZNBase 未来一段时间的发展规划 。
首先是开源规划,目前团队暂时只开源了 ZNBase 的 KV 存储部分,他们的计划是争取 6 月底把 ZNBase 的所有代码全部开源,包括 SQL 层和一些上下层封装接口,全部采用 Apache 2.0 协议 。
而关于研发的规划,陈磊向我们透露了大致的方向:“目前我们正在研发一个列存引擎,还有前面提到的 AI 方面的优化,以及用 C++ 或 Rust 替代 Go 语言来重写 ZNBase 的 SQL 层,这些工作都在我们的日程中 。感谢大家对 ZNBase 的关注,我们也会尽快把所有的代码开源出来,届时欢迎感兴趣的开发者加入到我们的社区中参与贡献 。“
【大数据应用领域有哪些 中国数据库有哪些】

推荐阅读