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
3.1k
Other Decks in Programming
See All in Programming
CSC305 Lecture 03
javiergs
PRO
0
240
Six and a half ridiculous things to do with Quarkus
hollycummins
0
170
Advance Your Career with Open Source
ivargrimstad
0
480
CSC509 Lecture 03
javiergs
PRO
0
330
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
1k
チームの境界をブチ抜いていけ
tokai235
0
160
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
180
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
130
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
810
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
300
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
150
ALL CODE BASE ARE BELONG TO STUDY
uzulla
1
150
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Rails Girls Zürich Keynote
gr2m
95
14k
The World Runs on Bad Software
bkeepers
PRO
72
11k
GitHub's CSS Performance
jonrohan
1032
470k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Site-Speed That Sticks
csswizardry
11
900
Designing for Performance
lara
610
69k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Raft: Consensus for Rubyists
vanstee
139
7.1k
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%'ͷ྆Ϟσϧ͕͑Δ • े࣮༻ϨϕϧʂʢݸਓͷҙݟͰ͢ʣ