写点什么

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

  • 2019-12-23
  • 本文字数:1266 字

    阅读完需:约 4 分钟

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

在 EC2 客户端上安装连接工具

下面我们会使用跟 Amazon Neptune 在同一个子网中的 EC2 实例(前面第三步创建)来连接 Amazon Neptune 的实例。


1)控制台二进制文件需要 Java 8。输入以下命令以在 EC2 实例上安装 Java 8。


Bash


sudo yum install java-1.8.0-devel
复制代码


2)输入以下命令以在 EC2 实例上将 Java 8 设置为默认运行时。


Bash


sudo /usr/sbin/alternatives --config java
复制代码


系统会显示系统安装过的所有 java 的版本,输入 java 8 对应的数字。


3)从 Apache Tinkerpop3 网站下载访问 Amazon Neptune 的 Gremlin 客户端


wget https://archive.apache.org/dist/tinkerpop/3.4.1/apache-tinkerpop-gremlin-console-3.4.1-bin.zip


4)解压下载的压缩文件


unzip apache-tinkerpop-gremlin-console-3.4.1-bin.zip


5)进入解压后的文件夹,并下载 Gremlin 远程证书


cd apache-tinkerpop-gremlin-console-3.4.1


wget https://www.amazontrust.com/repository/SFSRootCAG2.pem


6)在 conf 目录中创建名为 neptune-remote.yaml 的文件,并加入下面信息:


hosts: [your-neptune-endpoint]


port: 8182


connectionPool: { enableSsl: true, trustCertChainFile: “SFSRootCAG2.pem”}


serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0, config: { serializeResultToString: true }}


其中红色部分的 Endpint 是您要连接的数据库的端点,请在 AWS Neptune Console 上查询,如下图:



在图中你可以看到连接的 Endpoint。


7)运行 bin 目录下的命令进入 Gremlin 控制台


Bash


bin/gremlin.sh
复制代码


看到如下界面:



此时我们可以看到 gremlin 的命令行提示符


8)在 gremlin>命令行提示符下,输入前面配置 endpoint 的文件,让 gremlin 连接我们创建的 neptune 数据库。


Bash


:remote connect tinkerpop.server conf/neptune-remote.yaml
复制代码



可以看到 gremlin 连接了我们配置的 Neptune 数据库。


9)输入下面命令,控制 gremlin 发送所有的命令到远程 Neptune 服务器:



10)为图增加一个顶点,输入下面命令


Bash


g.addV('person').property('name', 'justin')
复制代码



11)输入下面命令退出


Bash


:exit
复制代码

5.加载数据

除了在上一步中所见的通过命令行插入数据到图数据库中,我们也可以将一定格式的数据存储到 S3 中,然后加载到图数据库中,详情,请参考下面链接加载和查询数据:


https://docs.aws.amazon.com/zh_cn/neptune/latest/userguide/load-api-reference-load.html

6.总结

前面介绍了 Amazon Neptune 的使用场景及创建和连接一个 Amazon Neptune 图数据库的基本步骤。Amazon Neptune 是一项快速、可靠且完全托管的图形数据库服务,可以帮助您轻松构建和运行处理高度互连数据集的应用程序。您可以将外部的数据导入到 Amazon Neptune 中,也可以从头用 Amazon Neptune 构建图的应用。


作者介绍:


!



### [](https://amazonaws-china.com/cn/blogs/china/tag/%E8%93%9D%E5%8B%87/)
AWS高级解决方案架构师
复制代码


本文转载自 AWS 技术博客。


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


2019-12-23 17:41945

评论

发布
暂无评论
发现更多内容

SpringCloud Gateway 路由数量对性能的影响研究

黄仲辉

性能优化 动态路由 SpringCloud Gateway JMH性能基准测试

贪心算法最优装载问题(Java代码实现)

若尘

数据结构 贪心算法 6月日更

架构实战营-作业六

大可

TempDB 的使用和性能问题

悟空聊架构

sql 性能调优 6月日更 TempDB

话题讨论|如何看待腾讯试点强制6点下班

石云升

话题讨论 加班文化 6月日更

Java语言概述以及环境搭建

若尘

java编程 6月日更

【Vue2.x 源码学习】第十二篇 - 生成 ast 语法树-流程说明

Brave

源码 vue2 6月日更

【LeetCode】第一个错误的版本Java题解

Albert

算法 LeetCode 6月日更

HarmonyOS的万里长征和万里长城

脑极体

五种服务部署升级策略,你也许会用的到

架构精进之路

6月日更 服务升级

中国数字化转型为全球带来机遇

CECBC

未来,能源枯竭可以逆转吗?

白洞计划

Python——数值列表

在即

6月日更

模块六作业 - 拆分电商系统为微服务

张大彪

【21-5】Grafana 时间Panel 如何使用

耳东@Erdong

Grafana 6月日更 panel clock

HTTP 长连接和短连接

看山

TCP/IP HTTP协议 6月日更

JAVA设计模式系列--单例模式

加百利

Java 后端 设计模式 单例模式 6月日更

策略模式怎么玩?

卢卡多多

设计模式 策略模式 6月日更

架构师实战营 模块六总结

代廉洁

redis分布式锁原理

Skysper

redis 分布式锁

网络攻防学习笔记 Day43

穿过生命散发芬芳

网络攻防 6月日更

并发王者课-黄金2:行稳致远-如何让你的线程免于死锁

MetaThoughts

Java 多线程 并发

Scrum Patterns : MetaScrum(译)

Bruce Talk

敏捷开发 译文 Agile Scrum Patterns

SpringCloud Gateway 路由转发性能优化

黄仲辉

性能优化 动态路由 SpringCloud Gateway JMH性能基准测试

架构师实战营 模块六作业(拆分电商系统为微服务)

代廉洁

架构实战营

一文带你深入了解 Java 字节码

mghio

技术 后端 Java 25 周年 基础

未来,能源枯竭可以逆转吗?

脑极体

立flag(第………………次)

凯迪

随笔杂谈

【通俗易懂】虚拟DOM,如何更高效DIFF

蛋先生DX

Diff 6月日更

【Flutter 专题】105 图解自定义 ACEPageMenu 滑动菜单 (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

Single-Spa构建第一个微前端项目

devpoint

Vue 大前端 6月日更

使用 Amazon Neptune 构建基于图数据库的应用(二)_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章