Amazon Neptune 之类的图形数据库专为存储和导航关系而构建。与关系数据库相比,它们在社交网络、推荐引擎和欺诈检测等使用案例中具有优势,在这些情况下,您需要在数据之间创建关系并快速查询这些关系。使用关系数据库构建这些类型的应用程序时会面临很多挑战。您需要具有多个外键的多个表。导航此数据的 SQL 查询需要嵌套查询和很快便会难以控制的复杂联接,并且随着数据大小随着时间的推移而增加,查询的执行效果不会好。在 re:Invent 2018 上,亚马逊云科技 为图形数据库提供了一个通道,以提供更多信息和详情。
Neptune 使用节点(数据实体)、边缘(关系)和属性等图形结构来表示和存储数据。这些关系存储为数据模型的一阶用户。这样一来,便可以直接关联节点中的数据,从而大幅提升导航数据中的关系的查询性能。Neptune 的交互式性能大规模有效地支持广泛的图形使用案例集。
如果您的图形模型中已有数据,则可以轻松开始使用 Amazon Neptune。您可以加载 CSV 或 RDF 格式的数据,并开始使用 Apache TinkerPop Gremlin 或 SPARQL 编写图形查询。您可以使用下面的快速入门指南,或查看完整的入门说明。我们还整合了 Amazon Neptune 的最佳实践。
还有其他可用的示例帮助您入门。我们拥有可视化 Neptune 图形的示例代码。我们有一个应用程序,可使用 Amazon Glue 将 IMDB ETL 到 Neptune 中,以尝试图形查询,从而找出“凯文·培根六度分离”。我们有一个推荐引擎示例 ,展示了如何使用协作筛选。
如果您对启用 GraphQL 来访问 Amazon Neptune 感兴趣,示例应用程序展示了如何使用 Amazon AppSync GraphQL 和 Amazon Neptune。
如果您想迁移到 Amazon Neptune,我们有一个实用程序可将 GraphML 数据转换为 Neptune CSV 格式,同时,还有一个 Python 库可帮助从 Amazon Glue 作业中写入 Neptune。