梁敬彬梁敬弘兄弟出品
往期回顾
七座城堡⓵ OLTP(上)
七座城堡⓵ OLTP(下)
七座城堡② OLAP(上)
七座城堡② OLAP(下)
七座城堡③ HTAP(上)
12. 从数据2.0到数据3.0时代
老柯:老王,咱们王国发展太快了,各种需求层出不穷,将数据的产生和使用不断推向高峰。您看我们这么努力才勉强支撑下来。不过更大的挑战已经来临了,需要我们好好想想对策了。
老王:啊,还有挑战?你这波澜起伏的剧情描述,听的我头都晕了。
老柯:您还记得之前我说,咱们迎来了快乐王国数据2.0时代吗?
老王:记得,难道现在开始快乐王国数据3.0时代了?”
老柯:没错。接下来我所讲述的就是快乐王国数据3.0时代。话说快乐王国数据2.0时代让每个人员都有自己唯一的数字身份信息,可以方便的证明你是你,这类的身份核验请求也成为我们OLTP城堡处理最多的一类数据请求。
老王:是啊,当时能这样,老安早就抓住了。
老柯:放心吧,老安一定能抓住的。我先说说快乐王国数据3.0时代是怎么一回事,简单说,
快乐王国数据2.0时代是你的身份信息,3.0时代是你的属性信息。身份其实也是一种属性,就是公民属性,人是有很多属性的,比如职业、资质、资产、学历、荣誉、兴趣爱好、重要经历等等。由于已经有了唯一身份信息这个基础,以此为根,就为一个人属性信息的聚合奠定了良好基础。如果说快乐王国数据2.0时代是用来证明你是你,那3.0时代就是用来证明你是一个什么样的人,可以非常安全方便的实现人和人之间的价值交换,从信息网络走向价值网络时代。我之前跟您提议建立超级身份系统,其实说的就是这件事,您也同意了。
13. HTAP城堡的诞生
老王:哦,对,你说过超级身份系统,这个挺好的。不过,你说这事和我们两个数据库城堡面临的挑战有啥关系吗?
老柯:有了这个铺垫就好说了,当一个公民的身份信息从单一属性变成了多属性时,很多交易场景就变得更加复杂了,同时判断这个人是一个什么样的人,那这就让交易变得更复杂了。比如以前一笔简单的交易很快就完成了,现在有了你是什么样的一个人这层因素在里面,就会变成先评估你的风险,再交易。而这类评估可能还比较复杂,因为它来自你的多个属性的整体判断。举一个简单的例子,insert into t1 表前,先判断存在于t2表的个人综合信息,本来直接插入就完事了。
当前超级属性身份还只是刚刚开始,随着各种基础设施的成熟,很快就要成熟并普及开来。届时,我们这两座城堡将难以应对大量边交易边分析的场景。
“为什么?”老王表示不理解。
老柯:我们的OLTP城堡处理的是OLTP请求,虽然各种交易请求铺天盖地而来,但是由于处理时间极短,所以请求不断被快速释放,所以我们CPU是可以撑住的。现在带分析的请求处理时间就没那么短了,请求的积压就产生了。那咱们把这个分析的需求放到OLAP城堡去做如何,那可不行,这个需求是实时分析 ,没法在两个数据库城堡中折腾。
老王:明白了,那我们该怎么办呢?
老柯:其实我刚才说的边交易边分析的场景是有名字的,叫HTAP(Hybrid Transactional/Analytical Processing)数据库,就是专门用来应对这种边交易边分析的场景。
老王:怎么应对?
老柯:您知道OLTP是行存,OLAP是列存,其实这种边交易边分析的HTAP我们可以考虑行列混存,比如某表需要高频插入,然后随即就要被拿去分析了,这时候就可以先以行的格式进行插入,每达到一定记录数或者尺寸时,再转成列的格式存储。这样就兼顾了两者的优势,确保插入和分析都能高效。
老王:听起来真巧妙啊!
老柯:其实这完全是取决于具体的业务场景,并没有存在一种一成不变的解决方法。我们可以有选择的把适合的场景放到HTAP数据库来处理,比如边交易边分析的场景一般来说交易的要求没那么苛刻,而分析的需求也没那么高,介于OLTP和OLAP之间。遇到极致OLTP需求和极致OLAP需求,咱们还是要在原来的城堡中进行的。
老王:那现在怎么弄,咱们要建一个HTAP城堡吗?”
老柯:考虑到咱们OLTP和OLAP城堡的压力也已经不小了。而现在随着快乐王国数据3.0时代的兴起,HTAP实时分析的场景也在不断增多,综合考虑,我认为我们还是有必要建立一个HTAP城堡。
老王:好,听你的,咱们下次HTAP城堡见!
未完待续…
七座城堡④ 时序(上)
系列回顾