Slide 1

Slide 1 text

Neo4j Ͱ έϏϯɾϕʔ ίϯ਺ʹ৮ΕͯΈΔ 2016.8.17 (Wed)

Slide 2

Slide 2 text

• ໊લ: Տٱอ ൟ࢙ (kawakubox) • ւ֎ࣄۀ෦ Eng • ! ϑϧϚϥιϯ׬૸໨ࢦͯ͠ ΦϑΟε to ࣗ୐ ͷ Extreme ୀ ࣾͳΜ͔ͰτϨʔχϯάதɻ

Slide 3

Slide 3 text

ಥવͰ͕͢ɺέϏϯɾϕ ʔίϯͬͯ஌ͬͯ·͢ ͔ʁ

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

ΞϝϦΧ߹ऺࠃͷആ༏ ओͳग़ԋ࡞඼ • ʰτϨϚʔζʱ • ʰΞϙϩ13ʱ • ʰX-MEN: ϑΝʔετɾδΣωϨʔγϣϯʱ etc etc ...

Slide 6

Slide 6 text

Ͱ͸ɺέϏϯɾϕʔίϯ ਺ͬͯ஌ͬͯ·͔͢ʁ

Slide 7

Slide 7 text

έϏϯɾϕʔίϯ਺ͱ͸ өըആ༏ͷڞԋؔ܎ͷʮڑ཭ʯΛέϰΟϯɾϕʔίϯΛى఺ʹ ܭଌ͞ΕΔ਺ ϕʔίϯຊਓ͕ʮϋϦ΢ουͷશһ͕ࣗ෼ͷڞԋऀ͔ɺڞԋऀ ͷڞԋऀͩʯͱ͍͏झࢫͷൃݴͨ͜͠ͱ͕͖͔͚ͬ — wikipedia

Slide 8

Slide 8 text

έϏϯɾϕʔίϯ਺ͷਤ Ͱඳ͘ͱ

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

࿡࣍ͷִͨΓ ࿡࣍ͷִͨΓʢΖ͘͡ͷ΁ͩͨΓɺSix Degrees of Separationʣ ͱ͸ɺશͯͷਓ΍෺ࣄ͸6εςοϓҎ಺Ͱܨ͕͍ͬͯͯɺ༑ୡͷ ༑ୡ…Λհͯ͠ੈքதͷਓʑͱؒ઀తͳ஌Γ߹͍ʹͳΔ͜ͱ͕ Ͱ͖Δɺͱ͍͏Ծઆɻ — wikipedia • SNSͳͲͷԼ஍ʹͳ͍ͬͯΔԾઆ

Slide 11

Slide 11 text

·͞ʹάϥϑDBʹͱͬͯ࠷దͷ࿩ͳͷͰɺNeo4jͷੑೳݕূ΋ ݉Ͷͯେ͖ΊͳσʔλΛ౤ೖͯ͠ΈΑ͏

Slide 12

Slide 12 text

σʔλϞσϧ

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

Node : Person • ϓϩύςΟ • person_id • name

Slide 15

Slide 15 text

Relation : KNOWS • ϓϩύςΟͳ͠

Slide 16

Slide 16 text

લఏ • 1ਓ͸࠷௿100ਓͱ஌Γ߹͍Ͱ͋Δ

Slide 17

Slide 17 text

1,000,000ਓͷੈք σʔλ౤ೖ࣌ؒ(csv import) IMPORT DONE in 7m 6s 292ms. Imported: 1000000 nodes 200000000 relationships 2000000 properties

Slide 18

Slide 18 text

1,000,000ਓͷੈք ϗοϓ਺ͷ෼෍ # ࢼߦճ਺ : 1,065ճ {0=>0, 1=>0, 2=>43, 3=>1021, 4=>1, 5=>0}

Slide 19

Slide 19 text

10,000,000ਓͷੈք IMPORT DONE in 3h 5m 4s 706ms. Imported: 10000000 nodes 2000000000 relationships 20000000 properties

Slide 20

Slide 20 text

10,000,000ਓͷੈք ϗοϓ਺ͷ෼෍ # ࢼߦճ਺ : 1,065ճ {0=>0, 1=>0, 2=>4, 3=>592, 4=>469, 5=>0}

Slide 21

Slide 21 text

֬ೝ༻ͷCYPHERΫΤϦ MATCH (a:Person {person_id: {i}}), (b:Person {person_id: {j}}), p = shortestPath((a)-[*..6]->(b)) RETURN length(p) as len

Slide 22

Slide 22 text

CYPHERΫΤϦͷ຋༁ MATCH // person_id = i Λ࣋ͭϊʔυΛऔಘ͠ɺ a ͱ͢Δ (a:Person {person_id: {i}}), // person_id = j Λ࣋ͭϊʔυΛऔಘ͠ɺ b ͱ͢Δ (b:Person {person_id: {j}}), // a ͱ b ͷϗοϓ਺͕ 6 Ҏ಺ͷ΋ͷͰɺ࠷୹ܦ࿏Λऔಘ͢Δ p = shortestPath((a)-[*..6]->(b)) RETURN // ࠷୹ܦ࿏ͷ௕͞(len)Λฦ٫͢Δ length(p) as len

Slide 23

Slide 23 text

126,000,000ਓͷੈքʢ೔ຊʣ -rw-r--r-- 1 kawakubox staff 21M 8 16 22:09 person_1000000.csv -rw-r--r-- 1 kawakubox staff 221M 8 17 01:31 person_10000000.csv -rw-r--r-- 1 kawakubox staff 2.6G 8 16 22:12 relation_1000000.csv -rw-r--r-- 1 kawakubox staff 2.9G 8 17 01:34 person_japan.csv -rw-r--r-- 1 kawakubox staff 29G 8 17 03:53 relation_10000000.csv ϦϨʔγϣϯ౤ೖ༻σʔλ͕ 10,000,000 ͷ࣌఺Ͱ 30G ͋ͬͨ ͷͰɺσʔλ࡞੒࣌఺Ͱஅ೦ɺɺɺ

Slide 24

Slide 24 text

ࠓճ΍ͬͯΈͯͷؾ෇͖ • ϊʔυ͕ 10,000,000 Ͱ΋ɺద੾ʹ index షΕ͹ɺprimary ݕ ࡧࣗମ͸ 0ms ͘Β͍Ͱฦͬͯ͘Δ • ϦϨʔγϣϯ͕ 2,000,000,000 ͘Β͍ʹͳΔͱɺ஗͘ͳͬͯ ͘Δ (5sec ͘Β͍) • ΍͹͍ΫΤϦ͸ɺCPUར༻཰ 300% ௒͑ͱ͔ฏؾͰ͢Δ • Enterprise൛࢖ͬͯͷΫϥελϦϯάͳΜ͔͸ࢼͯ͠Έͨ ͍

Slide 25

Slide 25 text

END