使用 Amazon Neptune 构建基于图数据库的应用

阅读数:5 2019 年 12 月 23 日 17:41

使用 Amazon Neptune 构建基于图数据库的应用

在社交网络、推荐引擎和欺诈检测等应用场景中,您需要在数据之间创建关系并快速查询这些关系,此时,图数据库将比关系数据库更具优势。因为使用关系数据库构建这些类型的应用程序面临着许多挑战。您将需要创建多个具有多个外键的表,SQL 查询需要嵌套查询和复杂的联接,它们很快就会变得不灵活,而且随着数据量逐渐增加,查询的性能也会降低。

Amazon Neptune 是一个高性能图数据库,并对图的存储和查询进行了优化,可以存储数十亿个关系并将图形查询延迟降低到毫秒级。它也是一个托管的图数据库,能快速创建图数据库集群,减少了运维和管理图数据库的工作,让我们把工作重心放在业务开发和创新上。Amazon Neptune 支持常见的图形模型 Property Graph 和 W3C 的 RDF 及其关联的查询语言 Apache TinkerPop Gremlin 和 SPARQL,从而使您能够轻松构建查询以有效地分析高度互连数据集。它支持社交网络分析、建议引擎、欺诈检测、知识图谱、药物开发和网络安全等应用案例。

下面我们将一步步告诉大家如何创建和使用 Amazon Neptune。

1. 创建 Amazon Netpune

我们可以登录 AWS Console,找到 Neptune 的界面,如下图:

使用 Amazon Neptune 构建基于图数据库的应用

选择点击 “Launch Amazon Neptune”的图标。会看到下面详细信息界面:

使用 Amazon Neptune 构建基于图数据库的应用

在此界面上可以指定是否在不同区域创建只读副本。只读副本不仅可以支持只读类型的工作负载,还可以提高集群的高可用性。当主实例出现故障,会自动故障转移到您在三个可用区之一中创建的多达 15 个 Neptune 副本中的一个。输入完后点击 “Next”,进入网络和安全配置页面。

使用 Amazon Neptune 构建基于图数据库的应用

对于生产数据库,我们推荐用户将 Amazon Neptune 放在自己创建的 VPC 中,并且将数据库放在私有子网组中,访问数据库时可以通过 VPN 或堡垒机的方式在私有子网中维护您的数据库。另外通过安全组来设置访问客户端的端口及 IP 等。安全组是白名单的机制,意味着只有您设置的 IP 源及端口可以访问您的数据库,从而保障数据库的安全。

通过上面几个界面的操作,等待几分钟左右, Amazon Neptune 数据库集群成功。

2. 设置访问 Amazon Neptune 数据库的安全组

数据库创建完后,需要设置安全组,让需要的客户端能够访问数据库。您可以在 Amazon Neptune 的界面上找当前安全组,并进行修改。如下图:

使用 Amazon Neptune 构建基于图数据库的应用

这里我内网的 IP 地址域是 172.31.0.0/16,因此设置的是所有内网的机器都能够访问我的数据库。要设置其它规则,和这个类似。

3. 连接 Amazon Neptune

数据库集群建立好后,我们需要创建一个 EC2 实例作为客户端访问数据库。登录 AWS Console 并访问 EC2 服务,选择 Amazon Linux 作为客户端。

使用 Amazon Neptune 构建基于图数据库的应用

Amazon Linux 是列表中第二项。

本文转载自 AWS 技术博客。

原文链接: https://amazonaws-china.com/cn/blogs/china/using-amazon-neptune-build-application-based-on-graph-database/

评论

发布