(九)集算器的未来
集算器的未来会取代数据库和数据仓库,即演变成和传统关系数据库/数据仓库正面竞争的产品。
这里我们把数据库和数据仓库分开来说,数据库是指主要用于交易业务(OLTP)的产品,而数据仓库则用于分析业务(OLAP)。目前许多商业数据库把这两个功能整合在一个产品中,但事实上这两种需求有相当程度的矛盾性,放在一起会出现顾此失彼的现象。OLTP更强调事务一致性、高并发但单任务数据量不大、计算复杂度也低;而OLAP则不需要考虑事务一致性、低并发但单任务数据量大、计算复杂度高。
我们将会把这两个目标分别做成两个产品,专心解决相关的问题。
数据仓库的主要任务就是计算,其存储也是为计算服务的,高效率的计算也需要有相应的存储方案来支撑。集算器作为计算引擎,已经拥有较完善的计算能力,并且提供了高效的存储方案。在这些基础上,再补上良好的存储管理机制,就可以发展出数据仓库产品,当然,这样的计算能力也会有点封闭性(必须事先整理),但比传统数据仓库还是好很多(同时还可以计算外部数据)。
换个角度看,集算器不会是一个阶段性产品,即使演化出数据仓库后,作为计算引擎的集算器仍然有存在的意义,并且会长期完善下去。因为数据仓库的计算能力是相对封闭的,也难以被嵌入到应用程序中,而应用中总会有大量库外数据,永远会需要开放且可以被集成的计算能力。
数据库产品则主要面向云应用。云应用将打破企业界限,不象传统应用每用户分别部署,而是云服务商提供一个系统面对所有用户;应用也不会一期一期做下去,而要永远在线,只能热升级。不同用户的数据结构不完全一样,同一个用户在不同时段的数据结构也会变,这样就会积累大量不同结构的数据要一起存储和计算,而这完全不是关系数据库设计时考虑过的问题。
许多NoSQL产品能支持结构多样性,但缺乏事务一致性,而关系数据库正好相反。集算器发展出来的云数据库将结合这两者,在保证事务一致性的同时提供结构多样性,并由集算器提供计算能力。