数据库 频道

对话Neo4j首席科学家Jim Webber:图数据库江湖5年后将尘埃落定

  最近几年图数据库迎来井喷式发展,根据DB-Engines的追踪数据,自2013年以来,图数据库流行度可谓是一骑绝尘。

  今年6月,开源图数据平台Neo4j宣布获得3.25亿美元F轮融资,创造了私营数据库公司单笔最高融资纪录,投后估值超过20亿美元。市场上有那么多种数据库,受欢迎程度拥有一飞冲天之势的为什么是图数据库?它能解决什么问题?什么样的图数据库更有未来?

Neo4j首席科学家Jim Webber

  日前,IT168采访了Neo4j首席科学家Jim Webber,对相关问题进行了探讨。

为什么图数据库可以一飞冲天?

  作为基础软件三大件之一的数据库,素有“皇冠明珠”的美誉。向下,数据库充分攫取硬件的性能,对上,它承载着重要的业务应用系统。

  一直以来,以Oracle为代表的关系型数据库是数据库里的王者,随着互联网、移动互联网的爆发,业务越来越多元复杂,更多细分的应用场景,对数据库的性能、扩展能力等提出了更高的要求。NoSQL随之兴起,出现了更多强有力的挑战者。有专家指出NoSQL数据库中的键值数据库、文档数据库、时序数据库、图数据库在不同的细分领域定义了不同抽象方式,因为场景更加聚焦,所以获得了良好效果。关系型数据库一家独大的局面,正在一点点消解。

  近几年作为挑战者之一的图数据库发展迅猛,最为直观的表现是图数据库在DB-Engines流行度趋势里的飞天姿态,资本不断伸来橄榄枝,今年除了Neo4j获得3.25亿美元破行业记录融资外,国内外还有一些图数据库厂商也获得了新一轮融资。

  在那么多新型数据库中,为什么是图数据库脱颖而出?归纳起来主要有以下几个方面原因:

  一是,图数据库满足了大数据时代的需求。“大数据”每年都在增长,但如今的企业领导者不仅需要管理更大规模的数据,还迫切需要从现有数据中得出深刻见解。正如Seth Godin所说,企业需要摒弃仅仅收集数据点的做法,开始着手建立数据之间的关联关系。数据点之间的关系甚至比单个点本身更重要。传统的关系数据库管理系统(RDBMS)并不擅长处理数据之间的关系,那些表状数据模式和结构难以添加新连接或不同类型连接。而图数据库,它应用图形理论存储实体之间的关系信息,其中的图是一种拓扑图,以点边模型来构建整个世界,表述能力强,擅长处理数据之间的关系。

  图数据库实际上是为大数据技术提供底层支撑,拥有广泛的应用场景。人是社会关系的总和,关系与相关性在大数据时代更为重要,图是天生为相关性而生。典型的应用场景如欺诈检测,通过将问题解构为图,更容易在现有数据中获得重要的见解。

  在一份流传甚广调研报告中,可以看到世界100强在大比例使用图数据库,金融、零售、软件、物流、电信、医疗等行业都在使用图数据库。

  二是,面向未来智能时代,图数据库大有可为。Neo4j认为,图和图数据库技术管理关联数据并定义关系。通过应用领域相关知识增强AI的性能,图技术提供了一种有效的技术手段来实现复杂AI应用程序的开发。比如与领域知识结合的知识图谱,在多个行业都有落地。

  三是,GQL(图形查询语言)更便捷,GQL标准化符合数据库融合的发展大势。Jim Webber指出SQL在处理图相关的操作时非常不便,大量的链接产生冗长的查询语句。他认为NoSQL更像是数据库发展的一个中间状态,解决了传统数据库的扩展问题,但却带来了糟糕的访问接口即API,开发人员并不喜欢使用,GPL可以解决这些问题。

  2019年,隶属ISO/IEC联合技术委员会1(负责制定IT标准)的全球诸多国家性标准机构通过了GQL项目提案,GQL是SQL之后的第一个ISO/IEC国际标准数据库语言项目。GQL高度依赖现有的语言,主要灵感来自Neo4j开发的图形查询语言Cypher,“查询语言标准化是融合的一大趋势。”Jim Webber指出,2022年相关草案将会面世。

  四是,前文所述资本以及各方布局推动。DB-Engines目前收录了32家图数据库,而在国内,据不完全统计有10几家图数据库产品。入局者既有Neo4j这样耕耘十多年的专业服务商,也有亚马逊、微软等巨头,还有一批创业新秀。令Jim Webber印象深刻的是亚马逊AWS在2017年推出图数据库Neptune,巨头的加入再次证明了Neo4j一路坚持的正确性。

  值得一提的是,虽然NoSQL的出现正在消解关系型数据库的霸主地位,但是目前大多数行业的核心系统依然是关系型数据库的天下。图数据库市场方兴未艾,但增速喜人。Markets and Markets预计,到2023年,图形数据库市场将从2018年的8.218亿美元增至24亿美元。Gartner的分析师预计,到2022年,企业图形处理和图数据库将以每年100%的速度增长,到2023年,将促进30%的组织的决策。

乱花渐欲迷人眼

  数据库在企业IT支出中可能算不上大头,但是由于它承载着重要的业务系统,一旦选定容易产生依赖不会再轻易变动,企业在数据库选型时会格外谨慎。图数据库作为新兴的数据库,且现在市场上可选择的品牌也不少,可谓是乱花渐欲迷人眼,如何选型?

  欲谈选型,先讲分类。Jim Webber认为,图数据库从技术层面可以分为原生图数据库和非原生图数据库。

  原生图数据库,是从存储到逻辑模型、查询模型和展现全部都是图。典型代表有Neo4j、TigerGraph、Neptune等;非原生图数据库,底层存储是一种存储,但是它有一个图的逻辑层或者图的表示层,逻辑层上面以图的方式去操作数据,代表有CosmosDB、JanusGraph、Titan等。

  原生图数据库和非原生图数据库,除了在设计和实现上的区别之外,Jim Webber指出了二者其他的差异,原生图数据库,其查询性能更加可预测,因为它的物理存储、逻辑、查询、内存,查询引擎全部是基于图设计,因此随着数据量的增长,它可以有一个一致性的查询性能。

  对于非原生的图数据库,通常是在逻辑层或者表示层有一个中间的图,把图的操作翻译成对底层存储的数据操作需要做很多假设,比如有些图的逻辑层,它最大便利的层深度为三,那么在三层以内做了很多限值优化,在物理层执行得很好,但是一旦超过三层,其性能便不可预知。此外,因为逻辑层和物理层并不一致,对容错也是一个很大的挑战。

  按照硬件支持可以把图数据库分为两大类,一类是基于传统的通用CPU实现的图数据库,包括Neo4j、TigerGraph、Neptune等。第二类是使用一些特别的硬件,包括GPU或者是FPGA这样的特别的CPU,这种处理器特别擅长浮点处理,包括 RedisGraph等。

  硬件上的先进性会要求像图数据库这样的产品能够不断向前发展,“有能力去利用硬件提供的一些非常强大的计算能力,是未来是一个很重要的趋势。”Jim Webber指出,而到底哪种硬件架构更加适合于图数据库或者图计算的趋势,取决于查询计划生成器。目前来看,所有基于CPU或者种通用型处理器的查询生成器,都表现不错,“这也是之前Oracle之所以如此成功的很重要的一个因素,因为Oracle能够开发出非常强大的查询执行引擎。”Jim Webber强调,在图数据库领域,查询执行引擎还有很多工作要做,而Neo4j处于领先地位,因为Neo4j产品采用独特的模块化架构设计,使得产品能够很容易扩展,特别是能针对不同的硬件的特征进行优化,比如Neo4j最近推出的图数据科学的一个扩展。

  面对多种不同的图数据库,企业要按需选择。Jim Webber认为企业用户在数据库选型时主要会考虑三个方面:

  第一个是性能,数据存进去需要查询,需要提供足够好的查询性能,不管数据的规模如何。

  第二个是数据需要安全。数据一旦存储,写入之后能够再读出来,不能牺牲数据的一致性,或者牺牲数据的可读取。

  第三个是有一个好的用户社区、技术社区。当今的企业并不想投资或者去研究、学习、采纳一种小众的技术。通常企业更愿意去使用一种被广泛所接受的,有很多人使用的,而且能够找到很多相关的人才资源学习等资源的技术产品。

  Jim Webber强调图数据库是一种通用型数据库,“基本上原本用关系数据库实现的项目或者方案,80%都可以用图数据库来实现。”由于文档本身会有一种层次结构,这种层次结构以图的方式存储会更加灵活,他认为图数据库比文档数据库更适合存储文档。

  不过Jim Webber也指出了一些不太适用于图的场景,比如数据中有大量大块的内容,如音频、视频等并不适合图数据库。此外,数据本身并不需要太复杂的数据结构和数据模式,可以使用键值数据库。

图数据库江湖5到6年后尘埃落定

  2000年当世界来到新世纪,Neo4j的创始人遇到了传统关系型数据库的问题,开始建立第一个Neo4j原型。2007年在Neo4j背后成立了一家位于瑞典的公司,同时在GPL下开放了第一个图形数据库Neo4j的源代码。这开启了Neo4j的新篇章,从2007年开始就有两个版本可供公众使用:企业版和免费的社区版。企业版相比于社区版添加了热备份、并行图算法、LDAP和活动目录集成、多集群、更大的图等。

  Neo4j的特点是可以扩展到数十亿个节点的恒定时间遍历,灵活的属性图模式可以随着时间的推移而调整,并为JavaScript、.NET、Go和Python等流行编程语言提供驱动。它符合ACID(原子性、一致性、隔离性和耐久性)的要求,在人工智能方面,它支持在大型数据集上的高性能图形查询。

  如今的Neo4j已经从瑞典走向全球,成为世界级的图数据平台,根据 DB-Engines 排名,Neo4j 是目前最受欢迎的图数据平台,可以说Neo4j 是目前使用最广、商业化最成功的图数据平台。

  对于正在快速发展的图数据库市场,参与者众多。Jim Webber判断,未来5到6年后图数据库市场的竞争格局会尘埃落定,“未来的5到6年当中可能会形成这么一种格局,就像当年关系数据库的格局,会有1家领导者者,2~3家的跟随者,这个期间会有大量的企业关闭,或者一些合并购的发生,那么这一点我觉得中国和国外是一样的。”

  当下图数据库市场有三类参与者,各有千秋。Jim Webber分析,一类如Neo4j 专注于图数据库领域耕耘了近20年,产品和技术已经相当成熟,现在专注于让业务在商业落地方面更加成熟。第二类像微软、AWS这样的大型企业,其业务非常成熟,在图数据库领域也会有很多竞争力。此外,还有大量的一些小型的或者新创图数据库厂商,他们相对比较小,这使其能够快速进行创新迭代,劣势是没那么容易能够找到对应的市场和目标客户。

  面对越来越复杂严峻的竞争态势,2018年Neo4j 宣布从 Neo4j 3.5 版本开始,企业版将仅在商业许可下提供,不再在 GitHub 上提供源代码。这表明Neo4j 的开源策略从完全开源转向了OpenCore也即核心开源,70%的数据库核心的内容功能开源,30%就是面向于企业版,比如说高可用、数据库运维管理等这些特性都是闭源,那么对于用户来说,开发人员仍然可以免费获得一个获取开源软件的使用尝试,如果他们需要移植到生产环境当中,可以采购企业版。

  值得一提的是,这一次图数据库市场的盛宴,中外基本处在同一起跑线。Jim Webber坦言,在某些方面中国图数据库的研发还比较先进,一是规模大,另外在新硬件的实现方面,中国有制造业和科研的优势,中国图数据库软件和硬件齐头并进,共同改进技术。很多数据库方面一个复杂的问题,以软件方式解决很麻烦,以硬件实现更为简单,中国的团队已经考虑从硬件角度去实现。比如中国的百度、阿里、腾讯、华为这些大厂硬件发展处于领先地位,将GPU、FPGA直接包含在主板或者内存上。

  关于GPU以及FPGA,Neo4j也做了很多前沿的布局。Jim Webber指出,刚刚获得融资的Neo4j有充足的弹药,也有技术储备,不过硬件还处在标准化的过程中,如何去做还需要进一步研究。

  Jim Webber介绍,亚太地区是非常活跃的地区,而正在大力发展数字经济的中国是一个拥有潜力巨大的市场,中国也是Neo4j在整个亚太地区是发展最快的地区。他认为中国企业和国外企业拥有同样的图数据库需求,不过规模更大,需求更为复杂,有大的机遇也有巨大的挑战和压力。未来,Neo4j会继续扩充在中国的团队,也会和中国的一些巨头们建立紧密的合作伙伴关系,一起开拓市场。Jim Webber指出:“中国是一个不成功便成仁的市场。”

  无论国内市场还是国外市场,图数据库领域已经开始了跑马圈地的战场厮杀。“我希望看到的是在未来几年之后,图数据库市场稳定之后,剩下的一些公司都是一些有成熟产品,有成功案例的这些公司,是让大家能够很满意的公司,而不是让大家觉得很尴尬的公司。”Jim Webber告诉IT168。

后记:从一场意外开始

  十年前在瑞典的某个会议上,一直研究数据库的Jim Webber做了关于分布式系统复杂性的演讲,会后参加会议的一个瑞典人找到Jim Webber讨论数据库技术,两人各持己见,他们谁也没能说服对方,Jim Webber甚至很不礼貌地告诉对方:“你根本就不懂数据库。”

  研究技术的人都比较执着较真,第二天,他又找到Jim Webber,分享他对数据库的看法,讲数据库应该怎么设计,尤其是关系型数据库,会给用户带来了很多不必要的复杂性,如果做连接,会有很多的复杂操作,从而影响性能,接着他对Jim Webber宣传关于图的概念,那个执着的人便是Neo4j创始人以及现在的CEO Emil Eifrem。

  通过与Emil Eifrem的交流,Jim Webber意识到图可能会是一个巨大的机会,彼时他在ThoughtWorks担任专业服务总监一职。后来Emil Eifrem向Jim Webber抛来橄榄枝,Jim Webber一开始有些犹豫,图的前途并不明朗,Neo4j又是一个太新的产品,ThoughtWorks的领导也并不看好,但愿意给Jim Webber一个尝试的机会,Jim Webber可以加入Neo4j尝试6个月,不行再回来,ThoughtWorks为他保留职位。

  一去十多年,身为Neo4j首席科学家的Jim Webber陪伴着Neo4j一路成长,也见证着图数据库逐渐繁荣,被各行业广泛接受。他认为加入Neo4j步入图数据库领域是一个意外,在感受到图的“威力”后,如今他脚步坚定斗志昂扬。

  对从事技术的人而言,只有开始没有终点,因为创新无止境。像数据库这样的基础软件行业,人才的重要性永远排在第一位。Jim Webber坦言国内外优秀的数据库开发人员都非常短缺,尤其是数据库内核研发人员更为稀有。面对全球都存在数据库人才困境,Neo4j是如何解决的?

  Jim Webber介绍一般做两手准备,一方面Neo4j会努力寻找具有很深厚的数据库开发背景和经验的开发人员,邀请他们加入公司。另外一方面,对于其他领域的开发人员,虽然没有数据库的开发经验,但是非常渴望能够加入这个领域,Neo4j也会把他们招揽进来,培养人才。数据库是一个系统工程,不可能一个人熟悉所有的数据库里内容,包括网络、操作系统、容错,或者查询执行引擎等,Neo4j通过把软件模块化,切分成很多子系统,在每个领域去培养不同的开发人员,来保证产品的开发和不断改进。

  Jim Webber特别强调,培养出一个真正优秀的核心数据库开发人员,需要很长的时间很高的成本,才能让他们不断成长起来。这与一些硅谷的高科技企业不同,在那里可能开发人员每三年、四年要换工作,在Neo4j的开发人员平均都有六年以上在公司的工作经验,Jim Webber在Neo4j有十多年时间,“优秀的数据库开发人员实际上需要有相当长一段时间去培养去沉淀。”

  一入数据库深似海,从此浮躁是路人,做时间的朋友,很多问题就不再是问题。


      2021年10月18日~20日,由IT168联合旗下ITPUB、ChinaUnix两大技术社区主办的第12届中国数据库技术大会(DTCC2021)将在北京国际会议中心隆重召开。大会以“数造未来”为主题,设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、人工智能与大数据应用、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

      为历经十年的积累与沉淀,如今的DTCC已然成为国内数据库领域的技术风向标,见证了整个行业的发展与演变。作为顶级的数据领域技术盛会,DTCC2021将继续秉承一贯的干货分享和实践指导原则,期待大家的热情参与!

3