NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Martin Van Ryswyk 谈 DataStax Enterprise Graph 数据库

  • 2016-09-29
  • 本文字数:3414 字

    阅读完需:约 11 分钟

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 Intelligence Linkurious 等,他们的产品中已经加入了对 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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2016-09-29 18:277000
用户头像

发布了 152 篇内容, 共 68.0 次阅读, 收获喜欢 63 次。

关注

评论

发布
暂无评论
发现更多内容

Android 使用微信开放平台分享内容到微信,apm性能监控系统

android 程序员 移动开发

android 对不同日期和时间的格式方法的封装,46道面试题带你了解高级Android面试

android 程序员 移动开发

Android 屏幕适配方案,安卓开发

android 程序员 移动开发

Android 常见的数据存储方式,腾讯T2大佬手把手教你

android 程序员 移动开发

Android 单元测试之 Mockk,idea开发android教程

android 程序员 移动开发

Android WebView判定网页加载的错误,androidtv开发者模式

android 程序员 移动开发

Android 如何从应用深入到Framework (一),2018移动应用开发前景

android 程序员 移动开发

使用桥接模式设计复杂的消息系统

Tom弹架构

Java 架构 设计模式

通过Rainbond的团队管理去管理已有的组织架构

北京好雨科技有限公司

最佳实践 多租户 开源软件 rainbond

Android 可控制概率家务转盘,移动端跨平台开发大型项目

android 程序员 移动开发

Android 存储进化:分区存储,2021最新Android笔试题及答案

android 程序员 移动开发

软件测试面试屡屡失败,面试官总是说逻辑思维混乱,怎么办?

六十七点五

学习方法 面试 软件测试 自动化测试 测试工程师

Android 使用Face++ SDK进行人脸识别和年龄检测,android开发网络框架

android 程序员 移动开发

Android 内存性能优化,灵魂一问-如何彻底防止APK反编译

android 程序员 移动开发

CDP客户数据管理平台体系化搭建

CRM 客户数据平台 CDP DSP DMP

Android 存储空间的最佳实践,【金九银十】

android 程序员 移动开发

Android 实现双Launcher的无缝切换,flutter免费视频教程

android 程序员 移动开发

Android 应用层开发 Drawable 的一些叨叨絮(1),androidstudio中文社区

android 程序员 移动开发

Android 应用层开发 Drawable 的一些叨叨絮,跨平台移动开发答案

android 程序员 移动开发

高风险IP究竟来自哪里?IP定位带你反欺诈

郑州埃文科技

百度人脸活体检测系统通过信通院“护脸计划”首批优秀级安全防护能力评估

百度大脑

信通院 人脸活体检测

Android 四大组件全解读,kotlin极简教程

android 程序员 移动开发

Android 实现水印背景效果,kotlin教程

android 程序员 移动开发

WordPress站点快速集成腾讯数字身份管控平台CIAM,免开发实现登录认证

腾讯安全

Android _《看完不忘系列》之Retrofit,flutter下载文件

android 程序员 移动开发

Android 启动优化: JetPack App Startup 使用及源码浅析

android 程序员 移动开发

Android 开发市场是盛是衰?你应该知晓,android音视频开发面试题

android 程序员 移动开发

模块二作业

ks

Android wifi属性简介 及 wifi信息获取(wifi列表、配置信息

android 程序员 移动开发

Android Zygote 从何而来?揭开Android系统启动的面纱,flutter真机调试

android 程序员 移动开发

Android 可能你想要的APK瘦身笔记,2021最新安卓大厂面试题来袭

android 程序员 移动开发

Martin Van Ryswyk谈DataStax Enterprise Graph数据库_语言 & 开发_Srini Penchikala_InfoQ精选文章