Amazon Neptune のアイコン

Amazon Neptune 专业2017年〜

以托管方式提供图数据库,处理高度关联数据集的服务

它能做什么

Amazon Neptune 是一款同时支持属性图(Apache TinkerPop Gremlin)和 RDF(SPARQL)的全托管图数据库。通过节点(顶点)和边来建模数据之间的关系,并高速执行复杂的关系查询。数据自动复制到最多 3 个可用区,实现高可用性。

使用场景

用于社交网络中好友关系和关注关系的分析、欺诈检测中交易模式的发现、知识图谱的构建、推荐引擎以及网络拓扑管理。

日常类比

可以比作人际关系图谱。与 RDB 以表格形式管理数据不同,Neptune 将「A 是 B 的朋友,B 是 C 的同事」这样的关系本身作为数据存储。能够高速遍历「朋友的朋友」这样的多级关系。

什么是 Neptune

Amazon Neptune 是一款高效存储和查询数据间关系的图数据库。对于 RDB 中需要多层 JOIN 才能实现的「朋友的朋友购买的商品」这类查询,Neptune 可以通过图遍历(traversal)高速执行。使用 Neptune Serverless 可以根据工作负载自动扩缩容,降低空闲时的成本。

Gremlin 与 SPARQL

Neptune 支持两种查询语言。Gremlin 是面向属性图的遍历语言,可以为节点和边附加任意属性来构建图。SPARQL 是面向 RDF(Resource Description Framework)的查询语言,以主语-谓语-宾语的三元组表示数据。知识图谱和本体构建适合使用 SPARQL,应用程序数据建模适合使用 Gremlin。 如需深入了解 Gremlin 和 SPARQL 的实践知识,可参考相关书籍(Amazon)

开始使用

在 Neptune 控制台创建集群并选择实例类型。由于部署在 VPC 内,需要通过 EC2Lambda 经由 VPC 连接。可以使用 Gremlin 控制台或 Neptune Workbench(Jupyter Notebook)试运行查询。选择 Neptune Serverless 则无需预先配置容量即可开始使用。

注意事项

  • 由于部署在 VPC 内,无法从公共互联网直接访问,需要堡垒机或 VPN
  • Neptune Serverless 支持根据工作负载自动扩缩容,但冷启动时延迟可能增加
共有するXB!