剑客
关注科技互联网

Martin Van Ryswyk谈DataStax Enterprise Graph数据库

DataStax 是一家为NoSQL数据库 Cassandra 提供商用支持的公司,也提供图数据库产品。它最近 发布 了一款名为 DataStax Graph 的新产品,包含适应性查询优化器、自动图数据分区、分布式查询执行引擎及专用于索引图的数据结构等重要功能。

DataStax Graph数据库基于开源图数据库Titan研发,并使用了开源Apache Tinkerpop框架的Gremlin查询语言。DataStax向Apache基金会对Tinkerpop进行了捐赠,现在已经成为社区中使用Apache Tinkerpop并对它做出贡献的供应商之一。

开源图数据库Titan的初创团队Aurelius在去年被DataStax 收购 ,现在他们已经构建出了新的图数据库功能。

Datastax Enterprise (DSE) Graph是多模型平台的一部分,除了图之外还支持键值模型、表格模型和文档模型等。用户可以只使用一个供应商的产品就得到多种不同的数据模型,而不必在处理复合模型实现时为了使用多种不同数据模型而不得不求助于多个供应商。

DSE Graph还包括许多附加功能,包括安全功能、内置分析功能、企业搜索功能、可视化管理监控和开发工具箱等。另外,DataStax Studio还为图的可视化编辑及图查询等带来了全新的基于网页的解决方案。

InfoQ就Datastax中的图数据模型支持等功能采访了DataStax技术部EVP: Martin Van Ryswyk 先生。

Martin谈到了这款新图数据库产品的功能,并与定制化的NoSQL图数据库进行了对比。DSE Graph是一个分布式的图数据库平台,专为Cassandra设计,来为DataStax平台提供大规模图计算功能。

DSE Graph原生与 DSE检索DSE分析 功能结合在一起,这样终端用户就可以在他们的应用程序中直接使用这些技术了。

他也谈到了一些图数据库的使用场景,以及在企业的数据管理中采用多模型数据库的好处。

InfoQ:能请您举些例子说明在数据管理的场景下DataStax Enterprise Graph数据库可以为大家提供哪些帮助吗?

Martin:

  • 360°管理用户数据 :有个医疗机构构建了一套系统,用于存储病人数据及诊断记录、医护人员数据等。所有医院都可以访问这套病人的360°数据系统。这些使用不同类型的数据汇总起来,最终会产生一个在病人、门诊、医院和医生之间的复杂图模型。
  • 库存管理 :一家在线音乐与视频公司希望能基于现有的供应商信息来实现产品目录管理,并把这些信息与作者、乐队、演员、类型等结合起来,最终生成一张网格型的、复杂的、结构化的图。顾客可以实时检索这些图信息,并可以按照他们的查询需求即时返回结果。
  • IT网络与设备管理 :一家大型银行希望能监管它的计算机与服务器网络,以及各种配置。为了更好地理解这些机器之间是如何互联的,他们构建了一张图来优化部署、跟踪网络状态、发现安全与兼容性风险等。为了检测网络系统的健康状态,他们也从每一台机器上搜集了健康状态信息。
  • 安全与欺诈检测 :一家金融机构打造了一张图,标记用户、机构、账户、信用卡和金融交易之间的关系,通过分析钱流经的路线、当地金融交易中的个人情况等,来检测一笔交易是否存在洗钱等犯罪活动的可能。
  • 推荐引擎 :一家电子商务网站基于顾客信息以及过去的检索记录和购买行为等向顾客进行商品推荐。最重要的是,它基于用户当前浏览连接的最近检索行为来做出推荐,这些信息全都是存储在图中的。图分析技术被用于根据刚刚发生的交互行为来检索符合条件的其它商品。

InfoQ:您能举个例子,是把各种不同的,比如键值型、表格型、文档型、图型等所有数据都保存在一个数据库中的例子吗?

Martin:比如一个各种数据都从传感器上采集而来的物联网的例子。数据都存储在表格型时间序列模型中(在DSE的场景中很常见)。每条记录中都包含了传感器的ID,以及在不同时刻采集上来的数据。同时DSE Graph也用来表现传感器、设备、工厂、业务线、产品、位置、供应商等组成的大型复杂层次架构。

传感器的ID可以从时间序列数据中得到,用于在图中的点表示这个传感器,可以用于检索,这样上下文就被确定下来了。如果某个传感器的读数异常,会有哪些具体影响?比如这是一架飞机上的500个传感器之一,这张图就可以用于表示出是三号引擎的燃油泵模块发生了故障,进而提示需要紧急降落。从图中可以知道这个发生故障的引擎是在哪一架飞机中,现在是在飞哪一次航班,由此我们可以找出按计划这架飞机接下来的飞行班次,从而预测哪些航班将被延迟。我们也可以知道有哪些机场会受到影响。装上飞机的每一件行李也都被扫描过并被加入图中,这样就可以知道哪些货物哪些行李也会被延迟。这是与客户有关的一个例子。事实上他们也会存储和食品服务、机组调度、行李处理、地勤设备等相关的信息,全都保存在同一个DSE Graph数据库中。各种不同的行业应用都会有它自己的时间序列数据、文档以及存储在图之外的其它数据。你会发现如果把所有这些数据全都保存在一个系统里,对于开发者和管理者来说是多么的简单。

InfoQ:对于要管理各种不同类型的非结构型数据(KV、表格、文档和图)的场景来说,使用多模型数据库是不是要比对每种数据都使用各自的专用NoSQL数据库更好?

Martin:这个问题我的用户最清楚答案了。几年前他们在每个方面都使用定制化的解决方案,因为他们的旧系统无法提供他们想要的扩展性和可用性。可现在他们关注的焦点转向了操作简单,因为他们更倾向于使用一个多模型系统来在一个系统中提供各方面的解决方案。在一个领域中运营和寻找有经验的人,要比同时涉及五个领域会容易得多。

InfoQ:对于开发者来说,该怎么判断什么时候使用一个多模型数据库,什么时候该使用 Spring Data 之类的抽象了多种数据存储访问逻辑的数据访问框架?

Martin:抽象数据访问逻辑意味着你对底层系统的工作一无所知。要利用好云应用的可扩展性和可用性,开发者不该放弃对Spring之类的抽象层的了解。通常这些抽象层只能对它们要抽象的各种系统的共性做一个简单抽象。事实上不同的模型大相径庭,很难把各种重要功能抽象出来。所以必须对要优化的模型有所了解才能实现好自己的系统。

InfoQ:在存储大型图数据集时,DataStax Enterprise Graph是如何做在集群中多节点之间的 分区数据复制 的?

Martin:在DataStax Enterprise的内部DSE Graph是与Cassandra数据库紧密结合在一起的,所以可以充分利用Cassandra自身的分区和复制技术。另外,我们团队也开发了非常有效的查询路由、查询优化算法等,来在集群中快速高效地找到数据。

InfoQ:在Cassandra与 Spark 结合做数据分析的场景,新的图数据模型支持得怎么样?

Martin:我们针对图的 DSE分析 功能是基于Spark实现的。当用户执行的查询会检索图的一大部分(而不是简单地在某个节点就可以完成)时,我们会用底层的Spark来协助优化这样的查询。

InfoQ:DataStax Enterprise Graph产品提供了哪些图数据可视化工具?

Martin:DataStax Studio就是一个这样的开发工具,可以帮助用户执行Gremlin查询和将结果可视化。这个工具可用于帮助新开发者学习查询语言,也可以帮助有经验的开发者来测试程序的查询语句。另外我们也和许多家图数据可视化公司建立了合作伙伴关系,比如 Cambridge IntelligenceLinkurious 等,他们的产品中已经加入了对DSE Graph的支持。

他也提到图的实现包含了服务器、可视化管理、用 DataStax OpsCenter 监控图数据库实现、用DataStax Studio进行可视化图开发、以及许多驱动来借助其他DataStax Enterprise模块(即SparkSQL、Enterprise Search等)处理图数据等。

读者可以自行查阅有关 多模型数据库 的DataStax白皮书,了解云应用可以从多模型方法上获得怎样的帮助。

有一篇相关的新闻提到,一个不久前由TinkerPop社区和DataStax共同创建的名为 PlanetTinkerPop.org 的新网站已经为有兴趣的开发者提供了讨论和分享有关TinkerPop Gremlin信息的去处,这正是图数据库的查询语言。

关于受访者

Martin Van Ryswyk , 技术部执行副总裁,负责全世界范围内的软件工程、产品开发和对企业集成大数据平台的持续改进。他在小型初创公司和巨型企业中有超过22年的软件团队管理经验。期间,他在各种不同领域完成了产品的研发上线全流程,包括云计算、应用程序生命周期管理、数据库性能分析、存储管理和系统管理等。加入DataStax之前,他也曾在多种不同的高级技术岗位上任职,在Tidal Software、Luminate、EMC及上一家Electric Cloud等公司带领开发和为企业级技术产品制订市场推广策略。Martin在加利福尼亚大学戴维斯分校获得了计算机专业学士学位。

阅读英文原文: Martin Van Ryswyk on DataStax Enterprise Graph Database

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址