最近几年图数据库迎来井喷式发展,根据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有十多年时间,“优秀的数据库开发职员实际上需要有相称长一段时间去培养去沉淀。”
一入数据库深似海,从此浮躁是路人,做时间的朋友,许多题目就不再是题目。(向阳) |