作为目前国内增速快云计算服务商的阿里云,要支撑如此快速增长且庞大的云计算背后离不开一个超大规模的存储系统。为应对数据爆炸式增长带来的挑战,阿里拿出了大数据量可靠的存储、高效处理解决方案——云原生图数据库 GDB。
更多优质内容请关注微信公众号“AI 前线”(ID:ai-front)
目前,图数据库尚处于发展期,在国内图数据库用的还很少,但发展快速,是近几年增长快的数据库分支。作为“先行者”,阿里图 GDB 图数据库是如何设计的,应该如何应用?在 ArchSummit 全球架构师峰会(深圳站)2019 现场, InfoQ 采访了阿里云数据库产品事业部技术专家王若,听他深度解密阿里 GDB 图数据库的设计、应用以及图数据库服务的产业化实践进程。
以下为 InfoQ 与王若对话全文:
InfoQ:您自何时加入阿里,在存储技术事业部主要负责哪一块业务?
王若: 我是 2016 年加入阿里中间件团队,一开始做了 TFS(Taobao Filesystem)的 Owner,随后在 Tair 团队负责做新一代高速存储系统,并将 Tair 在阿里内部高速存储和多模系统的积累产出至公有云上,目前在做图数据库 GDB。
InfoQ:阿里云目前是中国也是全球增速快的云计算服务商,要支撑如此快速增长而庞大的云计算背后离不开一个超大规模的存储系统,您主导研发下一代大规模高速存储系统,目前进展如何?重点关注的核心(焦点)技术有哪些?
王若: 我做的主要是 NoSQL 高速存储系统这块,也就是双 11 大促用来支持洪峰访问的核心系统,特别是大促刚开始的那几分钟。这块面临的挑战很大,首先每年业务都在增长,新业务导致整个服务的体量都在急剧增长,因为阿里的大中台策略不仅仅是在电商领域,集团的所有业务接入到了 Tair 体系中,如优酷、高德、菜鸟等,比如去年的世界杯,高德出行节等。其次,高速存储这几年发展也很快,首先是存储介质的变革,从 DRAM 到 NVM,使得整个存储结构和架构发生了巨大变化;硬件加速诸如 FPGA 和尤其是高速 RDMA 的使用,使得 Shared-Everything 的架构逐步落地,这些实实在在的直接映射到了性能的提高和成本的下降。另外 NoSQL 数据库本身的发展,从前两年兴起的 Multi-Model 多模数据库到 NewSQL 体系的大发展,阿里在每一步上都走的很靠前。
更重要的,随着阿里的云产品战略,全面将集团业务往云上走,将阿里多年来的技术积累输出到云上,进一步打磨和提升云产品,来服务诸多云使用者和亿万的终端用户。这些年来我们也一直在做这些事情,比如我原先负责的 TFS,我们花了两年的时间把数百 P 的数据迁移到了云上的 OSS 存储,使得云上云下系统统一。Tair 团队过去孵化了 memcache 和 redis 产品,将我们大促的服务能力输出到云上。我们现在也将我们多模的图服务,将阿里使用的可靠的在线图数据库 GDB 提供给诸多云用户。
InfoQ : 阿里云原生图数据库 GDB 有什么技术难点,如何进行数据查询优化?数据库引擎的特点?
王若: 其实在大数据领域,图计算产品已经很多了,但是做一个在线的图数据库,尤其是在线的高可靠的图数据库要考虑的技术点很多。首先图元素的存储本质上非常稀疏,大多数数据本身都是非结构化的,另外图数据库的查询可能会涉及大量的子图运算,如果没有一个高度优化的存储引擎基本摆不平的,本身在线数据库算力就没这么强,这里面又涵盖方方面面,比如各种索引设计、缓存优化等。
再者,在云上售卖的话,为了保证用户场景和图结构的完整性,事务是必须要支持的。同时,GDB 采用阿里云的基础设施,打造了一个 Cloud-Native 的图数据库。因为云上本身这块上已经很完善了,在动态扩缩容、资源隔离、高可用架构和快照备份等都能和云基础设施轻松适配,这个也是一个非常大的优势。
InfoQ:目前,GDB 数据库已经有了很多内部客户,早已在阿里各个业务线产品使用,具体应用情况如何,效果反馈如何,请列举代表性的案例?
王若: 正如这次主题所讲的,早的时候,图数据库是以架设在分布式 NoSQL 上的多模服务来服务的。内部产品有很多就不一一说了,比如亲情号本身就是使用 TairGraph 来服务的。阿里的内部系统的特点就是规模大,场景复杂,这都有效的锤炼了系统。但是图数据库我们推广了很久后发现,除去大规模、高性能,图的服务场景很不一样。如果你做一个多模数据结构,比如像 Redis 一样结构化一个链表,一个集合,提供的运算大都是确定性的。对于图的结构化而讲,除去业务本身对图元素的二度 / 三度关系查找,游走,还有一些子图的局部运算,每个都不一样——挖掘数据的隐式关系是很重要的一环。还有就是事务性,TairGraph 为了极端的性能,没有事务,这样复杂场景下,就会有断图,射线的存在。所以还要去巡检和排查数据,说白了还是太在乎“查”的能力。
我们正是总结了多模服务和服务阿里集团内部业务的痛点,然后才逐步将图数据库 GDB 做起来,在内部替代了 TairGraph,也推到云上去,让广大云用户也能一起享受到云上云下相同的服务。
InfoQ:我了解到,GDB 数据库可以运用在社交网络、金融欺诈、实时推荐、知识图谱等应用领域,可否具体聊一聊,具体是如何运用的,可以帮助企业解决什么问题?阿里包括 GDB 在内的的数据库产品如何为合作伙伴赋能?未来 GDB 在技术和功能上还将会有哪些迭代和演进?
王若:GDB 专门为高度连接的数据进行优化,特别适合分析多跳数据。在推荐系统里,图数据可以根据画像、关注或者商品本身很容易的找到兴趣相同的用户,然后将一些用户购买的商品推荐给未购买的用户。在金融领域,GDB 可以实时的通过各种零散存储的借款,信用卡,分期账单关联到借账人,实时的计算打分。欺诈检测领域,也可以通过用户提供的伪信息迅速与已经使用的人,和现有人关联起来。图数据库特别适合挖掘各种离散的事件,用户等的关联关系。
也希望我们能将沉淀在阿里内部的产品和场景分享,赋能给广大用户。图数据库还处于发展期,也是所有数据库所有细分领域中发展快的一个分支,在国内图数据库用的还很少。
InfoQ:图数据库是近几年增长快的数据库类别,与传统的数据库相比,GDB 数据库有哪些特点和优势?图数据库 GDB 和关系型数据库有什么区别?
王若: 相对于现有的关系型数据库,GDB 专门为高度连接的数据集进行优化。在多跳遍历,尤其是递归 JOIN 的场景下,GDB 提供了更为高效的遍历性能。GDB 本身使用 Gremlin 查询语言,在复杂查询时可以提供更为精细的控制力。
现在也有其他的开源图数据库产品,GDB 的本身优势就很大。首先是一个云原生产品,开箱即用,用户无需额外考虑数据库实例的计算存储资源准备、监控告警等等运维事务。并且 GDB 本身具备主备高可用能力,还有数据库文件自动备份等特性,为数据的安全性、可用性提供了非常好的保障。
与大数据体系也有图计算产品相区别的是,GDB 主要构建实时在线的 OLTP 类服务,可以在毫秒级时间内完成数据存取、校验等业务逻辑,可以为终端用户提供更好的用户体验。另外 GDB 提供了完整的 ACID 在线事务能力,以及灵活的 IO 能力,实时更新,实时可见。
InfoQ:近年来,各个行业产生的数据量庞大,且呈现爆炸式增长态势,面对日常工作中产生的越来越多的海量数据,很多企业会面临数据处理的压力以及数据存储上的困难,您认为,数据爆炸的时代对存储技术的发展提出了哪些新要求?
王若: 是的,随着互联网的高速发展,数据对于用户来说价值越来越大。这本身对于存储和数据库提出了更高的要求,其实本质上就是存和算。海量数据的存储技术经过十多年的发展已经日益成熟,对于企业来讲,随着数据的爆炸式增长,存储的动态扩展性和可靠性的维护是越来越难的。
各行各业产生的数据与数据之间的关联关系,在数据的业务价值挖掘方面,也变得越来越重要。同时,相对以往,各企业追求更为实时的决策能力,以获得更大的商业利益或者规避风险。GDB 作为云原生的一个图数据库,在数据爆炸的时代提供了大数据量可靠的存储,对于数据之间的关联关系提供了原生,高效的处理能力。
InfoQ:云原生时代的到来,也会令数据库市场带来颠覆和变革,您认为,下一代数据中心的存储技术和系统将会面临哪些机遇与挑战。云原生时代的数据库应当是什么样子?未来 3-5 年,数据库将会是怎样的发展趋势?
王若: 正如 MySQL、Redis 等开源数据库云服务飞速发展,目前大部分是采用托管模式,伴随着用户的业务发展,对数据库功能、成本、弹性等都有了更高的要求,这也催生了云原生架构数据库,云原生已经对数据库格局产生重大影响,也是未来十年数据库发展的重要方向。
现在越来越多的用户将传统数据库搬到云上,从目前我们来看,未来的数据库应当具备的特性是:
弹性: 所有计算和存储的资源,无需用户预先配置,云数据服务可自行按业务负载进行扩缩容,真正做到像水和电一样方便,同时对于用户也提供了更为经济的使用成本。
智能运维: 数据库系统是一种比较复杂的软件系统,配置参数多种多样,管控系统也很复杂。将来的云原生数据库服务将自动对业务的使用场景进行统计分析,自动设置成适合业务应用的配置方式,将开发人员从繁重的 DBA 工作中解放出来。并且管控系统也将更加完善,高可用自恢复、甚至是跨可用区的高可用将会成为数据库系统的标准配置。
多模融合: 现在 Table、Graph、KV、Document 等各种数据库模型百花齐放,发展迅速,现在 SQL 和 NoSQL/NewSQL 在事务、扩展性等细节特性支持方面还有明显差异。在可预见的将来,各个数据访问模型在各自逐步深化的同时,事务、扩展性等基础机制方面将会逐步相互融合,关系型数据库也将提供更为完善的分布式水平扩展能力、多模型支持能力等,而各类 NoSQL 数据库也将在 ACID 事务、索引、查询优化等方面逐步完善起来。
硬件加速: 之前各个私有云厂商,以及定制硬件方式提供一体机服务的数据库系统中,硬件加速使用的较为普遍,但是在云原生的数据库系统中的使用还刚刚开始。将来云原生数据库系统也将在 NVM、GPU、FPGA 等硬件加速方面使用得更为完善,在异构计算加速、软硬件一体化融合方面更进一步,为用户提供更出色的性能和更经济的成本。
GDB 定位于实时在线的 OLTP 图数据库系统,在提供与传统关系型数据库等同的事务、自动索引、高度优化的查询计划和并行执行的同时,也提供了 NoSQL 类数据库中,专门为图模型定制的高效查询能力。在未来,GDB 将在弹性、智能运维、多模融合、硬件加速等方面持续优化,深入挖掘数据之间关联关系的奥秘。
嘉宾介绍
王若,阿里巴巴存储技术事业部技术专家。花名百润,现就职于阿里巴巴阿里云数据库产品事业部,高速存储组 TAIR 存储引擎负责人,技术专家。10 年来一直从事基础平台 / 中间件与存储技术,在阿里巴巴 NoSQL 组主导开发下一代大规模高速存储系统,并广泛应用于淘宝,天猫,优酷,高德等各大型系统。具有丰富的大型系统稳定性,可靠性设计经验。
来源 https://www.modb.pro/db/119061