Amazon Neptune 等图形数据库专门用于存储和导航关系。在社交网络、推荐引擎和欺诈检测等使用案例中,您需要在数据之间创建关系并快速查询这些关系,此时,图形数据库将比关系数据库更具优势。使用关系数据库构建这些类型的应用程序面临着许多挑战。您将需要多个具有多个外键的表。用于导航此数据的 SQL 查询需要嵌套查询和复杂的联接,它们很快就会变得不灵便,而且随着数据量逐渐增加,查询的性能也会降低。在 re:Invent 2018 中,我们介绍的图形数据库入门提供了更多信息和细节。
Neptune 使用节点 (数据实体)、边缘 (关系) 和属性等图形结构来表示和存储数据。这些关系存储为数据模型的一等公民。这样,系统便可直接关联节点中的数据,从而显著提高导航数据中关系的查询的性能。Neptune 的大规模交互式性能可有效地实现各种图形使用案例。
如果您已在图形模型中拥有自己的数据,则可以很轻松地上手 Amazon Neptune。您可以加载 CSV 或 RDF 格式的数据,并通过 Apache TinkerPop Gremlin、SPARQL 或 openCypher 编写图形查询。您可以参考入门文档,也可以通过以下链接查看 AWS 在线技术讲座。我们还整合了适用于 Amazon Neptune 的最佳实践。
如果您想了解如何整段地查看数据,请参考关于对使用 Amazon Neptune 的图形数据模型和查询进行逆向工程的 re:Invent 2018 演示材料以及可从 Github 获得的示例代码。
如果您有兴趣启用 GraphQL 以访问 Amazon Neptune,可查阅展示如何使用 AWS AppSync GraphQL 和 Amazon Neptune 的示例应用。
如果您想迁移到 Amazon Neptune,可以参考关于迁移到 Amazon Neptune 的 re:Invent 2018 演示材料。我们还提供了实用程序以将 GraphML 数据转换为 Neptune CSV 格式,以及用于帮助从 AWS Glue 作业写入到 Neptune 的 Python 库。