SlideShare a Scribd company logo
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
アマゾン ウェブ サービス ジャパン株式会社
ソリューションアーキテクト 五十嵐 建平
2018.07.03
【AWS Black Belt Online Seminar】
Amazon Neptune
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
自己紹介
五十嵐 建平
技術統括本部
ソリューションアーキテクト
好きなサービス
• Amazon Aurora
• Amazon Performance Insights
• Amazon Neptune
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Black Belt Online Seminarとは
AWSJのTechメンバがAWSに関する様々な事を紹介するオンラインセミナーです
【火曜 12:00〜13:00】
主にAWSのソリューションや
業界カットでの使いどころなどを紹介
(例:IoT、金融業界向け etc.)
【水曜 18:00〜19:00】
主にAWSサービスの紹介や
アップデートの解説
(例:EC2、RDS、Lambda etc.)
※開催曜日と時間帯は変更となる場合がございます。最新の情報は下記をご確認下さい。
オンラインセミナーのスケジュール&申し込みサイト https://aws.amazon.com/jp/about-aws/events/webinars/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
内容についての注意点
• 本資料では2018年7月3日時点のサービス内容および価格についてご説明しています。最新の情報は
AWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。
• 資料作成には十分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価格に相違が
あった場合、AWS公式ウェブサイトの価格を優先とさせていただきます。
• 価格は税抜表記となっています。日本居住者のお客様が東京リージョンを使用する場合、別途消費
税をご請求させていただきます。
• AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to
change in accordance with the AWS Customer Agreement available at
http://aws.amazon.com/agreement/. Any pricing information included in this document is
provided only as an estimate of usage charges for AWS services based on certain
information that you have provided. Monthly charges will be based on your actual use of
AWS services, and may vary from the estimates provided.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
このセミナーの内容
グラフデータベースについて
Amazon Neptuneの特徴
Amazon Neptuneの使い方
構成
インターフェイス
可視化
学び方
まとめ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
このセミナーの内容
グラフデータベースについて
Amazon Neptuneの特徴
Amazon Neptuneの使い方
構成
インターフェイス
可視化
学び方
まとめ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
グラフ構造
ノードとエッジ
ソーシャルグラフ
出身地
ノード
ノード
エッジ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
データの関連と実装の分類
多対多
グラフデータベース
1対1
Key-Value ストア
多対1
RDBMS
Amazon
Neptune
Amazon
RDS
Amazon
DynamoDB
Amazon
ElastiCache
Amazon
Redshift
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ソーシャルグラフの例:すべてが多対多
人 エンティティ 場所 エンティティ イベント エンティティ 投稿 エンティティ
人に対して関係する投稿は一意に決まるか?  No (複数投稿する)
投稿に対して関係する人は一意に決まるか?  No (投稿する人, いいねをする人…)
人に対して関係する人は一意に決まるか?  No (複数の友だちがいる)
人に対して関係するイベントは一意に決まるか?  No (複数のイベントに参加/いいねが可能)
イベントが決まると人が一意に決まるか?  No (複数の人が関わる)
…(省略)
すべてのエンティティ関連が多対多となる
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
グラフデータ(高度に連結されたデータ)のユースケース
ソーシャル
グラフ
ライフサイエンス ネットワーク/IT運用不正検出
レコメンデーション ナレッジグラフ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
RDBMSは多対多のデータを直接表現できない
RDBMSは原則として多対1の関連の結合のみを扱う
グラフ構造の「エッジ」も表(関連表)にする必要がある
(person_id, …)  (person_id, event_id)  (event_id, …)
ソーシャルグラフの例では、本質的には4つのエンティティであるにも関わらず、
自己関連表を含めて新たに10個もの関連表を定義する必要がある。
しかも列数/列名なども事前に設計する必要がある。
• エンティティが増加した場合、関連表の数も劇的に増加する
• ちょっとしたグラフ探索でもクエリの複雑性が非常に高くなりやすくなる
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
RDBによるグラフデータ(高度に連結したデータ)での課題
SQLはグラフへの
問合せをするには
不自然
グラフ処理には
機能が不十分
データ変更に対して
スキーマ定義が厳格で
柔軟性に欠ける
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
グラフデータベース
グラフデータベースは高度に連結されたデータのために
最適化された効率的なストレージと探索エンジン
出身地
Hanako
g.V().has('name','Hanako').as('her')
.out('like').in('comment').where(neq('her'))
「Hanakoがいいね!をした記事にコメントした他の人」
をリストアップするGremlinの例
Taro
John
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
高度に連結されたデータに対する異なるアプローチ
ビジネスプロセス要件のために
作られる
関連性に対する質問に答えるために
作られる
リレーショナルデータ グラフデータ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
グラフ処理の分類
OLTP
1処理単位でグラフの一部を探索
リコメンデーション、不正検知など
並列かつ大量に実行される
OLAP
1処理単位でグラフのすべてを探索
クラスタリング、全ノードの重みバランスの調整など
1度の処理が大きい
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
従来のグラフデータベースの課題
高可用性を維持する
のが難しい
スケールが難しい
オープンスタンダード
に対して限定的な
サポートしかない
高価
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
このセミナーの内容
グラフデータベースについて
Amazon Neptuneの特徴
Amazon Neptuneの使い方
構成
インターフェイス
可視化
学び方
まとめ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Neptune
フルマネージドなグラフデータベースサービス
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Neptune の特徴
高速 高信頼性 オープン
億レベルの
リレーションシップを
ミリ秒のレイテンシで
問合せ可能
3つのAZに跨がる
6つのレプリカを
フルバックアップ/
リストアと共に提供
GremlinとSPARQLに
よる簡単でパワフル
なクエリを実行
Apache TinkerPop
& W3C RDF グラフ
モデルをサポート
簡単
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Neptune ハイレベルアーキテクチャ
S3からの
バルクロード
管理API
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
クエリ性能
• OLTPのグラフワークロードにおいて
毎秒100,000件のクエリをサポートするよう設計
• 最大15個のリードレプリカ
• 専用に設計されたクラウドネイティブなストレージサービス
• 最適化されたインメモリアーキテクチャ
• クエリの最適化
• 索引を作成する必要がない
• Neptune側で自動的に最適なI/Oパスを実行
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
リードレプリカ
可用性
• データベースノードの障害は自動的に
検知され、交換される
• データベース処理の障害は自動的に検
知され、リソースはリサイクルされる
• リードレプリカは必要に応じて自動的
にマスタに昇格する
• どのリードレプリカに対して優先的に
フェイルオーバーさせるかを指定でき
る
Primary
Node
Primary
Nodeマスタ
Primary
Node
Primary
Node
リード
レプリカ
Primary
Node
Primary
Node
リード
レプリカ
クラスタ/
インスタンス
モニタリング
パフォーマンス
• リードレプリカによってアプリケーション
の読み込みトラフィックをスケールアウト
させることができる
• 読み込みエンドポイントによってリードレ
プリカを跨がって負荷が分散される
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
クラウドネイティブストレージエンジンの概要
データは3つのアベイラビリティーゾーンに跨がった
6つのレプリカにコピーされる
継続的に堅牢な Amaon S3 へバックアップされる
継続的にノードやディスクが修復される
修復やホットスポットのリバランスのために
10GBのセグメントユニットで管理されている
読み書きにはレイテンシ耐性を持つクォーラムシステムを使
用している
クォーラムのメンバーシップが変更されたとしても書き込み
は阻害されない
ストレージは使用に応じて自動的に64TBまで拡張される
AZ 1 AZ 2 AZ 3
Amazon S3
Amazon
Neptune
ストレージ
ノード
ストレージ
ノード
ストレージ
ノード
ストレージ
ノード
ストレージ
ノード
ストレージ
ノード
ストレージ
モニタリング
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
クラウドネイティブストレージエンジンの耐障害性
・どこに障害が発生すると仮定するか?
セグメント障害(ディスク)
ノード障害(マシン)
AZ障害(ネットワークやデータセンター)
・想定される障害に対する最適化
6つ中4つの書き込みクォーラム
6つ中3つの読み込みクォーラム
修復時には各ノード同士で
レプリケーションを実施
AZ 1 AZ 2 AZ 3
キャッシュ
Amazon
Neptune
AZ 1 AZ 2 AZ 3
キャッシュ
Amazon
Neptune
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
S3への継続的バックアップ
• セグメント毎に定期的にS3へ並列でバックアップが取得されている
• バックアップはパフォーマンスや可用性にインパクトを与えることなく絶えず行われている
• リストア時には、セグメント毎に適切なスナップショットと必要なログレコードが抽出される
• スナップショットへのログレコードの適用は並列に非同期的に実行される
セグメントスナップショット ログレコード
リカバリポイント
セグメント 1
時間
セグメント 2
セグメント 3
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Point-in-Time リストア
オンラインでの point-in-time リストアにより、バックアップからリストアすること
なく指定した時間にデータベースの状態を戻すことができる
t0 t1 t2
t0 t1
t2
t3 t4
t3
t4
1. t1へ戻る
2. t3へ戻る
不可視 不可視
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
リクエストのIAM認証
IAMによるリクエスト認証が可能
• AWS署名バージョン4を使用して都度リクエストに署名する必要がある
• 署名のコーディングの必要がある
• 署名や認証のオーバーヘッドに注意
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/iam-auth.html
Neptuneクラスタ
IAMロール
EC2インスタンス
署名されたリクエストAWS署名バージョン4
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
暗号化
通信の暗号化
• 現状TLSは無効
• セキュリティグループによる
アクセス制御
• IAMロール認証
格納されたデータの暗号化
• データベース作成時にのみ指定可
能(変更/解除不可)
• クライアントからは透過的
• AES-256を使用した暗号化
• KMSを使用(既存キーも使用可能)
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/encrypt.html
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
モニタリング
CloudWatch
Neptune用の複数のメトリクスを定義済み
• 例: スケールアップが必要な状況かどうかCPU使用率を用いて判断する
• 例: トラバーサルのエラーが発生していないかを確認する
Audit Logの出力が可能
• 接続元IPアドレス、接続先IPアドレス、RAWメッセージがすべて保存される
• インスタンスタイプに応じて複数のファイルに分割して出力され、100MB毎にローテー
ションする
• マネジメントコンソールから閲覧やダウンロードが可能
メトリクス(一部) 説明
CPUUtilization CPU 使用率。
GremlinErrors Gremlin がトラバーサルしたエラー数。
SparqlRequests SPARQL エンジンへのリクエスト数。
1530539742245, /10.0.2.59:47354, /10.0.2.112:8182, Websocket, "RequestMessage{, requestId=21ad8a13-
6489-4f9e-8067-71f7dbd6f8cd, op='eval', processor='', args={gremlin=g.V(), bindings={},
batchSize=64}}"
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
2つのグラフモデルとフレームワーク
Apache TinkerPop™ (OSS)
Gremlin Traversal Language
W3C標準
SPARQL Query Language
RDFプロパティグラフ
※トランザクションもサポート(バルクロード時除く)
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-gremlin-differences.html
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
プロパティグラフ
Vertex、Edge、付随するプロパティから構成される一般的なグラフ構造
• Vertex はエンティティ/ドメインを表す
• Edge はVertex間の直接の関係を表す
• 各Edgeは関係の種類を示すラベルを持つ
• VertexとEdgeはそれぞれユニークな識別子を持つ
• VertexとEdgeはプロパティを持つことができる
• プロパティはVertexとEdgeに関する型付きの非リレーショナルな情報を表現する
• Tinkerpop 3では label というデフォルトのプロパティを必ず持つ必要がある
• 型はブール、整数、浮動小数点、文字列、日付
FRIENDname:
Bill
name:
Sarah
UserUser
Since 11/29/16
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
再掲: ソーシャルグラフでの例
出身地
Hanako
gremlin>
g.V().has('name','Hanako').as('her').out('like')
.in('comment').where(neq('her')).valueMap()
==>{name=[John], age=[45]}
「Hanakoがいいね!をした記事にコメントした他の人」
をリストアップするGremlinの実行例
~id,~label,name:String,age:Int,created:Date
p1,person,"Hanako",25,
p2,person,"Taro",21,
p3,person,"John",45,
a1,article,,,"2018-07-03"
e1,event,"Special Event",,"2018-06-18"
c1,checkinplace,"Hokkaido",,,
~id,~from,~to,~label,created:Date,comment:String
e1,p1,a1,like,"2018-07-03",
e2,p1,e1,interest,"2018-06-29",
e3,p1,c1,wanttolive,,
e4,p2,p1,follow,,
e5,p2,a1,make,"2018-07-03",
e6,p2,e1,make,"2018-06-18",
e7,p3,p2,friend,,
e8,p2,p3,friend,,
e9,p3,a1,comment,,"good article"
e10,a1,c1,checkin,,
e11,p3,c1,hometown,,
Taro
John
ノード用CSV エッジ用CSV
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
RDF (Resource Description Framework)
• 外部と交換/外部に公開される厳密なセマンティックグラフを表現するのに適した構造
• トリプル(主語, 述語, 目的語) でデータを表現する
• Internationalized Resource Identifiers (IRIs) で主語を一意に特定する
• 目的語は IRI あるいはリテラルを使う
• RDFにおけるリテラルはプロパティに似ており、XMLデータ型に対応する
• 目的語が IRI の場合、グラフにおける Edge となる
name:
Bill
User
FRIEND
#1 2#2
<http://www.socialnetwork.com/person#1>
rdf:type contacts:User;
contact:name: ”Bill” .
Subject
Predicate
Object (literal)
<http://www.socialnetwork.com/person#1>IRI
<http://www.socialnetwork.com/person#1>
contacts:friend
<http://www.socialnetwork.com/person#2> .
Subject
Predicate
Object (IRI)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
料金構成
要素 詳細
時間単位のオンデマンドインスタンス
料金
db.r4.large〜db.r4.8xlarge の 5タイプ
データベースストレージおよびI/O 容量(GB)
I/Oリクエスト数(100万リクエスト単位)
バックアップストレージ 容量(GB)
※リージョンのNeptuneデータベーススト
レージ合計を超えるまでは無料
データ転送 リージョン外への通信量(GB)
※1GBまでは無料
https://aws.amazon.com/jp/neptune/pricing/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
月額料金計算例
https://aws.amazon.com/jp/neptune/pricing/
米国東部リージョンの場合
db.r4.large/容量50GB(バックアップ50GB)
/平均77.2 iops (月間2億I/Oリクエスト)/リージョン外への通信量 10GB
要素 詳細
時間単位のオンデマンドインスタンス
料金
$250.56 ($0.348 * 24 * 30)
データベースストレージおよびI/O 容量 $5 ($0.10 * 50)
I/Oリクエスト $40 ($0.20 * 200)
バックアップストレージ $0
※データベースストレージ容量まで無料
データ転送 $0.81 ($0.09 * 9)
※1GBまでは無料
合計 $296.37
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
リージョン
• 米国東部 (バージニア北部)
• 米国東部 (オハイオ)
• 米国西部 (オレゴン)
• 欧州 (アイルランド)
順次拡大予定
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
このセミナーの内容
グラフデータベースについて
Amazon Neptuneの特徴
Amazon Neptuneの使い方
構成
インターフェイス
可視化
学び方
まとめ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
EC2からのアクセス
NeptuneはVPC内に配置される
• Public IPアドレスは付与できない
 インターネットから直接アクセスは不可
なのでVPC内部のEC2などからアクセスする
アクセス制御はセキュリティグループで実施
 IPアドレス範囲またはセキュリティグ
ループをソースとして、アクセスを許可する
ポート(デフォルト8182番)を指定
セキュリティグループ
セキュリティグループ
EC2インスタンス
Neptuneエンドポイント
インターネット
ゲートウェイ
インターネット
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-launch-ec2-instance.html
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambdaからのアクセス
VPC外からのLambdaからはアクセス不可
 VPC内のLambdaから利用する
セキュリティグルー
プ
セキュリティグループ
Lambda Function
Neptuneエンドポイント
Lambda Function
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サブネットグループとエンドポイント
サブネットグループ
• インスタンスを起動するサブネットを定義
• リージョン内の少なくとも2つのAZにサブネットが必要
エンドポイント
• クラスタエンドポイントは書き込み可能なマスタインスタンスに解決される
• 読み込みエンドポイントはいずれかのリードレプリカに解決される
Availability Zone a Availability Zone b Availability Zone c
VPC Subnet a1 VPC Subnet b1 VPC Subnet c1
Read Replica 1 Read Replica 2 Master
NeptuneSubnetGroup
クラスタエンドポイント読み込みエンドポイント
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
バルクロード用S3バケット
バルクロード用のS3バケットの条件
• 同一リージョン
• VPCエンドポイント
• アクセス可能なIAMロールを
Neptuneクラスタにアタッチ
us-east-1
us-east-2
Neptuneクラスタ
S3バケット
VPCエンドポイント
IAMロール
S3バケット
参照可能
EC2インスタンス
バルクロードAPI
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/bulk-load.html
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Webアプリケーションにおけるスケール可能な構成例
Neptune
Master
インターネット
Application
Load Balancer
S3バケット
RDS
Master
APサーバー
APサーバー
Neptune
Read Replica
RDS
Read Replica
R
AZ b
AZ a
定期バルクロード
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
このセミナーの内容
グラフデータベースについて
Amazon Neptuneの特徴
Amazon Neptuneの使い方
構成
インターフェイス
可視化
学び方
まとめ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ドキュメントに記載されたインターフェイス一覧
Tinkerpop/Gremlin RDF/SPARQL バルクロード Neptuneの管理
コンソール Gremlin Console RDF4J Console
RDF4J Workbench
- AWS CLI
Java Gremlin Driver RDF4J - AWS SDK for Java
Python Gremlin-Python Driver - - boto3
.NET Gremlin.NET - - AWS SDK for .NET
HTTP REST HTTP REST (Gremlin) HTTP REST (SPARQL) Neptune Loader API Health Status
REST以外の
HTTP
Gremlin HTTP
WebSocket API
SPARQL HTTP - -
本セミナーでは赤字のインターフェイスについてご紹介します
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
[Gremlin] Gremlin Console
Groovyベースのコンソール
用途: Gremlinの学習/アプリケーション開発/アドホック分析/データベース運用
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-gremlin-console.html
http://tinkerpop.apache.org/docs/current/reference/#connecting-via-console
https://github.com/tinkerpop/gremlin/wiki/Getting-Started
$ cat conf/neptune-remote.yaml
hosts: [<Neptune end point>]
port: 8182
serializer: { className: (省略)}
$ cat neptune.groovy
:remote connect tinkerpop.server conf/neptune-remote.yaml
:remote console
$ cat bin/mygremlin.sh
bin/gremlin.sh -i neptune.groovy
$ bin/mygremlin.sh
¥,,,/
(o o)
-----oOOo-(3)-oOOo-----
plugin activated: tinkerpop.server
plugin activated:
tinkerpop.utilities
plugin activated:
tinkerpop.tinkergraph
gremlin> g.V().limit(1)
==>v[Luke]
gremlin>
サーバー定義
Neptuneに接続する初期化スクリプト
初期化スクリプトを呼び出す起動シェル
起動シェルの実行
Neptuneへのクエリ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
[Gremlin] Gremlin Driver (Java)
Javaベースのアプリケーションで使用可能なGremlinドライバ
用途: Javaアプリケーション
<dependency>
<groupId>org.apache.tinkerpop</groupId>
<artifactId>gremlin-driver</artifactId>
<version>3.3.3</version>
</dependency>
pom.xml
Cluster.Builder builder = Cluster.build();
builder.addContactPoint("your-neptune-endpoint");
builder.port(8182);
Cluster cluster = builder.create();
GraphTraversalSource g = EmptyGraph.instance()
.traversal().withRemote(
DriverRemoteConnection.using(cluster));
GraphTraversal t = g.V().limit(1).valueMap();
t.forEachRemaining(e -> System.out.println(e));
cluster.close();
ソースコード
Neptuneへのクエリ
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-gremlin-java.html
http://tinkerpop.apache.org/docs/current/reference/#connecting-via-java
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
[Gremlin] Gremlin-Python Driver
Pythonで使用可能なGremlin Driver
Javaの Gremlin Driver を基にしており一部制限がある
用途: Gremlinの学習/Pythonアプリケーション $ pip install --user gremlinpython
…
Successfully installed gremlinpython-3.3.3
from __future__ import print_function
from gremlin_python import statics
from gremlin_python.structure.graph import Graph
from gremlin_python.process.graph_traversal import __
from gremlin_python.process.strategies import *
from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection
graph = Graph()
g = graph.traversal().withRemote(DriverRemoteConnection(
'ws://your-neptune-endpoint:8182/gremlin','g'))
print(g.V().limit(1).toList()) Neptuneへのクエリ
インストール
ソースコード
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-gremlin-python.html
http://tinkerpop.apache.org/docs/current/reference/#connecting-via-python
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
[Gremlin] HTTP
HTTP REST/WebSocketインタフェース
ドライバが不要
用途: ドライバのない言語・環境からのアクセス/HTTPベースのGremlinアプリケーションや
ツール/動作確認
※変数のバインド(bindings)は使用不可
(NGの例: curl -X POST -d '{"gremlin":"g.V().limit(x)", "bindings":{"x":1}}' http://your-end-point:8182/gremlin
$ curl -X POST -d '{"gremlin":"g.V().limit(1)"}' http://your-end-point:8182/gremlin
{"requestId":"e2b22100-f81c-4f31-6862-6dc525b3a543",
"status":{"message":"","code":200,"attributes":{"@type":"g:Map","@value":[]}},
"result":{"data":{"@type":"g:List","@value":[{"@type":"g:Vertex",
"@value":{"id":"Luke","label":"person","properties":
{"GamerAlias":[{"@type":"g:VertexProperty","@value":
{"id":{"@type":"g:Int32","@value":-1735852585},"value":"skywalker123",
"label":"GamerAlias"}}]}}}]},"meta":{"@type":"g:Map","@value":[]}}}
Neptuneへのクエリ
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-gremlin-rest.html
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/gremlin-api-reference.html
http://tinkerpop.apache.org/docs/current/reference/#_connecting_via_http
HTTP RESTの例
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
[SPARQL] RDF4J Console
インタラクティブにSPARQLを発行可能なRDF4Jのコンソール (RDF4J WorkbenchというGUIツールもあります)
用途: SPARQLの学習/アプリケーション開発/アドホック分析
$ bin/console.sh
...
> create sparql
Please specify values for the following variables:
SPARQL query endpoint: http://your-end-point:8182/sparql
Local repository ID [endpoint@localhost]: neptune
...
> open neptune
neptune> sparql select ?s ?p ?o where {?s ?p ?o} limit 1
Evaluating SPARQL query...
+------------------------+------------------------+------------------------+
| s | p | o |
+------------------------+------------------------+------------------------+
| <http://aws.amazon.com/neptune/John_Smith>| <http://www.nist.gov/units/weight>| _:b33558799
|
+------------------------+------------------------+------------------------+
1 result(s) (46 ms)
neptune>
エンドポイント定義
リポジトリ名
Neptuneへのクエリ
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-sparql-rdf4j-console.html
http://docs.rdf4j.org/server-workbench-console/#_rdf4j_console
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
[SPARQL] RDF4J Runtime (Java)
<dependency>
<groupId>org.eclipse.rdf4j</groupId>
<artifactId>rdf4j-runtime</artifactId>
<version>2.2</version>
</dependency>
pom.xml
Javaベースのアプリケーションで使用可能なRDF4Jのランタイムライブラリ
用途: Javaアプリケーション
Repository repo = new SPARQLRepository(
"http://your-neptune-endpoint:8182/sparql");
repo.initialize();
try (RepositoryConnection conn = repo.getConnection()) {
TupleQuery tupleQuery =
conn.prepareTupleQuery(QueryLanguage.SPARQL,
"SELECT ?s ?p ?o WHERE { ?s ?p ?o } limit 10");
try (TupleQueryResult result = tupleQuery.evaluate()) {
while (result.hasNext()) {
BindingSet bindingSet = result.next();
Value s = bindingSet.getValue("s");
Value p = bindingSet.getValue("p");
Value o = bindingSet.getValue("o");
System.out.print(s + "¥t” + p + "¥t” + o);
}
}
}
ソースコード
Neptuneへのクエリ
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-sparql-java.html
http://docs.rdf4j.org/programming/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
[SPARQL] HTTP
HTTP REST または SPARQL HTTPインタフェース
ドライバが不要
用途: ドライバのない言語・環境からのアクセス/SPARQL Protocolを用いるアプリケーショ
ンやツール/動作確認
$ curl -X POST --data-binary 'query=select ?s ?p ?o where {?s ?p ?o} limit 1' ¥
http://your-end-point:8182/sparql
{
"head" : {"vars" : [ "s", "p", "o" ]},
"results" : {
"bindings" : [ {
"s" : {"type" : "uri", "value" : "http://aws.amazon.com/neptune/John_Smith"},
"p" : {"type" : "uri", "value" : "http://www.nist.gov/units/weight"},
"o" : {"type" : "bnode","value" : "b33558799"}
} ]
}
}
Neptuneへのクエリ
HTTP RESTの例
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-sparql-http-rest.html
https://www.w3.org/TR/sparql11-protocol/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
バルクロード
S3バケットからNeptuneインスタンスにバルクロードする HTTP REST API を用意
• バケットはNeptuneインスタンスと同一リージョンにある必要がある
• フォーマットによってGremlinかSPARQLかを判断 (CSV形式の場合はGremlin)
• 非同期ジョブとして実行され、キャンセルやキャンセル後の再開が可能
• NeptuneクラスタにアタッチしたIAMロールによってS3に対する認証を実施
(accessKey/secretKeyによる認証は廃止されます)
curl -X POST ¥
-H 'Content-Type: application/json' ¥
http://<your-end-point>:8182/loader -d '
{
"source" : "s3://<bucket-and-key>/",
"iamRoleArn" : "<iam-role-arn>",
"format" : "csv",
"region" : "us-east-1",
"failOnError" : "FALSE"
}'
ロードコマンド例
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/bulk-load.html
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ヘルスステータス
データベースステータスを簡単に確認できるURLを用意
• アプリケーションから接続可能かどうかのチェック
• セキュリティグループの設定が正しいかのチェック
URL: http(s)://your-neptune-endpoint:8182/status
正常時応答: {"status": "healthy”}
異常時応答: ステータス500, タイムアウトなど
$ curl -G http://your-neptune-endpoint:8182/status
{"status":"healthy"}
コマンド例
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-status.html
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Neptuneの管理 - AWS CLI/SDK
インスタンスの作成/参照/削除やフェイルオーバーなど、
Neptune管理のためのCLI/SDKが用意されています。
※VPC外からの実行も可能です
$ aws neptune failover-db-cluster --db-cluster-identifier rdfcluster --region us-east-1
{
"DBCluster": {
"MasterUsername": "admin",
"ReaderEndpoint": ”your-end-point",
"ReadReplicaIdentifiers": [],
...(省略)
}
CLIによるリードレプリカへのフェイルオーバーの例
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/load-api-reference-load.html
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
このセミナーの内容
グラフデータベースについて
Amazon Neptuneの特徴
Amazon Neptuneの使い方
構成
インターフェイス
可視化
学び方
まとめ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
何のための可視化か?
全体を見るための
可視化
一部を見るための
可視化
大規模グラフのOLTP用途では
こちらが中心となる
視覚的に全体的な構造を把握
クラスタリングの仮説を立てる
ドリルダウン
視覚的にターゲット周辺の構造を把握
トラバーサルの仮説を立てる
実トランザクションの大規模グラフ
ではすべてのデータを描画しても
情報過多となる
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
オープンなインターフェイスの活用
GremlinまたはRDF/SPARQLに対応した可視化ツールを使用
※ Neptune自体は可視化機能を提供しない
可視化ツールの例 カテゴリ インターフェイス
Grashexp オープンソース Gremlin
Tom Sawyer Software 商用 Gremlin
RDF/SPARQL
Metaphactory 商用 Gremlin
RDF/SPARQL
Cambridge Intelligence / Keylines 商用 RDF/SPARQL
※可視化ツールはあくまで補助的なものであり、ユースケースに合わせた設計と処理が最も大切
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Graphexp
JavaScriptベースの可視化ツール
GitHubリポジトリ以下のファイル一式をWebサーバに配置するだけのシンプルさ
以下設定でNeptuneに対応
Webブラウザから直接Neptuneエンドポイントに
アクセスできる必要がある
const SINGLE_COMMANDS_AND_NO_VARS = true;
graphConf.js
Neptuneエンドポイント
インターネット WorkSpaces
Webサーバ
WorkSpacesとWebサーバでの構成例
https://github.com/bricaud/graphexp
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Tom Sawyer
多機能で歴史の長い
商用データ可視化ツール
• GremlinとSPARQLの両方に対応
re:Invent 2017において
Neptuneのサポートとパートナーシップを発表
https://www.tomsawyer.com/aws-amazon-neptune-partner/
• 今後 The Tom Sawyer Perspectives Graph Database Browser を
AWS MarketPlace 上で公開予定
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cambridge Intelligence / Keylines
グラフ可視化アプリケーションを作成
するための高機能な商用ライブラリ
• GremlinとSPARQLの両方に対応
• JavaScriptベース
Cambridge Intelligence社による Amazon Neptune 対応に関するブログ
https://cambridge-intelligence.com/visualizing-the-amazon-neptune-database-with-keylines/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Metaphactory
エンタープライズ向け
ナレッジグラフプラットフォーム
• RDF/SPARQLベース
• グラフデータベースとして
Amazon Neptuneをサポート
http://www.metaphacts.com/amazon-neptune
Metaphactory + Amazon Neptune のユースケースセッション
AWS re:Invent 2017: NEW LAUNCH! Amazon Neptune Overview and Customer Use Cases (DAT319)
https://www.youtube.com/watch?v=9pmQXua9LWA
※Metaphactoryについては38:50あたりから紹介
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
このセミナーの内容
グラフデータベースについて
Amazon Neptuneの特徴
Amazon Neptuneの使い方
構成
インターフェイス
可視化
学び方
まとめ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サンプルデータ
AWSによるサンプルデータ
[Gremlin]
協調フィルタリングの例
https://github.com/aws-samples/amazon-neptune-
samples/tree/master/gremlin/collaborative-filtering
 Neptune バルクロードして使用
[RDF/SPARQL]
Coming Soon
オープンなサンプルデータの例
[Gremlin]
GitHub: apache / tinkerpop / data
https://github.com/apache/tinkerpop/tree/master/data
 次ページのNeptune ToolsでCSVに変換後
バルクロード
[RDF/SPARQL]
RDF Examples by W3C
https://www.w3.org/2000/10/rdf-tests/
 Neptune でそのままバルクロード可能
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
[Gremlin] Neptune Tools
GraphML ファイルをNeptuneでのバルクロードが可能な
CSV ファイルに変換するツール
https://github.com/awslabs/amazon-neptune-tools/tree/master/graphml2csv
# TinkerpopのModernデータのうちGraphML形式の tinkerpop-modern.xml をダウンロード
$ curl https://raw.githubusercontent.com/apache/tinkerpop/master/data/tinkerpop-
modern.xml -o tinkerpop-modern.xml
# Pythonスクリプトを実行してノードとエッジの2つのCSVファイルに変換
$ ./graphml2csv.py -i tinkerpop-modern.xml
infile = tinkerpop-modern.xml
Processing tinkerpop-modern.xml
Wrote 6 nodes and 18 attributes to tinkerpop-modern-nodes.csv.
Wrote 6 edges and 12 attributes to tinkerpop-modern-edges.csv.
# あとは変換されたCSVファイルをS3バケットに配置してNeptuneにバルクロードすればOK
TinkerpopのModernデータを変換する例
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
[Gremlin] 学習パスの例
1. Gremlin Console(とGraphexp)を用いてクエリを実行しながら学習
• AWS SamplesのTutorialに沿ってクエリを実行してみる
https://github.com/aws-samples/amazon-neptune-samples/tree/master/gremlin/collaborative-filtering
• TinkerpopのTutorialで学習する
http://tinkerpop.apache.org/docs/3.3.3/tutorials/gremlins-anatomy/
http://tinkerpop.apache.org/docs/3.3.3/tutorials/the-gremlin-console/
※データは前ページで紹介したModernデータを用いる
※Neptuneにおける実装での相違点に留意しながら実行する
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-gremlin-differences.html
2. Graphexpで構造を確認しながらオリジナルのグラフとクエリを作成
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
[RDF/SPARQL] 学習パスの例
1. 公開されたグローバルなナレッジベースを用いてSPARQLを学習
• 例: DBPedia http://ja.dbpedia.org/sparql
SPARQLチュートリアル@第36回SWO研究会-DBpediaシンポジウム
https://docs.google.com/spreadsheets/d/1zlrplSjBXviaJaEHWBrKqiSYXS1K9ojDKDqOGl5BGOI/edit#gid=0
既存のクエリを少しずつ改変しながら学ぶなどが有効。
2. 独自のデータを Neptune に作成しオリジナルのクエリを作成
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
このセミナーの内容
グラフデータベースについて
Amazon Neptuneの特徴
Amazon Neptuneの使い方
構成
インターフェイス
可視化
学び方
まとめ
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
従来のグラフデータベースの課題
高可用性を維持する
のが難しい
スケールが難しい
オープンスタンダード
に対して限定的な
サポートしかない
高価
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Neptune の特徴
高速 高信頼性 オープン
億レベルの
リレーションシップを
ミリ秒のレイテンシで
問合せ可能
3つのAZに跨がる
6つのレプリカを
フルバックアップ/
リストアと共に提供
GremlinとSPARQLに
よる簡単でパワフル
なクエリを実行
Apache TinkerPop
& W3C RDF グラフ
モデルをサポート
簡単
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Neptune ハイレベルアーキテクチャ
S3からの
バルクロード
データベース
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Neptuneの使い方 – 様々なインターフェイス
Tinkerpop/Gremlin RDF/SPARQL バルクロード Neptuneの管理
コンソール Gremlin Console RDF4J Console
RDF4J Workbench
- AWS CLI
Java Gremlin Driver RDF4J - AWS SDK for Java
Python Gremlin-Python Driver - - boto3
.NET Gremlin.NET - - AWS SDK for .NET
HTTP REST HTTP REST (Gremlin) HTTP REST (SPARQL) Neptune Loader API Health Status
REST以外の
HTTP
Gremlin HTTP
WebSocket API
SPARQL HTTP - -
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
さいごに
Amazon Neptune についてもっと知りたい方はこちら
• 公式ページ
https://aws.amazon.com/jp/neptune/
• ドキュメントやチュートリアルなどのリソース
https://aws.amazon.com/jp/neptune/developer-resources/
• Amazon Neptune Forum
https://forums.aws.amazon.com/forum.jspa?forumID=253
Amazon Neptune で
スケーラブルで堅牢なグラフデータベースを
実現しましょう!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS オンラインセミナースケジュール
AWS オンラインセミナースケジュールは以下より確認できます
https://amzn.to/JPWebinar
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
オンラインセミナー資料の配置場所
AWS クラウドサービス活用資料集
• https://aws.amazon.com/jp/aws-jp-introduction/
Amazon Web Services ブログ
• 最新の情報、セミナー中のQ&A等が掲載されています。
• https://aws.amazon.com/jp/blogs/news/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
公式Twitter/Facebook
AWSの最新情報をお届けします
@awscloud_jp
検索
最新技術情報、イベント情報、お役立ち情報、
お得なキャンペーン情報などを日々更新しています!
もしくは
http://on.fb.me/1vR8yWm
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWSの導入、お問い合わせのご相談
AWSクラウド導入に関するご質問、お見積、資料請求をご希望のお客様は以
下のリンクよりお気軽にご相談下さい。
https://aws.amazon.com/jp/contact-us/aws-sales/
※「AWS 問い合わせ」で検索して下さい。
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Well Architected 個別技術相談会お知らせ
• Well Architectedフレームワークに基づく数十個の質問項目を元に、お客様
がAWS上で構築するシステムに潜むリスクやその回避方法をお伝えする個別
相談会です。
https://pages.awscloud.com/well-architected-consulting-2017Q4-
jp.html
• 参加無料
• 毎週火曜・木曜開催

More Related Content

What's hot

20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
Amazon Web Services Japan
 
20190320 AWS Black Belt Online Seminar Amazon EBS
20190320 AWS Black Belt Online Seminar Amazon EBS20190320 AWS Black Belt Online Seminar Amazon EBS
20190320 AWS Black Belt Online Seminar Amazon EBS
Amazon Web Services Japan
 
20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync
Amazon Web Services Japan
 
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
Amazon Web Services Japan
 
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
Amazon Web Services Japan
 
20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes
Amazon Web Services Japan
 
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
Amazon Web Services Japan
 
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
Amazon Web Services Japan
 
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
Amazon Web Services Japan
 
20191001 AWS Black Belt Online Seminar AWS Lake Formation
20191001 AWS Black Belt Online Seminar AWS Lake Formation 20191001 AWS Black Belt Online Seminar AWS Lake Formation
20191001 AWS Black Belt Online Seminar AWS Lake Formation
Amazon Web Services Japan
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon Web Services Japan
 
20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR
Amazon Web Services Japan
 
AWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティスAWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティス
Amazon Web Services Japan
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue
Amazon Web Services Japan
 
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
Amazon Web Services Japan
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager
Amazon Web Services Japan
 
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
Amazon Web Services Japan
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
Amazon Web Services Japan
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
Amazon Web Services Japan
 
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
Amazon Web Services Japan
 

What's hot (20)

20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
 
20190320 AWS Black Belt Online Seminar Amazon EBS
20190320 AWS Black Belt Online Seminar Amazon EBS20190320 AWS Black Belt Online Seminar Amazon EBS
20190320 AWS Black Belt Online Seminar Amazon EBS
 
20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync
 
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
 
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
 
20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes
 
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
 
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
 
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
 
20191001 AWS Black Belt Online Seminar AWS Lake Formation
20191001 AWS Black Belt Online Seminar AWS Lake Formation 20191001 AWS Black Belt Online Seminar AWS Lake Formation
20191001 AWS Black Belt Online Seminar AWS Lake Formation
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
 
20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR
 
AWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティスAWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティス
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue
 
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager
 
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
 
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
 

Similar to 20180703 AWS Black Belt Online Seminar Amazon Neptune

Effective Data Lakes - ユースケースとデザインパターン
Effective Data Lakes - ユースケースとデザインパターンEffective Data Lakes - ユースケースとデザインパターン
Effective Data Lakes - ユースケースとデザインパターン
Noritaka Sekiyama
 
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
Amazon Web Services Japan
 
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
Amazon Web Services Japan
 
AWS Black Belt - AWS Glue
AWS Black Belt - AWS GlueAWS Black Belt - AWS Glue
AWS Black Belt - AWS Glue
Amazon Web Services Japan
 
Reinvent2017 recap-gaming-session-1
Reinvent2017 recap-gaming-session-1Reinvent2017 recap-gaming-session-1
Reinvent2017 recap-gaming-session-1
Amazon Web Services Japan
 
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
Amazon Web Services Japan
 
(Fix)Azure Network Security Group(NSG)のおさらい
(Fix)Azure Network Security Group(NSG)のおさらい(Fix)Azure Network Security Group(NSG)のおさらい
(Fix)Azure Network Security Group(NSG)のおさらい
Yoshimasa Katakura
 
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
Amazon Web Services Japan
 
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
Amazon Web Services Japan
 
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築
伊藤 祐策
 
Best Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWSBest Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWS
Amazon Web Services Japan
 
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
Amazon Web Services Japan
 
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
Amazon Web Services Japan
 
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
Amazon Web Services Japan
 
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Amazon Web Services Japan
 
Introduction to New CloudWatch Agent
Introduction to New CloudWatch AgentIntroduction to New CloudWatch Agent
Introduction to New CloudWatch Agent
Noritaka Sekiyama
 
エッジコンピューティングで実現できる活用シナリオ3選
エッジコンピューティングで実現できる活用シナリオ3選エッジコンピューティングで実現できる活用シナリオ3選
エッジコンピューティングで実現できる活用シナリオ3選
Jun Ichikawa
 
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクスAmazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Web Services Japan
 
Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Web Services Japan
 
AWS 主要なサービスアップデート 6/3-11/28
AWS 主要なサービスアップデート 6/3-11/28AWS 主要なサービスアップデート 6/3-11/28
AWS 主要なサービスアップデート 6/3-11/28
崇之 清水
 

Similar to 20180703 AWS Black Belt Online Seminar Amazon Neptune (20)

Effective Data Lakes - ユースケースとデザインパターン
Effective Data Lakes - ユースケースとデザインパターンEffective Data Lakes - ユースケースとデザインパターン
Effective Data Lakes - ユースケースとデザインパターン
 
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
 
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
 
AWS Black Belt - AWS Glue
AWS Black Belt - AWS GlueAWS Black Belt - AWS Glue
AWS Black Belt - AWS Glue
 
Reinvent2017 recap-gaming-session-1
Reinvent2017 recap-gaming-session-1Reinvent2017 recap-gaming-session-1
Reinvent2017 recap-gaming-session-1
 
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
 
(Fix)Azure Network Security Group(NSG)のおさらい
(Fix)Azure Network Security Group(NSG)のおさらい(Fix)Azure Network Security Group(NSG)のおさらい
(Fix)Azure Network Security Group(NSG)のおさらい
 
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
 
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
 
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築
 
Best Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWSBest Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWS
 
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
 
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
 
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
 
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
 
Introduction to New CloudWatch Agent
Introduction to New CloudWatch AgentIntroduction to New CloudWatch Agent
Introduction to New CloudWatch Agent
 
エッジコンピューティングで実現できる活用シナリオ3選
エッジコンピューティングで実現できる活用シナリオ3選エッジコンピューティングで実現できる活用シナリオ3選
エッジコンピューティングで実現できる活用シナリオ3選
 
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクスAmazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
 
Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理
 
AWS 主要なサービスアップデート 6/3-11/28
AWS 主要なサービスアップデート 6/3-11/28AWS 主要なサービスアップデート 6/3-11/28
AWS 主要なサービスアップデート 6/3-11/28
 

More from Amazon Web Services Japan

202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Amazon Web Services Japan
 
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
Amazon Web Services Japan
 
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
Amazon Web Services Japan
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
 
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
Amazon Web Services Japan
 
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
Amazon Web Services Japan
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Web Services Japan
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
Amazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
Amazon Web Services Japan
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
Amazon Web Services Japan
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon Web Services Japan
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
Amazon Web Services Japan
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
Amazon Web Services Japan
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
Amazon Web Services Japan
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
Amazon Web Services Japan
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
Amazon Web Services Japan
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
Amazon Web Services Japan
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
Amazon Web Services Japan
 

More from Amazon Web Services Japan (20)

202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
 
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
 
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
 
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
 
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
 

Recently uploaded

論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 

Recently uploaded (15)

論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 

20180703 AWS Black Belt Online Seminar Amazon Neptune

  • 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. アマゾン ウェブ サービス ジャパン株式会社 ソリューションアーキテクト 五十嵐 建平 2018.07.03 【AWS Black Belt Online Seminar】 Amazon Neptune
  • 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 自己紹介 五十嵐 建平 技術統括本部 ソリューションアーキテクト 好きなサービス • Amazon Aurora • Amazon Performance Insights • Amazon Neptune
  • 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Black Belt Online Seminarとは AWSJのTechメンバがAWSに関する様々な事を紹介するオンラインセミナーです 【火曜 12:00〜13:00】 主にAWSのソリューションや 業界カットでの使いどころなどを紹介 (例:IoT、金融業界向け etc.) 【水曜 18:00〜19:00】 主にAWSサービスの紹介や アップデートの解説 (例:EC2、RDS、Lambda etc.) ※開催曜日と時間帯は変更となる場合がございます。最新の情報は下記をご確認下さい。 オンラインセミナーのスケジュール&申し込みサイト https://aws.amazon.com/jp/about-aws/events/webinars/
  • 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 内容についての注意点 • 本資料では2018年7月3日時点のサービス内容および価格についてご説明しています。最新の情報は AWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。 • 資料作成には十分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価格に相違が あった場合、AWS公式ウェブサイトの価格を優先とさせていただきます。 • 価格は税抜表記となっています。日本居住者のお客様が東京リージョンを使用する場合、別途消費 税をご請求させていただきます。 • AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/. Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided. Monthly charges will be based on your actual use of AWS services, and may vary from the estimates provided.
  • 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. このセミナーの内容 グラフデータベースについて Amazon Neptuneの特徴 Amazon Neptuneの使い方 構成 インターフェイス 可視化 学び方 まとめ
  • 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. このセミナーの内容 グラフデータベースについて Amazon Neptuneの特徴 Amazon Neptuneの使い方 構成 インターフェイス 可視化 学び方 まとめ
  • 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. グラフ構造 ノードとエッジ ソーシャルグラフ 出身地 ノード ノード エッジ
  • 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. データの関連と実装の分類 多対多 グラフデータベース 1対1 Key-Value ストア 多対1 RDBMS Amazon Neptune Amazon RDS Amazon DynamoDB Amazon ElastiCache Amazon Redshift
  • 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ソーシャルグラフの例:すべてが多対多 人 エンティティ 場所 エンティティ イベント エンティティ 投稿 エンティティ 人に対して関係する投稿は一意に決まるか?  No (複数投稿する) 投稿に対して関係する人は一意に決まるか?  No (投稿する人, いいねをする人…) 人に対して関係する人は一意に決まるか?  No (複数の友だちがいる) 人に対して関係するイベントは一意に決まるか?  No (複数のイベントに参加/いいねが可能) イベントが決まると人が一意に決まるか?  No (複数の人が関わる) …(省略) すべてのエンティティ関連が多対多となる
  • 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. グラフデータ(高度に連結されたデータ)のユースケース ソーシャル グラフ ライフサイエンス ネットワーク/IT運用不正検出 レコメンデーション ナレッジグラフ
  • 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. RDBMSは多対多のデータを直接表現できない RDBMSは原則として多対1の関連の結合のみを扱う グラフ構造の「エッジ」も表(関連表)にする必要がある (person_id, …)  (person_id, event_id)  (event_id, …) ソーシャルグラフの例では、本質的には4つのエンティティであるにも関わらず、 自己関連表を含めて新たに10個もの関連表を定義する必要がある。 しかも列数/列名なども事前に設計する必要がある。 • エンティティが増加した場合、関連表の数も劇的に増加する • ちょっとしたグラフ探索でもクエリの複雑性が非常に高くなりやすくなる
  • 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. RDBによるグラフデータ(高度に連結したデータ)での課題 SQLはグラフへの 問合せをするには 不自然 グラフ処理には 機能が不十分 データ変更に対して スキーマ定義が厳格で 柔軟性に欠ける
  • 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. グラフデータベース グラフデータベースは高度に連結されたデータのために 最適化された効率的なストレージと探索エンジン 出身地 Hanako g.V().has('name','Hanako').as('her') .out('like').in('comment').where(neq('her')) 「Hanakoがいいね!をした記事にコメントした他の人」 をリストアップするGremlinの例 Taro John
  • 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 高度に連結されたデータに対する異なるアプローチ ビジネスプロセス要件のために 作られる 関連性に対する質問に答えるために 作られる リレーショナルデータ グラフデータ
  • 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. グラフ処理の分類 OLTP 1処理単位でグラフの一部を探索 リコメンデーション、不正検知など 並列かつ大量に実行される OLAP 1処理単位でグラフのすべてを探索 クラスタリング、全ノードの重みバランスの調整など 1度の処理が大きい
  • 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 従来のグラフデータベースの課題 高可用性を維持する のが難しい スケールが難しい オープンスタンダード に対して限定的な サポートしかない 高価
  • 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. このセミナーの内容 グラフデータベースについて Amazon Neptuneの特徴 Amazon Neptuneの使い方 構成 インターフェイス 可視化 学び方 まとめ
  • 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Neptune フルマネージドなグラフデータベースサービス
  • 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Neptune の特徴 高速 高信頼性 オープン 億レベルの リレーションシップを ミリ秒のレイテンシで 問合せ可能 3つのAZに跨がる 6つのレプリカを フルバックアップ/ リストアと共に提供 GremlinとSPARQLに よる簡単でパワフル なクエリを実行 Apache TinkerPop & W3C RDF グラフ モデルをサポート 簡単
  • 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Neptune ハイレベルアーキテクチャ S3からの バルクロード 管理API
  • 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. クエリ性能 • OLTPのグラフワークロードにおいて 毎秒100,000件のクエリをサポートするよう設計 • 最大15個のリードレプリカ • 専用に設計されたクラウドネイティブなストレージサービス • 最適化されたインメモリアーキテクチャ • クエリの最適化 • 索引を作成する必要がない • Neptune側で自動的に最適なI/Oパスを実行
  • 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. リードレプリカ 可用性 • データベースノードの障害は自動的に 検知され、交換される • データベース処理の障害は自動的に検 知され、リソースはリサイクルされる • リードレプリカは必要に応じて自動的 にマスタに昇格する • どのリードレプリカに対して優先的に フェイルオーバーさせるかを指定でき る Primary Node Primary Nodeマスタ Primary Node Primary Node リード レプリカ Primary Node Primary Node リード レプリカ クラスタ/ インスタンス モニタリング パフォーマンス • リードレプリカによってアプリケーション の読み込みトラフィックをスケールアウト させることができる • 読み込みエンドポイントによってリードレ プリカを跨がって負荷が分散される
  • 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. クラウドネイティブストレージエンジンの概要 データは3つのアベイラビリティーゾーンに跨がった 6つのレプリカにコピーされる 継続的に堅牢な Amaon S3 へバックアップされる 継続的にノードやディスクが修復される 修復やホットスポットのリバランスのために 10GBのセグメントユニットで管理されている 読み書きにはレイテンシ耐性を持つクォーラムシステムを使 用している クォーラムのメンバーシップが変更されたとしても書き込み は阻害されない ストレージは使用に応じて自動的に64TBまで拡張される AZ 1 AZ 2 AZ 3 Amazon S3 Amazon Neptune ストレージ ノード ストレージ ノード ストレージ ノード ストレージ ノード ストレージ ノード ストレージ ノード ストレージ モニタリング
  • 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. クラウドネイティブストレージエンジンの耐障害性 ・どこに障害が発生すると仮定するか? セグメント障害(ディスク) ノード障害(マシン) AZ障害(ネットワークやデータセンター) ・想定される障害に対する最適化 6つ中4つの書き込みクォーラム 6つ中3つの読み込みクォーラム 修復時には各ノード同士で レプリケーションを実施 AZ 1 AZ 2 AZ 3 キャッシュ Amazon Neptune AZ 1 AZ 2 AZ 3 キャッシュ Amazon Neptune
  • 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. S3への継続的バックアップ • セグメント毎に定期的にS3へ並列でバックアップが取得されている • バックアップはパフォーマンスや可用性にインパクトを与えることなく絶えず行われている • リストア時には、セグメント毎に適切なスナップショットと必要なログレコードが抽出される • スナップショットへのログレコードの適用は並列に非同期的に実行される セグメントスナップショット ログレコード リカバリポイント セグメント 1 時間 セグメント 2 セグメント 3
  • 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Point-in-Time リストア オンラインでの point-in-time リストアにより、バックアップからリストアすること なく指定した時間にデータベースの状態を戻すことができる t0 t1 t2 t0 t1 t2 t3 t4 t3 t4 1. t1へ戻る 2. t3へ戻る 不可視 不可視
  • 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. リクエストのIAM認証 IAMによるリクエスト認証が可能 • AWS署名バージョン4を使用して都度リクエストに署名する必要がある • 署名のコーディングの必要がある • 署名や認証のオーバーヘッドに注意 https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/iam-auth.html Neptuneクラスタ IAMロール EC2インスタンス 署名されたリクエストAWS署名バージョン4
  • 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 暗号化 通信の暗号化 • 現状TLSは無効 • セキュリティグループによる アクセス制御 • IAMロール認証 格納されたデータの暗号化 • データベース作成時にのみ指定可 能(変更/解除不可) • クライアントからは透過的 • AES-256を使用した暗号化 • KMSを使用(既存キーも使用可能) https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/encrypt.html
  • 29. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. モニタリング CloudWatch Neptune用の複数のメトリクスを定義済み • 例: スケールアップが必要な状況かどうかCPU使用率を用いて判断する • 例: トラバーサルのエラーが発生していないかを確認する Audit Logの出力が可能 • 接続元IPアドレス、接続先IPアドレス、RAWメッセージがすべて保存される • インスタンスタイプに応じて複数のファイルに分割して出力され、100MB毎にローテー ションする • マネジメントコンソールから閲覧やダウンロードが可能 メトリクス(一部) 説明 CPUUtilization CPU 使用率。 GremlinErrors Gremlin がトラバーサルしたエラー数。 SparqlRequests SPARQL エンジンへのリクエスト数。 1530539742245, /10.0.2.59:47354, /10.0.2.112:8182, Websocket, "RequestMessage{, requestId=21ad8a13- 6489-4f9e-8067-71f7dbd6f8cd, op='eval', processor='', args={gremlin=g.V(), bindings={}, batchSize=64}}"
  • 30. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 2つのグラフモデルとフレームワーク Apache TinkerPop™ (OSS) Gremlin Traversal Language W3C標準 SPARQL Query Language RDFプロパティグラフ ※トランザクションもサポート(バルクロード時除く) https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-gremlin-differences.html
  • 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. プロパティグラフ Vertex、Edge、付随するプロパティから構成される一般的なグラフ構造 • Vertex はエンティティ/ドメインを表す • Edge はVertex間の直接の関係を表す • 各Edgeは関係の種類を示すラベルを持つ • VertexとEdgeはそれぞれユニークな識別子を持つ • VertexとEdgeはプロパティを持つことができる • プロパティはVertexとEdgeに関する型付きの非リレーショナルな情報を表現する • Tinkerpop 3では label というデフォルトのプロパティを必ず持つ必要がある • 型はブール、整数、浮動小数点、文字列、日付 FRIENDname: Bill name: Sarah UserUser Since 11/29/16
  • 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 再掲: ソーシャルグラフでの例 出身地 Hanako gremlin> g.V().has('name','Hanako').as('her').out('like') .in('comment').where(neq('her')).valueMap() ==>{name=[John], age=[45]} 「Hanakoがいいね!をした記事にコメントした他の人」 をリストアップするGremlinの実行例 ~id,~label,name:String,age:Int,created:Date p1,person,"Hanako",25, p2,person,"Taro",21, p3,person,"John",45, a1,article,,,"2018-07-03" e1,event,"Special Event",,"2018-06-18" c1,checkinplace,"Hokkaido",,, ~id,~from,~to,~label,created:Date,comment:String e1,p1,a1,like,"2018-07-03", e2,p1,e1,interest,"2018-06-29", e3,p1,c1,wanttolive,, e4,p2,p1,follow,, e5,p2,a1,make,"2018-07-03", e6,p2,e1,make,"2018-06-18", e7,p3,p2,friend,, e8,p2,p3,friend,, e9,p3,a1,comment,,"good article" e10,a1,c1,checkin,, e11,p3,c1,hometown,, Taro John ノード用CSV エッジ用CSV
  • 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. RDF (Resource Description Framework) • 外部と交換/外部に公開される厳密なセマンティックグラフを表現するのに適した構造 • トリプル(主語, 述語, 目的語) でデータを表現する • Internationalized Resource Identifiers (IRIs) で主語を一意に特定する • 目的語は IRI あるいはリテラルを使う • RDFにおけるリテラルはプロパティに似ており、XMLデータ型に対応する • 目的語が IRI の場合、グラフにおける Edge となる name: Bill User FRIEND #1 2#2 <http://www.socialnetwork.com/person#1> rdf:type contacts:User; contact:name: ”Bill” . Subject Predicate Object (literal) <http://www.socialnetwork.com/person#1>IRI <http://www.socialnetwork.com/person#1> contacts:friend <http://www.socialnetwork.com/person#2> . Subject Predicate Object (IRI)
  • 34. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 料金構成 要素 詳細 時間単位のオンデマンドインスタンス 料金 db.r4.large〜db.r4.8xlarge の 5タイプ データベースストレージおよびI/O 容量(GB) I/Oリクエスト数(100万リクエスト単位) バックアップストレージ 容量(GB) ※リージョンのNeptuneデータベーススト レージ合計を超えるまでは無料 データ転送 リージョン外への通信量(GB) ※1GBまでは無料 https://aws.amazon.com/jp/neptune/pricing/
  • 35. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 月額料金計算例 https://aws.amazon.com/jp/neptune/pricing/ 米国東部リージョンの場合 db.r4.large/容量50GB(バックアップ50GB) /平均77.2 iops (月間2億I/Oリクエスト)/リージョン外への通信量 10GB 要素 詳細 時間単位のオンデマンドインスタンス 料金 $250.56 ($0.348 * 24 * 30) データベースストレージおよびI/O 容量 $5 ($0.10 * 50) I/Oリクエスト $40 ($0.20 * 200) バックアップストレージ $0 ※データベースストレージ容量まで無料 データ転送 $0.81 ($0.09 * 9) ※1GBまでは無料 合計 $296.37
  • 36. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. リージョン • 米国東部 (バージニア北部) • 米国東部 (オハイオ) • 米国西部 (オレゴン) • 欧州 (アイルランド) 順次拡大予定
  • 37. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. このセミナーの内容 グラフデータベースについて Amazon Neptuneの特徴 Amazon Neptuneの使い方 構成 インターフェイス 可視化 学び方 まとめ
  • 38. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EC2からのアクセス NeptuneはVPC内に配置される • Public IPアドレスは付与できない  インターネットから直接アクセスは不可 なのでVPC内部のEC2などからアクセスする アクセス制御はセキュリティグループで実施  IPアドレス範囲またはセキュリティグ ループをソースとして、アクセスを許可する ポート(デフォルト8182番)を指定 セキュリティグループ セキュリティグループ EC2インスタンス Neptuneエンドポイント インターネット ゲートウェイ インターネット https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-launch-ec2-instance.html
  • 39. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lambdaからのアクセス VPC外からのLambdaからはアクセス不可  VPC内のLambdaから利用する セキュリティグルー プ セキュリティグループ Lambda Function Neptuneエンドポイント Lambda Function
  • 40. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. サブネットグループとエンドポイント サブネットグループ • インスタンスを起動するサブネットを定義 • リージョン内の少なくとも2つのAZにサブネットが必要 エンドポイント • クラスタエンドポイントは書き込み可能なマスタインスタンスに解決される • 読み込みエンドポイントはいずれかのリードレプリカに解決される Availability Zone a Availability Zone b Availability Zone c VPC Subnet a1 VPC Subnet b1 VPC Subnet c1 Read Replica 1 Read Replica 2 Master NeptuneSubnetGroup クラスタエンドポイント読み込みエンドポイント
  • 41. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. バルクロード用S3バケット バルクロード用のS3バケットの条件 • 同一リージョン • VPCエンドポイント • アクセス可能なIAMロールを Neptuneクラスタにアタッチ us-east-1 us-east-2 Neptuneクラスタ S3バケット VPCエンドポイント IAMロール S3バケット 参照可能 EC2インスタンス バルクロードAPI https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/bulk-load.html
  • 42. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Webアプリケーションにおけるスケール可能な構成例 Neptune Master インターネット Application Load Balancer S3バケット RDS Master APサーバー APサーバー Neptune Read Replica RDS Read Replica R AZ b AZ a 定期バルクロード
  • 43. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. このセミナーの内容 グラフデータベースについて Amazon Neptuneの特徴 Amazon Neptuneの使い方 構成 インターフェイス 可視化 学び方 まとめ
  • 44. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ドキュメントに記載されたインターフェイス一覧 Tinkerpop/Gremlin RDF/SPARQL バルクロード Neptuneの管理 コンソール Gremlin Console RDF4J Console RDF4J Workbench - AWS CLI Java Gremlin Driver RDF4J - AWS SDK for Java Python Gremlin-Python Driver - - boto3 .NET Gremlin.NET - - AWS SDK for .NET HTTP REST HTTP REST (Gremlin) HTTP REST (SPARQL) Neptune Loader API Health Status REST以外の HTTP Gremlin HTTP WebSocket API SPARQL HTTP - - 本セミナーでは赤字のインターフェイスについてご紹介します
  • 45. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. [Gremlin] Gremlin Console Groovyベースのコンソール 用途: Gremlinの学習/アプリケーション開発/アドホック分析/データベース運用 https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-gremlin-console.html http://tinkerpop.apache.org/docs/current/reference/#connecting-via-console https://github.com/tinkerpop/gremlin/wiki/Getting-Started $ cat conf/neptune-remote.yaml hosts: [<Neptune end point>] port: 8182 serializer: { className: (省略)} $ cat neptune.groovy :remote connect tinkerpop.server conf/neptune-remote.yaml :remote console $ cat bin/mygremlin.sh bin/gremlin.sh -i neptune.groovy $ bin/mygremlin.sh ¥,,,/ (o o) -----oOOo-(3)-oOOo----- plugin activated: tinkerpop.server plugin activated: tinkerpop.utilities plugin activated: tinkerpop.tinkergraph gremlin> g.V().limit(1) ==>v[Luke] gremlin> サーバー定義 Neptuneに接続する初期化スクリプト 初期化スクリプトを呼び出す起動シェル 起動シェルの実行 Neptuneへのクエリ
  • 46. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. [Gremlin] Gremlin Driver (Java) Javaベースのアプリケーションで使用可能なGremlinドライバ 用途: Javaアプリケーション <dependency> <groupId>org.apache.tinkerpop</groupId> <artifactId>gremlin-driver</artifactId> <version>3.3.3</version> </dependency> pom.xml Cluster.Builder builder = Cluster.build(); builder.addContactPoint("your-neptune-endpoint"); builder.port(8182); Cluster cluster = builder.create(); GraphTraversalSource g = EmptyGraph.instance() .traversal().withRemote( DriverRemoteConnection.using(cluster)); GraphTraversal t = g.V().limit(1).valueMap(); t.forEachRemaining(e -> System.out.println(e)); cluster.close(); ソースコード Neptuneへのクエリ https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-gremlin-java.html http://tinkerpop.apache.org/docs/current/reference/#connecting-via-java
  • 47. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. [Gremlin] Gremlin-Python Driver Pythonで使用可能なGremlin Driver Javaの Gremlin Driver を基にしており一部制限がある 用途: Gremlinの学習/Pythonアプリケーション $ pip install --user gremlinpython … Successfully installed gremlinpython-3.3.3 from __future__ import print_function from gremlin_python import statics from gremlin_python.structure.graph import Graph from gremlin_python.process.graph_traversal import __ from gremlin_python.process.strategies import * from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection graph = Graph() g = graph.traversal().withRemote(DriverRemoteConnection( 'ws://your-neptune-endpoint:8182/gremlin','g')) print(g.V().limit(1).toList()) Neptuneへのクエリ インストール ソースコード https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-gremlin-python.html http://tinkerpop.apache.org/docs/current/reference/#connecting-via-python
  • 48. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. [Gremlin] HTTP HTTP REST/WebSocketインタフェース ドライバが不要 用途: ドライバのない言語・環境からのアクセス/HTTPベースのGremlinアプリケーションや ツール/動作確認 ※変数のバインド(bindings)は使用不可 (NGの例: curl -X POST -d '{"gremlin":"g.V().limit(x)", "bindings":{"x":1}}' http://your-end-point:8182/gremlin $ curl -X POST -d '{"gremlin":"g.V().limit(1)"}' http://your-end-point:8182/gremlin {"requestId":"e2b22100-f81c-4f31-6862-6dc525b3a543", "status":{"message":"","code":200,"attributes":{"@type":"g:Map","@value":[]}}, "result":{"data":{"@type":"g:List","@value":[{"@type":"g:Vertex", "@value":{"id":"Luke","label":"person","properties": {"GamerAlias":[{"@type":"g:VertexProperty","@value": {"id":{"@type":"g:Int32","@value":-1735852585},"value":"skywalker123", "label":"GamerAlias"}}]}}}]},"meta":{"@type":"g:Map","@value":[]}}} Neptuneへのクエリ https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-gremlin-rest.html https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/gremlin-api-reference.html http://tinkerpop.apache.org/docs/current/reference/#_connecting_via_http HTTP RESTの例
  • 49. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. [SPARQL] RDF4J Console インタラクティブにSPARQLを発行可能なRDF4Jのコンソール (RDF4J WorkbenchというGUIツールもあります) 用途: SPARQLの学習/アプリケーション開発/アドホック分析 $ bin/console.sh ... > create sparql Please specify values for the following variables: SPARQL query endpoint: http://your-end-point:8182/sparql Local repository ID [endpoint@localhost]: neptune ... > open neptune neptune> sparql select ?s ?p ?o where {?s ?p ?o} limit 1 Evaluating SPARQL query... +------------------------+------------------------+------------------------+ | s | p | o | +------------------------+------------------------+------------------------+ | <http://aws.amazon.com/neptune/John_Smith>| <http://www.nist.gov/units/weight>| _:b33558799 | +------------------------+------------------------+------------------------+ 1 result(s) (46 ms) neptune> エンドポイント定義 リポジトリ名 Neptuneへのクエリ https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-sparql-rdf4j-console.html http://docs.rdf4j.org/server-workbench-console/#_rdf4j_console
  • 50. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. [SPARQL] RDF4J Runtime (Java) <dependency> <groupId>org.eclipse.rdf4j</groupId> <artifactId>rdf4j-runtime</artifactId> <version>2.2</version> </dependency> pom.xml Javaベースのアプリケーションで使用可能なRDF4Jのランタイムライブラリ 用途: Javaアプリケーション Repository repo = new SPARQLRepository( "http://your-neptune-endpoint:8182/sparql"); repo.initialize(); try (RepositoryConnection conn = repo.getConnection()) { TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, "SELECT ?s ?p ?o WHERE { ?s ?p ?o } limit 10"); try (TupleQueryResult result = tupleQuery.evaluate()) { while (result.hasNext()) { BindingSet bindingSet = result.next(); Value s = bindingSet.getValue("s"); Value p = bindingSet.getValue("p"); Value o = bindingSet.getValue("o"); System.out.print(s + "¥t” + p + "¥t” + o); } } } ソースコード Neptuneへのクエリ https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-sparql-java.html http://docs.rdf4j.org/programming/
  • 51. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. [SPARQL] HTTP HTTP REST または SPARQL HTTPインタフェース ドライバが不要 用途: ドライバのない言語・環境からのアクセス/SPARQL Protocolを用いるアプリケーショ ンやツール/動作確認 $ curl -X POST --data-binary 'query=select ?s ?p ?o where {?s ?p ?o} limit 1' ¥ http://your-end-point:8182/sparql { "head" : {"vars" : [ "s", "p", "o" ]}, "results" : { "bindings" : [ { "s" : {"type" : "uri", "value" : "http://aws.amazon.com/neptune/John_Smith"}, "p" : {"type" : "uri", "value" : "http://www.nist.gov/units/weight"}, "o" : {"type" : "bnode","value" : "b33558799"} } ] } } Neptuneへのクエリ HTTP RESTの例 https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-sparql-http-rest.html https://www.w3.org/TR/sparql11-protocol/
  • 52. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. バルクロード S3バケットからNeptuneインスタンスにバルクロードする HTTP REST API を用意 • バケットはNeptuneインスタンスと同一リージョンにある必要がある • フォーマットによってGremlinかSPARQLかを判断 (CSV形式の場合はGremlin) • 非同期ジョブとして実行され、キャンセルやキャンセル後の再開が可能 • NeptuneクラスタにアタッチしたIAMロールによってS3に対する認証を実施 (accessKey/secretKeyによる認証は廃止されます) curl -X POST ¥ -H 'Content-Type: application/json' ¥ http://<your-end-point>:8182/loader -d ' { "source" : "s3://<bucket-and-key>/", "iamRoleArn" : "<iam-role-arn>", "format" : "csv", "region" : "us-east-1", "failOnError" : "FALSE" }' ロードコマンド例 https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/bulk-load.html
  • 53. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ヘルスステータス データベースステータスを簡単に確認できるURLを用意 • アプリケーションから接続可能かどうかのチェック • セキュリティグループの設定が正しいかのチェック URL: http(s)://your-neptune-endpoint:8182/status 正常時応答: {"status": "healthy”} 異常時応答: ステータス500, タイムアウトなど $ curl -G http://your-neptune-endpoint:8182/status {"status":"healthy"} コマンド例 https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-status.html
  • 54. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Neptuneの管理 - AWS CLI/SDK インスタンスの作成/参照/削除やフェイルオーバーなど、 Neptune管理のためのCLI/SDKが用意されています。 ※VPC外からの実行も可能です $ aws neptune failover-db-cluster --db-cluster-identifier rdfcluster --region us-east-1 { "DBCluster": { "MasterUsername": "admin", "ReaderEndpoint": ”your-end-point", "ReadReplicaIdentifiers": [], ...(省略) } CLIによるリードレプリカへのフェイルオーバーの例 https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/load-api-reference-load.html
  • 55. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. このセミナーの内容 グラフデータベースについて Amazon Neptuneの特徴 Amazon Neptuneの使い方 構成 インターフェイス 可視化 学び方 まとめ
  • 56. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 何のための可視化か? 全体を見るための 可視化 一部を見るための 可視化 大規模グラフのOLTP用途では こちらが中心となる 視覚的に全体的な構造を把握 クラスタリングの仮説を立てる ドリルダウン 視覚的にターゲット周辺の構造を把握 トラバーサルの仮説を立てる 実トランザクションの大規模グラフ ではすべてのデータを描画しても 情報過多となる
  • 57. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. オープンなインターフェイスの活用 GremlinまたはRDF/SPARQLに対応した可視化ツールを使用 ※ Neptune自体は可視化機能を提供しない 可視化ツールの例 カテゴリ インターフェイス Grashexp オープンソース Gremlin Tom Sawyer Software 商用 Gremlin RDF/SPARQL Metaphactory 商用 Gremlin RDF/SPARQL Cambridge Intelligence / Keylines 商用 RDF/SPARQL ※可視化ツールはあくまで補助的なものであり、ユースケースに合わせた設計と処理が最も大切
  • 58. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Graphexp JavaScriptベースの可視化ツール GitHubリポジトリ以下のファイル一式をWebサーバに配置するだけのシンプルさ 以下設定でNeptuneに対応 Webブラウザから直接Neptuneエンドポイントに アクセスできる必要がある const SINGLE_COMMANDS_AND_NO_VARS = true; graphConf.js Neptuneエンドポイント インターネット WorkSpaces Webサーバ WorkSpacesとWebサーバでの構成例 https://github.com/bricaud/graphexp
  • 59. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Tom Sawyer 多機能で歴史の長い 商用データ可視化ツール • GremlinとSPARQLの両方に対応 re:Invent 2017において Neptuneのサポートとパートナーシップを発表 https://www.tomsawyer.com/aws-amazon-neptune-partner/ • 今後 The Tom Sawyer Perspectives Graph Database Browser を AWS MarketPlace 上で公開予定
  • 60. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cambridge Intelligence / Keylines グラフ可視化アプリケーションを作成 するための高機能な商用ライブラリ • GremlinとSPARQLの両方に対応 • JavaScriptベース Cambridge Intelligence社による Amazon Neptune 対応に関するブログ https://cambridge-intelligence.com/visualizing-the-amazon-neptune-database-with-keylines/
  • 61. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Metaphactory エンタープライズ向け ナレッジグラフプラットフォーム • RDF/SPARQLベース • グラフデータベースとして Amazon Neptuneをサポート http://www.metaphacts.com/amazon-neptune Metaphactory + Amazon Neptune のユースケースセッション AWS re:Invent 2017: NEW LAUNCH! Amazon Neptune Overview and Customer Use Cases (DAT319) https://www.youtube.com/watch?v=9pmQXua9LWA ※Metaphactoryについては38:50あたりから紹介
  • 62. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. このセミナーの内容 グラフデータベースについて Amazon Neptuneの特徴 Amazon Neptuneの使い方 構成 インターフェイス 可視化 学び方 まとめ
  • 63. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. サンプルデータ AWSによるサンプルデータ [Gremlin] 協調フィルタリングの例 https://github.com/aws-samples/amazon-neptune- samples/tree/master/gremlin/collaborative-filtering  Neptune バルクロードして使用 [RDF/SPARQL] Coming Soon オープンなサンプルデータの例 [Gremlin] GitHub: apache / tinkerpop / data https://github.com/apache/tinkerpop/tree/master/data  次ページのNeptune ToolsでCSVに変換後 バルクロード [RDF/SPARQL] RDF Examples by W3C https://www.w3.org/2000/10/rdf-tests/  Neptune でそのままバルクロード可能
  • 64. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. [Gremlin] Neptune Tools GraphML ファイルをNeptuneでのバルクロードが可能な CSV ファイルに変換するツール https://github.com/awslabs/amazon-neptune-tools/tree/master/graphml2csv # TinkerpopのModernデータのうちGraphML形式の tinkerpop-modern.xml をダウンロード $ curl https://raw.githubusercontent.com/apache/tinkerpop/master/data/tinkerpop- modern.xml -o tinkerpop-modern.xml # Pythonスクリプトを実行してノードとエッジの2つのCSVファイルに変換 $ ./graphml2csv.py -i tinkerpop-modern.xml infile = tinkerpop-modern.xml Processing tinkerpop-modern.xml Wrote 6 nodes and 18 attributes to tinkerpop-modern-nodes.csv. Wrote 6 edges and 12 attributes to tinkerpop-modern-edges.csv. # あとは変換されたCSVファイルをS3バケットに配置してNeptuneにバルクロードすればOK TinkerpopのModernデータを変換する例
  • 65. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. [Gremlin] 学習パスの例 1. Gremlin Console(とGraphexp)を用いてクエリを実行しながら学習 • AWS SamplesのTutorialに沿ってクエリを実行してみる https://github.com/aws-samples/amazon-neptune-samples/tree/master/gremlin/collaborative-filtering • TinkerpopのTutorialで学習する http://tinkerpop.apache.org/docs/3.3.3/tutorials/gremlins-anatomy/ http://tinkerpop.apache.org/docs/3.3.3/tutorials/the-gremlin-console/ ※データは前ページで紹介したModernデータを用いる ※Neptuneにおける実装での相違点に留意しながら実行する https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/access-graph-gremlin-differences.html 2. Graphexpで構造を確認しながらオリジナルのグラフとクエリを作成
  • 66. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. [RDF/SPARQL] 学習パスの例 1. 公開されたグローバルなナレッジベースを用いてSPARQLを学習 • 例: DBPedia http://ja.dbpedia.org/sparql SPARQLチュートリアル@第36回SWO研究会-DBpediaシンポジウム https://docs.google.com/spreadsheets/d/1zlrplSjBXviaJaEHWBrKqiSYXS1K9ojDKDqOGl5BGOI/edit#gid=0 既存のクエリを少しずつ改変しながら学ぶなどが有効。 2. 独自のデータを Neptune に作成しオリジナルのクエリを作成
  • 67. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. このセミナーの内容 グラフデータベースについて Amazon Neptuneの特徴 Amazon Neptuneの使い方 構成 インターフェイス 可視化 学び方 まとめ
  • 68. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 従来のグラフデータベースの課題 高可用性を維持する のが難しい スケールが難しい オープンスタンダード に対して限定的な サポートしかない 高価
  • 69. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Neptune の特徴 高速 高信頼性 オープン 億レベルの リレーションシップを ミリ秒のレイテンシで 問合せ可能 3つのAZに跨がる 6つのレプリカを フルバックアップ/ リストアと共に提供 GremlinとSPARQLに よる簡単でパワフル なクエリを実行 Apache TinkerPop & W3C RDF グラフ モデルをサポート 簡単
  • 70. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Neptune ハイレベルアーキテクチャ S3からの バルクロード データベース
  • 71. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Neptuneの使い方 – 様々なインターフェイス Tinkerpop/Gremlin RDF/SPARQL バルクロード Neptuneの管理 コンソール Gremlin Console RDF4J Console RDF4J Workbench - AWS CLI Java Gremlin Driver RDF4J - AWS SDK for Java Python Gremlin-Python Driver - - boto3 .NET Gremlin.NET - - AWS SDK for .NET HTTP REST HTTP REST (Gremlin) HTTP REST (SPARQL) Neptune Loader API Health Status REST以外の HTTP Gremlin HTTP WebSocket API SPARQL HTTP - -
  • 72. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. さいごに Amazon Neptune についてもっと知りたい方はこちら • 公式ページ https://aws.amazon.com/jp/neptune/ • ドキュメントやチュートリアルなどのリソース https://aws.amazon.com/jp/neptune/developer-resources/ • Amazon Neptune Forum https://forums.aws.amazon.com/forum.jspa?forumID=253 Amazon Neptune で スケーラブルで堅牢なグラフデータベースを 実現しましょう!
  • 73. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS オンラインセミナースケジュール AWS オンラインセミナースケジュールは以下より確認できます https://amzn.to/JPWebinar
  • 74. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. オンラインセミナー資料の配置場所 AWS クラウドサービス活用資料集 • https://aws.amazon.com/jp/aws-jp-introduction/ Amazon Web Services ブログ • 最新の情報、セミナー中のQ&A等が掲載されています。 • https://aws.amazon.com/jp/blogs/news/
  • 75. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 公式Twitter/Facebook AWSの最新情報をお届けします @awscloud_jp 検索 最新技術情報、イベント情報、お役立ち情報、 お得なキャンペーン情報などを日々更新しています! もしくは http://on.fb.me/1vR8yWm
  • 76. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWSの導入、お問い合わせのご相談 AWSクラウド導入に関するご質問、お見積、資料請求をご希望のお客様は以 下のリンクよりお気軽にご相談下さい。 https://aws.amazon.com/jp/contact-us/aws-sales/ ※「AWS 問い合わせ」で検索して下さい。
  • 77. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Well Architected 個別技術相談会お知らせ • Well Architectedフレームワークに基づく数十個の質問項目を元に、お客様 がAWS上で構築するシステムに潜むリスクやその回避方法をお伝えする個別 相談会です。 https://pages.awscloud.com/well-architected-consulting-2017Q4- jp.html • 参加無料 • 毎週火曜・木曜開催