当前位置: 首页 > 网络应用技术

neo4j“万亿万亿”关系图

时间:2023-03-09 01:41:40 网络应用技术

  我对数据库基金会的兴趣始于与彼得·邦克(LDBC主席)在Sigmod 2018上的对话。设计图数据管理基准LDBC社交网络基准中使用的阻止点方法(LDBC-SNB)。比较(例如,Pagesthis是该行业的第一个,其次是其他图形初创公司和学术基准报告)。当我与Tigergraph的最大银行,医疗保健,零售和制造公司合作时,我意识到这些基准不符合这些基准的实际要求评估企业图形数据库。我一直在寻找更接近真实客户查询的复杂图形查询模式的图形基准。LDBC-SNB满足要求!

  从那时起,Tigergraph采用了LDBC-SNB作为基准套件来评估我们的发行性能,我们使用最大的LDBC-SNB数据集(2019 1TB,2020 5TB)继续创造世界创纪录的可扩展性。

  最近,Neo4J在100TB处的吹捧LDBC-SNB查询(51:48这里开始在这里;演示的源代码在这里。意识到大数据集在图案例中的重要性。但是,在查看演示的实际内容之后,我真的很失望。这种所谓的100TB演示不是合理地使用LDBC-SNB基准。这是一种纯粹的营销策略。换句话说,对于解决实际业务问题的现实世界从业者来说,这不是一个有用的演示。

  该博客将讨论为什么基准测试很重要,并展示如何伪造Neo4J的100TB演示。

  关于我的背景,我是ISO GQL标准委员会的成员,并积极地为GQL图查询语言标准做出了贡献。我写了这篇博客文章在数据库领域使用我的20年研究(我正在接受培训佛罗里达大学佛罗里达大学和行业发展经验(Microsoft,Oracle,Turn Inc。和Tigergraph)。世界。

  简而言之,Neo4J在LDBC参考名称和LDBC-SNB基准中使用图表/表模式,该模式在现实生活中生成其无用的简化虚拟数据集(在实体之间没有真实的相关性,没有现实的现实边缘,现实的边缘是Reality的边缘樱桃的关系程度),从LDBC -SNB的14个IC查询(第32页)中选择了4个简单查询,以声称并产生幻觉,即Neo4J可以扩展和回答全局查询,但它们都不是真实的。

  分布式和可扩展的数据库不需要用户知道或关心多少机器或碎片需要。它应该透明地工作。

  Neo4J对系统中应有多少碎片以及在体系结构中应该有多少件作用感到自豪和兴奋。这只是一个事实,即Neo4J结构产品不是分布式或可扩展的数据库。数据库专家,有时我很欣赏Neo4J如何将其结构化的致命缺陷转变为技术壮举,并且在产品营销中是如此持久。要了解真实的分布式图数据库应该拥有的内容并与Neo4J的织物产品进行比较,请参见高级的摘要本文。

  相比之下,Tigergraph可以在100台机器中完成100台机器(而不是1000台机器)下显示的所有内容。我们产品中的用户是透明的。TigergraphCloud!请继续关注这个单独的博客。

  有关NEO4J演示的更多详细信息:

  通过此,我们希望我们的客户能够以360度理解我们的产品,并以典范为例,以显示权威性LDBC图形数据库基础的合理使用。我们邀请所有图形数据库供应商在为了在健康和客观的环境中培养图形数据库的使用。

  当IT专业人员计划购买技术产品时,他们需要评估多个竞争产品并回答以下问题:“哪种产品可以最能满足我的需求?”

  评估基准评估以根据明确定义的跨度维度的客观标准评估替代产品。它允许人们量化不同的技术,以便为其软件购买做出更客观的选择。

  精心设计的图数据库基础测试从以下角度对不同的图数据库进行了公平的360度比较:

  五年前,当我开始启动Tigergraph Leaderslion基准测试工作时,我使用了一种简单但严格的方法:选择具有丰富关系的现实数据集,维修硬件,选择最常用的图表查询(K-Hop,Pagerank,etc。),交叉验证,然后在不同比例因素下测试性能。该方法提供裸机性能。许多其他图形数据库供应商遵循我们的方法。据我们所知,这是行业中的第一个。但是,由于当时的时间和资源限制,它并不全面。它无法系统地发现和定量图数据库的弱点和定量图。这种简单的方法是,它远非实用图形数据库用户的使用方式。

  彼得向我介绍了LDBC-SNB基准测试后,我将其纳入了后续的基准测试中。为什么?

  在上面的背景下,我们将使用LDBC-SNB模式来查看Neo4的100TB演示。请注意,我没有使用“基准”一词,因为Neo4j巧妙地澄清了演示不是在他们的示范指南。

  “数据本身是根据LDBC社交网络基准图生成的。

  该演示不是基准,而是基准数据非常适合评估扩展策略的影响。”

  显然,Neo4J因其声誉而选择了权威的基准测试LDBC-SNB。他们想显示其SO-SO-CALLED结构产品的可扩展性和性能。

  在演示期间,LDBC-SNB的官方数据生成器无法生成100TB.NEO4J的原始数据发布了自己的数据生成方法,也没有遵循原始基准测试理念。片段(来自演示视频的数字),然后使用相同的算法和参数在每个论坛片段中生成数据。由于图形的大小与论坛的切片数量线性相关,因此它们很容易扩展数据大小为100TB。

  下面,我分解了他们的数据生成方法,并表明随着数据量表的增加,演示查询具有可预测的结果。

  如图1所示,LDBC-SNB模式分为两个主要部分-1人shard和1000+论坛碎片。人shards包含3B具有连续ID的人。east论坛片段包含所有个人ID参考(无属性)个人碎片。

  图2显示了如何产生边缘知道连接两个人。每个人k直接知道多达20个人。这20个人的ID是连续的,并且与K相邻。因此,个人K最多知道40个人(朋友和朋友))。该方法生成可预测的数据复杂性:朋友的朋友人数的上限为40。角色节点的朋友在连续的ID范围内,导致更好的位置。这导致演示中的缓存更好(因此相比之下,LDBC-SNB官方数据生成器模拟的朋友数量遵循Facebook社交网络研究中描述的电源分布。根据比例因素1(1GB数据),生成了36个朋友和2845个朋友)。)Essencei进行了一个实验,使用BI数据集中的LDBC-SNB官方数据生成器,以进一步验证并计算每个数据集的平均知理数量对于SF-1,每个人平均有24.45知道边缘;SF-100,60.91知道边缘;SF-10K,137.40知道边缘。因此,平均知识的边缘增加了log10(m),其中m是比例因素。请参阅下表。

  图3描述了论坛碎片的数据生成。east论坛片段包含10,000个论坛。每个论坛包含100?800帖子,每个论坛平均有450个帖子。该帖子的创建者是从个人碎片中随机选择的。0至80条评论,相当于每个帖子的40条评论。40条评论的创建者连续40个人从个人碎片中随机提取。每个评论的时间戳是当前时间减去随机0至10天。所有随机数都是通过均匀分布生成的。

  Neo4J的数据生成器重复相同的算法以生成1,000多个论坛碎片。因此,论坛碎片几乎是相同且独立的,这是不现实的。人工地图不包含数据倾斜与实体之间的真正相关性。

  相反,LDBC-SNB的官方数据生成器是将数据形成块,并且更现实。

  Neo4J的示威游行滥用了“全球调查”一词。

  Neo4J首席执行官声称“演示查询是一个深度且复杂的图形全局查询,旨在折磨数据库”,这是错误的。

  基于数据库的测试中的“全局查询”是指涉及大多数图形的查询类别(请参阅此处的LDBC-SNB BI查询中的说明)。基于此普遍可接受的含义,让我们计算一下触摸图表元素的数量演示查询。

  演示查询IC9的英语描述为:

  “给出了一个先发球员,请找到由该人或朋友的朋友或朋友(不包括首发者)创建的消息。只有在考虑给定的Maxdate之前创建的新闻(不包括那天)。”

  让我们看看Neo4J如何运行IC9演示。

  实际上,上述查询来自LDBC SNB基准测试中的交互式复合物(IC)工作负载。此类别中的查询仅访问给定节点的相邻域。因此,这些查询是局部的,大致使用运行时O(log n)要表征,其中n是图形元素的数量。例如,在Tugraph的审计结果中,当数据生成器的比例因子从30增加到300时,吞吐量仅下降约10%(从5436 OPS/SEC至4855 OPS/sec)。如果是全球查询,则预计随着数据大小的增加,吞吐量将增加10倍。

  此外,使用LDBC-SNB参考数据生成器,由于社交网络的相关性,IC 9选择的人员和消息的数量和消息可能会在某些论坛上聚集。NEO4J数据生成器平均将消息分配给论坛中论坛,生成的运行时查询模式是不现实的。

  演示仅使用2个查询(IC9和最近的帖子)。原始IC套件有14个查询(请参见第33页)。演示不能解释为NEO4J性能的整体视图。基准测试查询被设计为完整的套件。,覆盖不同的阻塞点。挑剔的查询可以产生幻想并违反基准设计的目的。

  例如,下面的BI 11查询取自最新版本的LDBC-SNB,该版本计算给定国家/地区中所有不同的人物。Person Shard CPU和内存以及1000+论坛上的资源将是免费的。

  实际上,此查询非常昂贵,结果的大小为o(n^1.5)复杂性,其中n是此示例中的人数。如果将人节点分配给不同的碎片并使用所有可用的计算功率在运行JOIN算法的集群上,性能将比所有每个人都放在机器上(shard)要快得多(因为更多(更多的是更多)(因为更多(更多的是更多)计算资源。樱桃采摘参考查询将使观众在Neo4J的演示设置中看不到这个问题。数据库理论的最新进展可以通过“有价值的最佳连接算法”在最坏情况下最坏的数据复杂性中最佳地解决这一问题。。

  NEO4J最近的100TB演示不是对LDBC-SNB基准的合理使用。数据是高度人为的和虚幻的。该查询是从基准选择的,以演示滥用该术语的“全球查询”,以产生营销的幻想。

  相比之下,自2019年以来,Tigergraph采用了严格的基准测试方法来实施TB量表上的LDBC-SNB基准测试。我们的所有基准测试都使用以下原则:

  通过此,我们希望让我们的客户以360度了解我们的产品,并在整个图形数据库行业中以典范来展示权威图数据库基础的合理使用。我们邀请所有图形数据库供应商将基准用于顺序使用基准。在健康和客观的环境中培养图形数据库的使用。

  激烈的辩论是弗兰克交流的基础。我邀请所有数据库从业人员就目标基准的优势与Tigergraph团队进行对话。我还邀请所有读者阅读MAP数据库购买者指南,以评估领先的地图数据库,包括Neo4J,Neo4J,,,,,亚马逊海王星,dataStax和Tigergraph。