catia dse_DSE Graph评论:Graph数据库起双重作用

catia dse

图形数据库明确表示节点之间的连接,并且比关系数据库在分析网络(计算机,人,地理或其他方面)方面更有效。 最近有很多好的分布式图形数据库,包括Amazon Neptune (OLTP,使用Gremlin和SPARQL查询语言), AnzoGraph (OLAP,使用SPARQL *,它是对SPARQL的增强), Neo4j (具有某些OLAP功能的OLTP,使用Cypher ); 和TigerGraph (混合OLTP和OLAP,使用GSQL)。

DSE Graph是一个分布式图形数据库,它建立在后端列式数据库DataStax Enterprise(DSE)上 ,并使用Apache TinkerPop Gremlin查询语言。 该产品源自开源的Titan数据库,该数据库具有多个后端,包括Cassandra。 DataStax Enterprise是Cassandra的增强版本。

当DSE Graph首次发布时,其他的Titan后端被删除,并且Titan代码被完全重写以更好地利用DSE。 但是,从图到列的数据映射非常稀疏,并且需要使用专用图加载器来加载图。 在DSE Graph 6.8的当前预览版中,图形顶点,边线和属性数据到列的映射比以前更紧密,并且可以使用DSE批量加载器dsbulk来完成加载图,这与加载列所使用的实用程序相同。

DSE Graph使用两个不同的引擎来支持事务和分析工作负载。 分析引擎依赖于Spark,它是DSE产品的一部分。

DSE Graph的当前版本称为Graph Core。 旧版本现在称为Graph Classic; Graph Classic仍在产品中以向后兼容。 Graph Core和DSE 6.8预计于2020年上市。

DSE Graph Core架构和主要功能

根据DataStax的说法,Core Engine计划从三个主要方面改进了DataStax Graph:图形模型与常规C *(Cassandra)表对齐; 可用性得到改善; 并提高了性能。 图形性能的提高很大程度上是因为简化了读取和写入路径。

在新的图形数据模型中,图形对应于CQL键空间,顶点或边缘标签对应于CQL表,基础顶点或边缘标签的属性对应于CQL列。 可以使用ALTER KEYSPACE语法使用CQL将现有键空间转换为图形,并且可以使用ALTER TABLE语法将现有表转换为顶点或边缘标签。

Core Engine体系结构的另一个好处是,您可以像CQL数据一样加载图形数据,因为图形数据实际上存储为C *键空间,表和列。 dsbulk实用程序比用于Classic Engine图形的旧graphloader实用程序快得多。

DSE图架构 数据税

DSE Graph架构。 该图早于DSE 6.8预览版,但实际上是正确的。 发生了变化的是DSE Graph和Cassandra之间的映射,未明确显示。

DSE Graph安装

我通过两种方式在iMac上安装了DataStax Graph 6.8和DataStax Studio: 使用Docker / Kubernetes (DataStax Studio),以及直接从tarball安装。 这些是实验室的预览,而不是产品。

我遇到了一些问题,但是在DataStax的帮助下解决了这些问题。 我安装的Java JDK比受支持的最低版本稍旧。 我通过从Oracle安装JDK 13来解决此问题。 我的机器上还安装了DSE 6.0和Spark的旧版本,然后安装了新的DSE 6.8。 在DataStax的帮助下,我在cassandra.yaml中设置了一些路径来“沙盒化”安装,并且在很好的情况下,我删除了旧的安装,包括/ var / lib / cassandra和/ var / log / cassandra。

当我最终使Docker和tarball安装都能正常工作时,我能够摆脱旧的iMac(Core i7 CPU,16 GB RAM和硬盘)的性能实在令人难以置信。

DataStax为我创建了两个云集群,可用于测试性能,这些性能更能代表企业使用的性能。 较大的群集具有3个节点,每个节点具有32个vCPU,128 GB RAM和SSD的AWS m5d.8xlarge实例。 不用说,与我的iMac相比,该集群速度很快。

测试DSE图

我在iMac上使用标准的DataStax Studio演示笔记本进行了研究,但是并没有涉及太多数据。 为了在AWS的三节点集群上使用,Denise Gosnell博士根据她即将出版的有关图形数据的书 (将于2020年由O'Reilly出版)提供了两个更大的数据集和笔记本来演示对它们的分析。 较小的数据集包含6K比特币提供商中的36,000信任等级; 较大的数据集包含300K电影和20M用户排名。

对于这两个数据集,第一步是创建图模式,第二步是将数据批量加载到图数据库中。 之后,我根据需要使用OLTP查询引擎或Spark OLAP查询引擎对数据运行了各种Gremlin查询。 下面的屏幕图像及其标题显示了我的测试过程。

DSE图02 IDG

笔记本单元格的左侧显示了一些新的Gremlin schema调用。 在右侧,下拉列表显示两个Gremlin引擎选项OLTP和OLAP(火花)。 与OLTP引擎相比,Spark引擎可以更大规模地运行,但仅支持Gremlin的一部分。

dse图03 rev IDG
该终端屏幕显示dsbulk加载比特币信任数据库的顶点和边缘数据。 每次加载不到一秒钟。 “ rows/s列比经过时间更有意义。
DSE图04 IDG

此图显示了一个特定的比特币提供商周围的信任社区,编号为1094。开头的with("label-warning",false)子句禁止在此情况下无关紧要的烦人消息。 从起始顶点开始,我们将所有入站和出站边沿到相邻顶点,然后再从这些顶点开始。

DSE图05 IDG

使用Gremlin sack()函数可以在执行图形遍历时累积值。 withSack(0.0)调用将麻袋初始化为浮点零。 sack(sum).by("trust")将来自每个边缘的信任值相加。 如您所见,总信任度使用order().by(sack(), decr)确定排序顺序。

DSE图06 IDG

PageRank是Google开发的一种全局算法,用于衡量网页的相对重要性。 在TinkerPop中,您需要使用Graph Computer进行图形遍历,以便调用pageRank ; 在DSE Graph中,您需要使用Spark运行分析查询以调用pageRank 。 在这里,我们针对比特币信任图运行了一个基本的pageRank()查询; 花了大约39秒。 我们先前对同一图形的OLTP查询每个都花费了不到一秒钟的时间。 PageRank会触摸图形中的每个顶点,除非您过滤特定的顶点标签。 在这里,我们以表的形式查看结果。

DSE图07 IDG

我们还可以将PageRank结果显示为气泡图。 在这里,我使用了连接度来确定顶点的大小,并使用了Louvain社区检测(聚类)算法来为顶点着色。

DSE图08 IDG

在这里,我已移至DataStax Studio笔记本主屏幕。 使用半复制的笔记本电脑,可以重现演示中看到的内容,包括数据加载,而不必删除图形。

DSE图09 IDG

现在,我们开始研究基于MovieLens和Kaggle Movie数据库的结合的笔记本。

DSE图10 IDG

这些schema()调用定义了电影图数据库的一部分,我们将在接下来的六个步骤中使用它们。 请注意,为顶点标签而不是边缘标签使用了partitionBy() 。 图顶点中的分区键与C *表中的主键相对应,表示创建索引。

dse图11转 IDG

在这里,我们在集群中运行的shell中使用dsbulk ,将数据加载到我们刚刚在笔记本中创建的架构中。 最大的一组是等级,包括2千万条边,它们在1分钟23秒内加载完毕。

DSE图12 IDG

从IMDB和TMDB合并的电影数据集包含超过30万个电影。

DSE图13 IDG

来自MovieLens的收视率边缘超过2000万。 请注意,这是一个作为Spark作业运行的分析查询,仅耗时1.4秒。

DSE图14 IDG

此处显示的查询使用aggregate("x")调用来创建电影的临时集合,其收视率与Toy Story相似,而cap("x")发出该集合。 unfold()步骤将集合取消捆绑,以便我们可以查看项目。

DSE图15 IDG

在这里,我们正在查看由单个用户评分的电影。 调用valueMap()会显示遍历返回的每个电影顶点的所有值。

DSE图16 IDG

在这里,我们正在看同一个用户,并返回她的20部收视率最高的电影的电影名称和评级。

侧面的图形数据库

DSE Graph以与DataStax Enterprise正确集成的方式提供了高性能OLTP和OLAP图形操作,从而无需同时拥有列式数据库和图形数据库。 如我们所见,DSE Graph对Gremlin具有很好的支持,并具有很好的可伸缩性。 当DSE 6.8在2020年发布时,我预计该产品将与Amazon Neptune,Neo4j和TigerGraph竞争。

在没有定价信息的情况下讨论价值是不可能的,DataStax不会向我发布定价。 尽管如此,还是值得将DataStax放在图形数据库的评估列表中。 使用体面大小的集群免费试用一两个星期,并为您自己的应用程序提供概念证明,应该告诉您您需要了解什么。

-

成本:包含DSE Graph的DataStax Enterprise可免费用于非生产用途,但需要在生产中使用订阅。 订阅按节点或核心定价。

平台: Windows,MacOS,Linux; Docker,Kubernetes

翻译自: https://www.infoworld.com/article/3453384/dse-graph-review-graph-database-does-double-duty.html

catia dse

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值