阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

将数据库性能提升 100 倍?大数据时代中,一位数据库老兵的创新之路

  • 2021-07-08
  • 本文字数:3511 字

    阅读完需:约 12 分钟

将数据库性能提升100倍?大数据时代中,一位数据库老兵的创新之路

当前构建大数据应用的难点是什么?对于这个问题,相信很多资深从业者都会回答:海量数据的高效处理与运维。在大数据时代中,它是数据库行业面临的基础性问题,如何将它解决?既是挑战,也是机遇。


在无数数据库行业的老将新兵中,我们注意到一批力图解决大数据语境下,数据库使用和运维难题的“引路人”。今天,InfoQ 的专访对象 --- 姚延栋,正是这批大数据“引路人”中的一个。


作为 Greenplum 的第三号员工,在过去十年间,姚延栋曾带领团队将 Greenplum 打造成为世界排名第三的分析型数据库,创下由华人主导的数据库产品最好排名。而在数据库领域从业数十年后,他又选择开启自己的创业之旅,与两位合伙人共同创办了一家名为四维纵横的数据库公司。那么,他为什么在这个时间点选择创业?当传统行业的数字化转型成为大势所趋,数据库领域又发生了什么新故事?我们带着这些问题,同四维纵横创始人姚延栋一起聊聊数据库的过去与未来,挑战与机遇。

行业中存在一种思维惯性


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


“如果把数据库领域比作一个大森林,那么我们就是对地形非常熟悉的原住民。当有人想穿过大森林,却不知该走哪条路的时候,我们就充当‘引路人’来帮助他们穿过森林。倘若没有我们,那他们可能会按照自己的惯性去走。”


姚延栋在 Greenplum 效力的十年期间,最初主要从外围模块入手打造产品,后来逐步向核心迈进,打磨内核模块,直到团队驾驭整个数据库内核,他坦言这与农村包围城市的过程十分类似。在此期间,他发现行业中存在一种惯性思维,而创业就是为了打破这种惯性。


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


以时序场景为例,现在业内普遍流行使用专用的时序数据库,典型的代表产品有 InfluxDBOpenTSDB 等,而与此同时,几乎所有场景都需要关系型数据库。这样一来,大家就不得不引入多个数据库产品,使得技术栈以及监控运维变得十分复杂。


虽然专用时序数据库在一定程度上满足了业务对于时序处理的需求,但也存在诸多问题,其中性能低、扩展性差的问题尤为显著。过去时序数据库大多是为数据中心的服务器监控、埋点数据处理等简单场景设计的,所以,其无法为物联网等场景下的大量数据源和大量指标提供支持。除此之外,开发效率低、需要 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-Database Machine Learning 成为一个值得关注的方向,将机器学习的算法内置到数据库将逐渐成为主流。一方面,借助分布式数据库的并行计算能力,可以使计算速度超越单机;另一方面,由于单机上的内存有限,在数据量很大的情况下,只能抽样进行训练,模型精度就会变差。通过 In-Database Machine Learning 模式,就能实现在全量数据上训练,模型精度也将得到进一步提高。


“过去从业者需要自己写程序才能实现机器学习。”这是姚延栋提到的一个现象,并表示其中的技术门槛比较高。“目前,MatrixDB 数据库通过直接提供 SQL 接口,大大降低了机器学习的门槛,能够在一定程度上缓解人才稀缺的问题”。

下一步怎么走?


“未来我们会继续在性能和效率两个维度持续发力,并沿着更智能的方向去发展。”落实到具体的业务层面,姚延栋表示会在提升易用性、构建生态两个方面重点发力。


众所周知,数据库运维对于从业者来说是一个很大的挑战,也因此衍生出了数据库运维这个行业。尤其在分布式数据库环境中,节点数量多以及需求多样化的特点,使得运维的难度更是大幅增加。姚延栋表示:“今后,我们将继续致力于降低数据库的使用门槛,使数据库有能力提供自动性能调优、健康检查等功能。”


在构建生态方面,他也给出了更高层面的考虑。数据库是基础软件,没有人能够只使用数据库就解决业务问题,必须与很多周边产品搭配,才能发挥真正的价值。因此,对于数据库产品来说,生态的重要性不言而喻。“如果没有生态,我们相当于把复杂度问题扔给了用户,联合行业内上下游共建生态是我们接下来的方向”。


“数据库能定义未来记忆。”由于 MatrixDB 数据库更多应用于物联网、车联网、工业互联网和智慧生活等场景,姚延栋也与 InfoQ 谈到了他对于万物互联时代中数据库的理解,万物互联的目的是更智能化,而智能的前提是基于记忆,但事物本身是没有记忆能力的,如风力发电机、智能手环等等。“未来我们希望通过超融合时序数据库,赋予一些没有记忆能力的设备以记忆,为智能衍生出更多的可能性。”


万物互联时代的智能化到底会是什么样?这个问题还未有定论,仍然需要等待技术随着时代不断演进,不断进化才能得到答案。但可以肯定的是,在这之前先建立起事物的记忆能力,能够为不远的智能化时代奠定基础。


谈及数据库和四维纵横的未来,姚延栋希望能够让数据处理简单到像用电、用气、用水一样,把 MatrixDB 数据库打造成一个真正的一站式数据处理平台,让从业者在进行数据处理时,不再需要关心底层的数据存储以及计算的复杂性。这是四维纵横正在探索的方向,也是行业共同努力的终极目标。

2021-07-08 09:362634

评论

发布
暂无评论
发现更多内容

软件测试 | 测试开发 | 测试人生 | 毕业2年未满,0经验拿下知名互联网企业30W 年薪,他是怎么做到的?

测吧(北京)科技有限公司

解析Stream foreach源码

华为云开发者联盟

Java 开发 企业号九月金秋榜

开源指南|如何从零开始参与 Apache 顶级开源项目?(二)

SelectDB

数据库 大数据 Doris 开源治理 企业号九月金秋榜

怎么合理使用索引

急需上岸的小谢

9月月更

PSYNC 部分重同步的原理

急需上岸的小谢

9月月更

软件测试 | 测试开发 | 测试人生 | 年薪超过40W,一位测试媛宝妈的 BAT 大厂逆袭之旅

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试人生 | 从功能到外企测开,工作1年半拿下年薪30万的测开 offer,这个95后小姐姐未来可期~

测吧(北京)科技有限公司

测试

Istio Ambient Mesh 介绍

Se7en

恭喜 SelectDB 三位开发者成为 Apache Doris 新晋 Committer!

SelectDB

大数据 开源项目 Committer SelectDB 企业号九月金秋榜

科技公司内部 SaaS 工具大公开|活动回顾(含视频 & PPT)

Bytebase

创业 工具 开发者工具 SaaS

软件测试 | 测试开发 | 测试人生 | 二线城市涨薪近10万 ,还能955,这样的机会你想不想要?

测吧(北京)科技有限公司

测试

MyBatis-Plus(一、快速入门)

MySQL Mybatis-Plus 9月月更

软件测试 | 测试开发 | 测试人生 | 转行测试开发,4年4“跳”年薪涨3倍,我的目标是星辰大海(附大厂面经)!

测吧(北京)科技有限公司

测试

[MyBatisPlus]DQL编程控制②(查询投影、查询条件)

十八岁讨厌编程

Java 后端开发 9月月更

大学三年狂拿国内外十几个3D挑战赛大奖?!国内CG新星崛起

Renderbus瑞云渲染农场

CG 云渲染 3D动画 渲染农场 Renderbus瑞云渲染

EMR重磅发布智能运维诊断系统(EMR Doctor)——开源大数据平台运维利器

阿里云大数据AI技术

大数据 运维 企业号九月金秋榜 EMR

[MyBatisPlus]DQL编程控制①(条件查询)

十八岁讨厌编程

Java 后端开发 9月月更

从低代码的前世今生,看软件开发趋势

SoFlu软件机器人

Python中的super函数,你熟吗

华为云开发者联盟

Python 开发 企业号九月金秋榜

软件测试 | 测试开发 | 接口测试框架实战(二)| 接口请求断言

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 接口测试框架实战 | 流程封装与基于加密接口的测试用例设计

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | Jenkins 如何参数化job ?

测吧(北京)科技有限公司

测试

字节跳动基于ClickHouse优化实践之“高可用”

字节跳动数据平台

数据库 大数据 Clickhouse 数据开发 数据计算

Redis 的PSYNC命令

急需上岸的小谢

9月月更

金蝶云星空&契约锁专场直播:帮企业从小处降本,从细节增效!

IT资讯搬运工

金融

软件测试 | 测试开发 | 接口测试框架实战(一) | Requests 与接口请求构造

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试人生 | 折腾 6 年踩坑无数的”笨小孩“:方向对了,路就不会遥远!

测吧(北京)科技有限公司

测试

开奖啦!看看8月月更获奖名单有没有你?

InfoQ写作社区官方

热门活动 8月月更

毫末智行董事长张凯:渐进式路线将在智能驾驶竞赛中赢得终局

科技大数据

容器化|自建 MySQL 集群迁移到 Kubernetes

RadonDB

MySQL 数据库 RadonDB Kubernetes 集群

不懂 Kubernetes 实现云原生是什么体验?

北京好雨科技有限公司

云原生 #Kubernetes#

将数据库性能提升100倍?大数据时代中,一位数据库老兵的创新之路_数据库_郑思宇_InfoQ精选文章