机缘

5月14日,亚马逊联合CSDN举办了第一次AWS-Build On活动,我有幸参加了,见识到了Neptune图数据库和基于图数据库的机器学习。下面是我的一些学习成果。


Neptune

什么是Neptune?

Amazon Neptune是一项快速、靠谱且可托管的图形数据库服务项目,可帮助您轻松构建和运作使用高度互联数据的一款应用程序。Amazon Neptune的亮点是专业构建性能卓越的图形数据库模块,它进行了优化,以储存数十亿个关系并将图形查询延迟降低到毫秒(ms)级。Amazon Neptune支持普通的图形实体模型Property Graph和W3C的RDF以及与之关联的查询语言 Apache Tinker Pop Gremlin和SPARQL,进而使您可以轻轻松松构建查询以合理有效地导航高度互联数据。Neptune适用图像使用案例,如建议引擎、欺诈检测、知识图谱、药品开发设计和网络信息安全。

Neptune有那些优点?
1.适用对外开放图形API

Amazon Neptune适用Gremlin和SPARQL的对外开放图普API,并为这种图形实体模型以及查询语言出示性能卓越。应用Amazon Neptune,您能够挑选特性图形实体模型以及开源系统查询语言Apache Tinker Pop Gremlin或W3C标准資源叙述架构(RDF)实体模型以及规范查询语言SPARQL。

2.性能卓越和高扩展性

Amazon Neptune是一个专业构建的性能卓越图形数据库。它对于解决图形查寻开展了提升。Neptune可在三个能用区域内适用数最多十五个低延迟时间载入团本,进而拓展载入容积并每秒钟实行超出十万个图形查寻。您能够依据要求转变轻轻松松拓展和变小数据库布署,包含从较小的案例种类到很大的案例种类。

3.高可用性和耐受性

AmazonNeptune具备高可用性、耐受性,而且合乎ACID(原子性、一致性、防护性、耐受性)。Neptune致力于提供超出99.99%的易用性。其分布式存储具备容错机制工作能力并能自身修补,致力于云而构建,能够跨三个能用区拷贝六个数据信息团本。Neptune会持续将您的备份数据到AmazonS3.并且以全透明方法从物理学储存常见故障中修复。针对高可用性,案例常见故障迁移一般只需不到三十秒。

4.高度安全性

Amazon Neptune为您的数据库提供多级别安全性维护,包含应用AmazonVPC开展互联网防护、适用终端设备连接点浏览的IAM身份认证、HTTPS数据加密的手机客户端联接、使用您根据AWSKeyManagementService(KMS)建立和操纵的密匙对静态进行数据加密。在数据加密的Neptune案例上,最底层储存中的数据信息会被数据加密,在同一个群集中一键备份、快照和副本也会被数据加密。

5.彻底托管

使用Amazon Neptune,您不用担忧硬件配置预设、手机软件修复、设定、配备或备份数据等数据库管理方法每日任务。Neptune会全自动不断地监控您的数据库,并将其备份数据到AmazonS3.因而可完成细致的时间点修复。您能够使用Amazon Cloud Watch监控数据库特性。


图数据库

什么是图?

把多个对象比作点,把对象之间的关系比作边,然后出现的一张有点和线的图形就是图,图可以表示对象之间的关系,如果一张图的边越多,说明对象之间的关系越复杂。在这里插入图片描述

什么是图数据库?

图数据库是一种使用图结构进行存储和查询的数据库,其中节点和边用于对数据进行表示和存储。节点表示数据,边表示数据间的关系。
常用的图模型有2种,分别是属性图(Property Graph)和资源描述框架(RDF)

图数据库与传统关系型数据库有什么区别?

拿学生选课来举例
在关系型数据库中,我们一般需要建立学生信息表,学生和课程对应关系表,课程信息表。
那么要查询一个学生选了什么课程就需要分三步。

一:通过学生信息表找到学生对应的ID;
二:使用学生ID去学生和课程对应关系表中找到学生选课的课程ID;
三:使用课程ID在课程信息表中找到对应的课程名称等信息,如大数据,计算机,云计算。在这里插入图片描述

第一步需要一次索引查找过程,第二步也需要一次索引查找,第三步需要n次索引查找。大学里有几万名学生,加入这个学生又是个学霸,选了很多很多的课,那么学生和课程对应关系表的记录会非常多,通过表与表之间的JOIN操作会带来大量系统性能的损耗,同时会消耗很多时间,查询效率比较低,有时甚至无法返回结果。所以说,这种情况使用关系型数据库不是不行,只是表形式不擅长描述数据之间的某些特定的复杂关系。

图数据库与关系型数据库的建模方式不同,所以在图数据库中查询就没那么复杂了。在图数据库中,学生和课程都在同一张图中,学生和n门课程都是节点,分别带有标签Student和Course,他们之间通过属性为选课的边建立关联关系。
查询过程如下:
一:通过在学生标签student上建立的索引来找到这个学生对应的节点;
二:再通过节点保存的标签为选课的边来找到对应的课程;
三:读取选课课程信息。在这里插入图片描述

虽然图数据库的查询也是分为3步,但效率却大大提高。第一步和传统关系型数据库一样,第二步无需进行索引查找,直接可以通过节点获取,虽然节点存在不同标签的边,但跟学生和课程对应关系表的记录数肯定不是一个数量级的,尤其是在海量数据的情况下,图数据库表现出的性能更加优异,通过图数据库进行数据查询与分析的速度更快。

图数据库的优势

天然解释性:用户可以很自然的表达现实世界中的实体及其关联关系(对应图的顶点及边)。
高性能:图数据库在数据关联关系查询中具有更高的性能。传统关系型数据库多个表之间连接操作、外键约束,导致较大的额外开销。而图模型固有的数据索引结构,使得它的数据查询与分析速度更快。
灵活性:图数据灵活的数据模型可以适应不断变化的业务需求,任意添加或删除顶点、边,扩充或者缩小图模型这些都可以轻松实现。


总结

学习使我快乐!

Logo

亚马逊云科技开发者 Build On 是由亚马逊团队策划、开发者社区联合打造的动手实操系列活动。

更多推荐