100倍数据库性能:大数据时代的数据库资深人士的创新指南
浏览:313 时间:2021-11-9

当前大数据应用程序构建的难度是什么?对于这个问题,很多资深员工回答。海量数据的有效处理和维护。在大数据时代,那是数据库行业面临的基础问题。怎么解决?既是挑战,也是机会。

在无数数据库行业老将的新兵中,我们注意到了要尽力解决大数据的脉络。今天,作为InfoQ采访对象的姚延栋,是这个大数据“向导”之一。

作为Green plum的第三号员工,在过去十年里,姚延栋率领团队将Green plum制作成了世界第三位的分析型数据库。制作了华人主导的数据库产品的最佳排名。在数据库领域工作了几十年后,他又选择了打开自己的创业之旅,与两个合作伙伴一起建立了一家四维纵横的数据库公司。为什么他在这个时候选择了创业?传统产业的数字化正在大势所趋。数据库领域有什么新的故事吗?我们带着这些问题,和四次元创始人姚延栋一起谈论数据库的过去和未来。是挑战和机会。

业界有一种思维的惯性。

创业是为了打破行业的惯性。

“如果把数据库领域比作大森林,我们就是熟悉地形的原住民。有人想穿过大森林,但是不知道该走哪条路。我们作为“向导”穿过森林。如果我们不在的话,他们可能会按照自己的惯性去。

姚延栋在Green plum效力的十年间,最初主要从外围模块开始制造产品。之后慢慢向核心前进,磨练了内部核模块。这期间,他发现行业中有惯性思维,创业目的是为了打破这种惯性。

这个惯性到底指的是什么?

以计时场景为例,业界一般使用专用的定时数据库,但代表性的商品有InflumxDB、OpenTSDB等。因此,必须引入多个数据库产品,使得技术栈和监控维护变得非常复杂。

专用的时序数据库在一定程度上满足了对业务时序处理的需求,但是性能低,扩展性差的问题也很多。过去的定时数据库大多是为了数据中心的服务器监视、填埋点数据处理等简单的场景而设计的,因此无法对应物的互联网等场景中大量的数据源和大量的指标。此外,开发效率低,需要Mpp数据库和大数据产品的合作和数据孤岛化等,是放置在员工面前的难题。

根据时运产生的超融合时机数据库

“我一直在看数据库的技术发展和生物界的进化类比。”

自上世纪60年代诞生以来,数据库技术不断发展和重复。其背后主要有两股力量在推动着。一个力量是性能问题,另一个力量是效率问题。

上世纪七、八十年代,有关数据库开始走向天下。员工主要基于相关数据库,有效保存并处理应用开发所使用的数据。到了2000年左右,数据规模大幅增加,但是大数据处理技术还没有出现原形。整个社会还对庞大的信息处理感到迷茫。技术的反复速度赶不上数据的增长速度。由此,大数据处理的性能问题开始显现,数据库区域出现定时数据库、KV数据库、文档数据库等专用数据库,性能能够解决从0到1的问题。但是,应用程序为了与多个数据库进行沟通,会从多个数据库读取数据,重新连接到应用程序存储器,进行汇总,合并等计算。很多数据处理逻辑只能放在应用程序上。

这样,为了解决效率问题,业界出现了presto等类型的产品。也就是说,将查询引擎封装到专用数据库中,将数据处理逻辑从应用处理逻辑中剥离出来。这个方式在一定程度上解决了开发效率的问题,但是性能还很低。没有从根本上解决技术栈的复杂问题。

经过近50年的演变,现有的数据库技术已经不能满足员工的需要。他们需要更容易使用,省事的数据库。在这样的背景下,为了给用户提供简单易用的接口,真的实现了数据的平民化,姚延栋和他的团队将关系数据库、定时数据库和分析数据库融合在同一个数据库产品中制作了世界唯一的pB级的超融合定时数据库——MatrixDB。

超融合定时数据库解决了什么问题?

现在,超融合定时数据库主要应用于两个场景。第一、定时、时空场景通常是物联网、工业互联网、汽车网络和智慧城市等领域。第二,实时数据分析场景。

在定时、时空场景方面,姚延栋共享了大量设备、大量保存的典型在线场景。以制作光纤和5G通信设备的国际制造商为例,该制造商拥有约1000万设备,各设备每次收集300个指标数据。每次合计采集30亿指标。在这种情况下,MatrixDB实现了超大规模数据的实时加载特性,保证了低延迟和高同时加载,并且减轻了系统资源的消耗,充分地显示了高速收集和高效率存储的特性,并且充分地表示了海量数据的存储问题、能够完美解决秒级收集频率要求。

关于实时分析的特性,姚延栋提出了其他事例。在实时数据分析业务中,MatrixDB实现IT运营域和OT生产域的数据收集,通过ETL/CDC和单网络协议插入数据后,将两个网络的数据合并公司整体的数据一眼就能明白。企业根据这些数据进行分析的话,可以得出更准确、全面的结论。

另外,作为MatrixDB另一个重要特性的模块化和插拔也受到关注。专用定时数据库通常包括存储器和简单的致动器,并且没有关系数据库的经典组件,例如与优化器同时控制。本质上,在数据库中“创建”内存,并解决特定问题。超融合定时数据库通过使存储器作为“进”数据库、使各核心功能模块化、可插拔,在关系数据库内同时实现多个存储引擎,并且实现跨越存储器表的关联和ACID。例如,有200张表,其中190张是相关数据。这个部分可以使用相关引擎来记忆。剩下的10张是定时数据,可以使用定时引擎进行存储,可以相互关联。

与现有的关系数据库+专用定时数据库的组合架构相比,通过支持多个存储引擎,在将超融合定时数据库的性能提高10~100倍的同时,大幅降低了成本可以提高开发的维持效率。

令人吃惊的是,除了高速收集、高效记忆、实时分析、模块化和可插拔特性外,MatrixDB还作为数据库产品发挥着作用。随着人工智能技术的快速发展,In-DatabaseMacneLearning朝着值得关注的方向发展,将机器学习的算法嵌入数据库成为主流。另一方面,由于分布式数据库的并行计算能力,计算速度可以超过单个设备。另一方面,由于单机器的内存有限,数据量大的情况下,只需取样品进行训练,模型的精度就会变差。通过InDatabaseMachine Learning模式,可以进行全数据的训练,模型精度也会进一步提高。

“过去的工作人员只有自己写程序才能学习机器。”这是姚延栋的一个现象,表明其中的技术门槛很高。目前,MatrixDB数据库直接提供SQL接口,大大降低了机械学习的门槛,在一定程度上缓和了人才不足的问题。

接下来怎么走?

今后也会在性能和效率的二次元中持续发挥力量,向更智能的方向发展。在具体业务方面,姚延栋表示将重点放在易用、生态建设上。

众所周知,数据库的运行和维护对员工来说是一个很大的挑战,从而产生了数据库运行和维护的行业。特别是在分布式数据库环境中,节点数多,需要多样化的特征,从而运行维护的难度更大。姚延栋说:“今后也将努力降低数据库的使用门槛,提高数据库的自动性能,提供健康检查等功能。”。

在构筑生态方面,显示出了更高水平的想法。数据库是基础软件,没有人只使用数据库就能解决业务问题。只有和很多周边产品相结合才能发挥真正的价值。因此,对于数据库产品来说,生态的重要性不言而喻。如果没有生态的话,相当于向用户投掷了复杂度。共同建设行业内的上下生态是我们的下一个方向。”

数据库可以定义未来的存储。因为MatrixDB数据库更应用于物联网、汽车互联网、工业互联网和智慧生活等方面,姚延栋也提到了InfoQ和他对万物互联网时代数据库的理解。万物互连的目的是为了更智能化,智能的前提是基于记忆,而事物本身却没有存储能力。风力发电机、智能手链等。未来我想通过超融合定时数据库,把没有存储能力的设备给予记忆,为了智能产生更多的可能性。

万物的网络时代的智能化到底会变成什么样呢?这个问题还没有定论。技术要与时俱进才能得到答案。但是,在这之前一定要确立事物的记忆能力,为不久的智能化时代打下基础。

就数据库和四维纵横的未来而言,姚延栋希望能将数据像电、气、水那样简单地处理。将MatrixDB数据库作为真正的一站式数据处理平台,对员工进行数据处理时,可以不关心底部的数据存储和计算的复杂性。这是四次元纵横交错摸索的方向,也是业界共同努力的最终目标。