c++图的创建_使用 Amazon Neptune 构建基于图数据库的应用
在社交網(wǎng)絡(luò)、推薦引擎和欺詐檢測(cè)等應(yīng)用場(chǎng)景中,您需要在數(shù)據(jù)之間創(chuàng)建關(guān)系并快速查詢這些關(guān)系,此時(shí),圖數(shù)據(jù)庫(kù)將比關(guān)系數(shù)據(jù)庫(kù)更具優(yōu)勢(shì)。因?yàn)槭褂藐P(guān)系數(shù)據(jù)庫(kù)構(gòu)建這些類型的應(yīng)用程序面臨著許多挑戰(zhàn)。您將需要?jiǎng)?chuàng)建多個(gè)具有多個(gè)外鍵的表,SQL 查詢需要嵌套查詢和復(fù)雜的聯(lián)接,它們很快就會(huì)變得不靈活,而且隨著數(shù)據(jù)量逐漸增加,查詢的性能也會(huì)降低。
Amazon Neptune 是一個(gè)高性能圖數(shù)據(jù)庫(kù),并對(duì)圖的存儲(chǔ)和查詢進(jìn)行了優(yōu)化,可以存儲(chǔ)數(shù)十億個(gè)關(guān)系并將圖形查詢延遲降低到毫秒級(jí)。它也是一個(gè)托管的圖數(shù)據(jù)庫(kù),能快速創(chuàng)建圖數(shù)據(jù)庫(kù)集群,減少了運(yùn)維和管理圖數(shù)據(jù)庫(kù)的工作,讓我們把工作重心放在業(yè)務(wù)開發(fā)和創(chuàng)新上。
Amazon Neptune 支持常見的圖形模型 Property Graph 和 W3C 的 RDF 及其關(guān)聯(lián)的查詢語言 Apache TinkerPop Gremlin 和 SPARQL ,從而使您能夠輕松構(gòu)建查詢以有效地分析高度互連數(shù)據(jù)集。它支持社交網(wǎng)絡(luò)分析、建議引擎、欺詐檢測(cè)、知識(shí)圖譜、藥物開發(fā)和網(wǎng)絡(luò)安全等應(yīng)用案例。
下面我們將一步步告訴大家
如何創(chuàng)建和使用 Amazon Neptune
01
創(chuàng)建 Amazon Netpune
我們可以登錄 AWS Console
找到 Neptune 的界面,如下圖:
選擇點(diǎn)擊
?“ Launch Amazon Neptune ”的圖標(biāo)
會(huì)看到下面詳細(xì)信息界面:
在此界面上可以指定是否在不同區(qū)域創(chuàng)建只讀副本。
只讀副本不僅可以支持只讀類型的工作負(fù)載,還可以提高集群的高可用性。
當(dāng)主實(shí)例出現(xiàn)故障,會(huì)自動(dòng)故障轉(zhuǎn)移到您在三個(gè)可用區(qū)之一中創(chuàng)建的多達(dá) 15 個(gè) Neptune 副本中的一個(gè)。
輸入完后點(diǎn)擊 “ Next ”,進(jìn)入網(wǎng)絡(luò)和安全配置頁面。
對(duì)于生產(chǎn)數(shù)據(jù)庫(kù),我們推薦用戶將 Amazon Neptune 放在自己創(chuàng)建的 VPC 中,并且將數(shù)據(jù)庫(kù)放在私有子網(wǎng)組中,訪問數(shù)據(jù)庫(kù)時(shí)可以通過 VPN 或堡壘機(jī)的方式在私有子網(wǎng)中維護(hù)您的數(shù)據(jù)庫(kù)。
另外通過安全組來設(shè)置訪問客戶端的端口及 IP 等。安全組是白名單的機(jī)制,意味著只有您設(shè)置的 IP 源及端口可以訪問您的數(shù)據(jù)庫(kù),從而保障數(shù)據(jù)庫(kù)的安全。
通過上面幾個(gè)界面的操作
等待幾分鐘左右
?Amazon Neptune 數(shù)據(jù)庫(kù)集群成功
02
設(shè)置訪問 Amazon Neptune
數(shù)據(jù)庫(kù)的安全組
數(shù)據(jù)庫(kù)創(chuàng)建完后,需要設(shè)置安全組,讓需要的客戶端能夠訪問數(shù)據(jù)庫(kù)。
您可以在 Amazon Neptune 的界面上找當(dāng)前安全組,并進(jìn)行修改。如下圖:
這里我內(nèi)網(wǎng)的IP地址域是 172.31.0.0/16 ,因此設(shè)置的是所有內(nèi)網(wǎng)的機(jī)器都能夠訪問我的數(shù)據(jù)庫(kù)。要設(shè)置其它規(guī)則,和這個(gè)類似。
03
連接 Amazon Neptune
數(shù)據(jù)庫(kù)集群建立好后,我們需要?jiǎng)?chuàng)建一個(gè) EC2 實(shí)例作為客戶端訪問數(shù)據(jù)庫(kù)。
登錄 AWS Console 并訪問 EC2 服務(wù),選擇 Amazon Linux 作為客戶端。
Amazon Linux 是列表中第二項(xiàng)。
04
在EC2客戶端上安裝連接工具
下面我們會(huì)使用跟 Amazon Neptune 在同一個(gè)子網(wǎng)中的 EC2 實(shí)例(前面第三步創(chuàng)建)來連接 Amazon Neptune 的實(shí)例。
1)
控制臺(tái)二進(jìn)制文件需要 Java 8 。
輸入以下命令以在 EC2 實(shí)例上安裝 Java 8 。
2)
輸入以下命令以在 EC2 實(shí)例上將 Java 8 設(shè)置為默認(rèn)運(yùn)行時(shí)。
系統(tǒng)會(huì)顯示系統(tǒng)安裝過的所有 java 的版本
輸入 java 8 對(duì)應(yīng)的數(shù)字
3)
從 Apache Tinkerpop3 網(wǎng)站
下載訪問 Amazon Neptune 的 Gremlin 客戶端
4)
解壓下載的壓縮文件
5)
進(jìn)入解壓后的文件夾
并下載 Gremlin?遠(yuǎn)程證書
6)
在 conf 目錄中
創(chuàng)建名為 neptune-remote.yaml 的文件
并加入下面信息:
其中紅色部分的 Endpint?
是您要連接的數(shù)據(jù)庫(kù)的端點(diǎn)
請(qǐng)?jiān)?AWS Neptune Console 上查詢
如下圖:
在圖中你可以看到連接的 Endpoint
7)
運(yùn)行 bin 目錄下的命令進(jìn)入 Gremlin 控制臺(tái)
看到如下界面:
此時(shí)我們可以看到
gremlin 的命令行提示符
8)
在 gremlin> 命令行提示符下,輸入前面配置 endpoint 的文件,讓 gremlin 連接我們創(chuàng)建的 neptune 數(shù)據(jù)庫(kù)。
可以看到 gremlin 連接了
我們配置的 Neptune 數(shù)據(jù)庫(kù)
9)
輸入下面命令,控制 gremlin 發(fā)送所有的命令到遠(yuǎn)程 Neptune 服務(wù)器:
10)
為圖增加一個(gè)頂點(diǎn),輸入下面命令:
11)
輸入下面命令退出:
05
加載數(shù)據(jù)
除了在上一步中所見的通過命令行插入數(shù)據(jù)到圖數(shù)據(jù)庫(kù)中,我們也可以將一定格式的數(shù)據(jù)存儲(chǔ)到 S3 中,然后加載到圖數(shù)據(jù)庫(kù)中,詳情,請(qǐng)參考下面鏈接加載和查詢數(shù)據(jù):
https://docs.aws.amazon.com/zh_cn/neptune/latest/userguide/load-api-reference-load.html
內(nèi)容作者
AWS 高級(jí)解決方案架構(gòu)師 -?藍(lán)勇
更多內(nèi)容請(qǐng)查看:
http://dwz.date/g2a
END
馬上點(diǎn)擊“閱讀原文”
探索 19 種產(chǎn)品,利用免費(fèi)套餐
在 AWS 中國(guó)(寧夏)區(qū)域開始構(gòu)建
總結(jié)
以上是生活随笔為你收集整理的c++图的创建_使用 Amazon Neptune 构建基于图数据库的应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2个字节能存多少个16进制_LabVIE
- 下一篇: 结构损伤检测与智能诊断 陈长征_阜康危房