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

日前,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有十多年时间,“优秀的数据库开发人员实际上需要有相当长一段时间去培养去沉淀。”

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

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

  1. Neo4j(1):图数据库Neo4j介绍

    1 什么是图数据库(graph database) 随着社交.电商.金融.零售.物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算.大数据行业需要处理的数据之间 ...

  2. 会议交流 | 京东硅谷首席科学家领衔,图机器学习峰会火热开启!

    2021年10月10日,DataFunSummit:图机器学习在线峰会将如约而至.本次峰会的形式再次创新,由图与推荐与DataFun联合策划.京东硅谷研发中心 首席科学家 吴凌飞博士与腾讯大数据 AI ...

  3. Neo4j(一):图数据库基础

    目录 1.概述 1.1 特点 1.2 优点 1.3 缺点 1.4 Neo4j的使用场景 2.为什么需要图数据库 2.1 Google+ 2.2 Facebook 3.数据模型 4.图形理论基础 5. ...

  4. 英伟达CEO黄仁勋对话OpenAI首席科学家,谈GPT-4及未来大模型

    来源:机器之心 在今年的 GTC 上,NVIDIA 创始人兼首席执行官黄仁勋与 OpenAI 联合创始人.首席科学家 Ilya Sutskever 进行了一场深度对话,讨论了 GPT-4.ChatGP ...

  5. 图数据库 Neo4j 学习总结

    Neo4j是一个NoSQL的图数据库管理系统,这里所说的图是指图论中的图这种数据结构,图是一个比线性表和树更高级的数据结构. Neo4j存储的数据是一个属性图,其中,节点表示一个实体,节点的属性表示实 ...

  6. 聊聊Neo4j图数据库的那些明显优势

    摘要: Neo4j是一个NoSQL的图数据库管理系统,像其他NoSQL数据库一样具有高效的查询性能.同时,Neo4j还具有完全事务管理特性,完全支持ACID事务管理.Neo4j与其他数据库相比,具有哪 ...

  7. 一文聊“图”,从图数据库到知识图谱

    作者 | 穆琼 责编 | 晋兆雨 头图 | 付费下载于视觉中国 随着知识图谱的发展,图数据库一词被越来越多的提到.那么到底什么是图数据库,为什么要用图数据库,如何去建设一个图数据库应用系统,图数据库与 ...

  8. 图数据库Neo4简介-CQL语法

    图数据库Neo4j 一.什么是图数据库? 图数据库是基于图论实现的一种NOSQL数据库,其数据结构和数据查询方式都是以图论为基础的,图数据库主要用于存储更多的连接数据. 图论[Graph Theory ...

  9. 人人都在讨论图数据库,它到底好在哪——创邻科技

    [摘要]图数据库不是存储图片的数据库,而是存储顶点与他们之间关系的数据库.与传统关系型数据库相比,图数据库的优势体现在直观性.灵活性.高性能等方面.图数据库支持多种图算法,可以应用于社交网络.金融欺诈 ...

最新文章

  1. python3 hashlib加密库 md5 sha1 sha256 sha384 sha512 加盐
  2. bigdecimal不等于0怎么写_创业计划书不知道怎么写?掌握核心逻辑是关键
  3. leetcode 106. 从中序与后序遍历序列构造二叉树 c语言递归解法
  4. ML之FE:利用【数据分析+数据处理】算法对国内某平台上海2020年6月份房价数据集【12+1】进行特征工程处理(史上最完整,建议收藏)
  5. SEO那些事:一句代码一键分享网站
  6. 函数的作用域在各浏览器的混乱情况
  7. MacOS安装zsh插件zsh-autosuggestion(自动命令补全和建议)
  8. 【语言处理与Python】2.5WordNet
  9. oracle没用过元数据,案例:Oracle RAC asm备份元数据之md_backup和md_restore 好处与
  10. 如果这个世界没有乔布斯和盖茨
  11. flask向html传函数,Flask----函数数据类型传参
  12. 蓝桥2021模拟真题 (跳跃 )DFS
  13. 数据库基础:MySQL必备的三个工具
  14. 报错AttributeError: Can‘t pickle local object ‘Worker.__init__.<locals>.<lambda>‘解决办法
  15. 给页面加上loading加载效果
  16. 2013 ACM区域赛长沙 H zoj 3733 (hdu 4798) Skycity
  17. Mac下Eclipse反编译插件安装
  18. ASP.NET2.0 ReportingServices报表灵魂的收割者(一)
  19. ROS学习笔记-用脚本发布cmd_vel话题
  20. 如何登陆计算机服务器,电脑服务器怎样登陆

热门文章

  1. ThinkPad 联想笔记本电脑 Fn 键设置
  2. Windows系统发展史
  3. coreldraw软件完整最新版2022矢量图形设计软件
  4. vue项目实现登录/退出功能(包括token机制)
  5. 语音识别再破记录,这个领域究竟哪家强?
  6. qqext|QQ显IP插件
  7. ubuntu 14.04 搜狗拼音输入法安装
  8. 博弈论学习笔记(七)纳什均衡伯川德模型与选民投票
  9. 在烟台找软件开发相关的工作就那么难么?
  10. htc one s 进入bootloadert和recovery方式