Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon Neptuneに入門してみる
Search
Yu Watanabe
March 17, 2018
Programming
0
13k
Amazon Neptuneに入門してみる
NDS 長岡 IT開発者 勉強会 第55回勉強会(2018/03/17)
Yu Watanabe
March 17, 2018
Tweet
Share
More Decks by Yu Watanabe
See All by Yu Watanabe
今日から使えるCSSパターン
yuw27b
1
3k
Other Decks in Programming
See All in Programming
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
520
シールドクラスをはじめよう / Getting Started with Sealed Classes
mackey0225
4
640
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
ヤプリ新卒SREの オンボーディング
masaki12
0
130
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
1.8k
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
140
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
100
as(型アサーション)を書く前にできること
marokanatani
8
2.6k
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
Less waste, more joy, and a lot more green: How Quarkus makes Java better
hollycummins
0
100
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
24k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1366
200k
Building Adaptive Systems
keathley
38
2.3k
Being A Developer After 40
akosma
86
590k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Done Done
chrislema
181
16k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Transcript
"NB[PO/FQUVOFʹೖͯ͠ΈΔ :V8BUBOBCF !ZVXC /%4Ԭ*5։ൃऀษڧձ ୈճษڧձ
ࣗݾհ ඇৗۈΤϯδχΞʴϑϦʔϥϯε ˙ 41"ʴ"1*ʴ%#ͳ8FCαʔϏεͷ੍࡞!ΞΧσϛΞ ϑϩϯτΤϯυɿ+BWB4DSJQU3FBDU όοΫΤϯυɿ/PEFKT 3VCZ1)1 σʔλϕʔεؔɿ.Z42-/FPK3%' ͦͷଞɿαʔόͷઃఆͱ͔ػցֶशͷ͓ख͍ͱ͔ ɾɾɾͳΜͰ͞ΜͰ͢ɻ
ຊͷςʔϚ "NB[PO/FQUVOF "GVMMZNBOBHFEHSBQIEBUBCBTF "84ʹؒೖΓͨ͠άϥϑσʔλϕʔεͰ͢ɻ ݱࡏϓϨϏϡʔ൛͕͑·͢ɻ
άϥϑɾɾɾʁ γϦʔζɾ य़ͷάϥϑσʔλಛू
άϥϑߏσʔλ ˙ σʔλߏͷछྨ • ྻ <ελοΫΩϡʔ> • ࿈ྻ <ϋογϡςʔϒϧϧοΫΞοϓςʔϒϧ> •
ઢܗϦετ • ߏ • άϥϑ ˙ ۙʹ͋Δάϥϑߏ • మಓ࿏ઢ • ίϯϐϡʔλωοτϫʔΫ • Ոܥਤʢߏʣ • 4/4ͷGPMMPXGPMMPXJOHͷؔ Կ͔ͷωοτϫʔΫ ·ͨ Կ͔ͷ૬ؔؔ
άϥϑཧͷ༻ޠΛ͢͜͠ • ϊʔυʢʣͱΤοδʢลʣ • ༗άϥϑͱແάϥϑ • ΤοδʹॏΈ͚͕Ͱ͖Δ • ୯७άϥϑͱଟॏάϥϑ
"NB[PO/FQUVOF ݄ʹൃද͞Εͨ"NB[PO71$ͰՔಇ͢Δάϥϑσʔλ ϕʔεɻݱࡏݶఆϓϨϏϡʔ൛͕ެ։͞Ε͍ͯΔɻ
͓ஈ IUUQTBXTBNB[PODPNKQOFQUVOFQSJDJOH 42-4FSWFSͷ΄͏ͱಉ͘͡Β͍ͷՁ֨ઃఆ ˞ϓϨϏϡʔظؒதແྉͰ͢
ʢͪΐͬͱدΓಓʣطଘͷάϥϑσʔλϕʔε ˙ ϓϩύςΟάϥϑϞσϧɾɾɾͦΕͧΕಠࣗͷΫΤϦจ๏Λ࣋ͭ • /FPK IUUQTOFPKDPN FUDʜ ˙ 3%'Ϟσϧɾɾɾ8$ඪ४ͷ3%'Ϟσϧͱ41"32-ΫΤϦΛ͏ •
7JSUVPTP IUUQTWJSUVPTPPQFOMJOLTXDPN • 'VTFLJ IUUQTKFOBBQBDIFPSHEPDVNFOUBUJPOTFSWJOH@EBUB https://neo4j.com/developer/guide-data-modeling/ Apache TinkerPop / Gremlin
"NB[PO/FQUVOFͷಛ ˙ ϓϩύςΟάϥϑɾ3%'ͷ྆ํ͕͑Δ άϥϑͷදݱͱ͍߹ΘͤͷͨΊʹɺͭͷΦʔϓϯͳۀքඪ४Λαϙʔτ͠·͢ɻ (SFNMJOʹΑͬͯ߹ͤՄೳͳ"QBDIF5JOLFS1PQޓͷϓϩύςΟάϥϑɻ (SFNMJOϊʔυ ʹͭͳ͕ΔΤοδ ล ΛݸผʹͨͲΔ୳ࡧΛ࣮ݱ͢Δάϥ
ϑ୳ࡧݴޠͰ͢ɻ41"32-ʹΑͬͯ߹ͤՄೳͳ 3%' 3FTPVSDF%FTDSJQUJPO 'SBNFXPSL ɻ ˙ ఆ͍ͯ͠Δ༻్ 4/4ɺϨίϝϯσʔγϣϯΤϯδϯɺܦ࿏Ҋɺྲྀ࠷దԽɺࣗಈஅɺ৵ೖݕ ήϊϜྻܾఆͳͲͷΞϓϦέʔγϣϯ͕ྫʹڍ͛ΒΕ·͢ɻ https://aws.amazon.com/jp/blogs/news/amazon-neptune-a-fully-managed-graph-database-service/
ͬͦͬͯ͘͞ΈΔ ͜͜ʹ͋Γ·ͤΜ खಈͰΞΫηεʂ IUUQTBXTBNB[PODPNKQOFQUVOF ʮϓϨϏϡʔʹαΠϯΞοϓʯ͔Βਃ͠ࠐΈ·͢ɻ ͘Β͍Ͱϝʔϧ͕ಧ͖·ͨ͠ɻ
ڥߏங ϢʔβʔΨΠυʢӳޠʣ IUUQTEPDTBXTBNB[PODPNKB@KQOFQUVOFMBUFTUVTFSHVJEFJOUSPIUNM IUUQTEPDTBXTBNB[PODPNKB@KQOFQUVOFMBUFTUVTFSHVJ EFHFUTUBSUFEQSFSFRVJTJUFTIUNM • &$Πϯελϯε͔Β/FQUVOFͷ%#ΫϥελʔʹΞΫηε • σʔλΛϑΝΠϧ͔Βϩʔυ͢ΔͳΒ4ඞཁ •
ͦΕͧΕʹඞཁͳΞΫηεݖݶΛ༩ ˞&$4ແྉͰͳ͍Ͱ͢
ڥߏஙμΠδΣετ ͱʹ͔͘શ෦ʮόʔδχΞ෦ VTFBTU ʯʹ࡞͍ͬͯͩ͘ʂ ͦ͜ʹ͔͠/FQUVOF͋Γ·ͤΜʂʂ 71$ͱ &$Πϯελϯεͷ࡞ *".ͰϢʔβʔ࡞Δ
ڥߏஙμΠδΣετ /FQUVOFͷΠϯελϯε /FQUVOFͷίϯιʔϧͰ࡞Δ
ڥߏஙμΠδΣετ
ڥߏஙμΠδΣετ /FQUVOFͷ%#Ϋϥελʔ͕Ͱ͖ͨΑʔ ϓϩϏδϣχϯάʹʙ͘Β͍͔͔Γ·ͨ͠ɻ
)FMMP/FQUVOF &$Πϯελϯεʹ44)ͰϩάΠϯɺ /FQUVOFͷΤϯυϙΠϯτʹΫΤϦΛ1045ͯ͠ΈΔɻ ۭͬΆͳͷͰɺۭͷྻ͕ฦ͖ͬͯ·ͨ͠ɻ͜ΕͰ0,ʂ
σʔλͷϩʔυ • 4ʹόέοτΛ༻ҙʢόʔδχΞ෦ʂʣ • /FQUVOF͔ΒಡΈࠐΊΔΑ͏ʹݖݶ༩ • ϑΝΠϧΛ4ʹΞοϓϩʔυ
ࣗͷσʔλͰͬͯΈͨ 3%'Ϟσϧ Q13952 P23511 Activation 2,721 nodes 43,228 edges
• ߦͷ3%'ϑΝΠϧ .# Λ4ʹΞοϓϩʔυ • &$ίϯιʔϧ͔Βɺ4্ͷσʔλΛ/FQUVOFʹϩʔυͤ͞Δ • ඵҎԼͰ/FQUVOFʹΠϯαʔτྃ
ࣗͷσʔλͰͬͯΈͨ 41"32-ΫΤϦ curl -X POST --data-binary 'query=PREFIX uniprot: <http://www.uniprot.org/uniprot/>
SELECT (COUNT(DISTINCT ?prot2) as ?count) WHERE {uniprot:P00533 uniprot:activate ?prot1. ?prot1 uniprot:activate ?prot2 .}' http://neptuneinstance-cluster.cluster-cumqwp3crwyp.us-east-1- beta.rds.amazonaws.com:8182/sparql ˙ ͋Δϊʔυ *%1 ͷ࣍ͷ࣍ͷϊʔυΛશͯऔಘʢͯ͠Χϯτʣ ΤϯυϙΠϯτʹ41"32-ΫΤϦΛ͛Δ ϊʔυ͕ඵҎԼͰฦ͖ͬͯͨɻ
·ͱΊ • άϥϑߏσʔλάϥϑσʔλϕʔεʹೖΕͯΈΔ • طଘͷπʔϧಋೖͷϋʔυϧ͕ߴ͍PS҆ఆ͠ͳ͍ɻʢݸਓͷҙݟͰ͢ʣ • ͦ͜Ͱ"NB[PO/FQUVOF !όʔδχΞ෦ • ϑϧϚωʔδυ
• εέʔϧͰ͖ΔʢεϞʔϧελʔτՄೳʣ • ϓϩύςΟάϥϑͱ3%'ͷ྆Ϟσϧ͕͑Δ • े࣮༻ϨϕϧʂʢݸਓͷҙݟͰ͢ʣ