Slide 1

Slide 1 text

Basho Technologies 2013-06-22 ΦʔϓϯιʔεΧϯϑΝϨϯε 2013 @ ໊ݹ԰

Slide 2

Slide 2 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. & ෼ࢄ KVS Ϋϥ΢υ ετϨʔδ Basho δϟύϯגࣜձࣾ Senior Software Engineer ࣰݪढ़Ұ 

Slide 3

Slide 3 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. •  Ϋϥ΢υετϨʔδ Riak CS •  ෼ࢄΩʔόϦϡʔετΞ Riak •  ॲཧܥ Erlang/OTP •  OS Linux/Solaris/*BSD Riak & Riak CS : ελοΫ  

Slide 4

Slide 4 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. •  Ϋϥ΢υετϨʔδ Riak CS •  ෼ࢄΩʔόϦϡʔετΞ Riak •  ॲཧܥ Erlang/OTP •  OS Linux/Solaris/*BSD Φʔϓϯιʔε!   Erlang Public License (Mozilla Public License ೿ੜ)

Slide 5

Slide 5 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. •  Ϋϥ΢υετϨʔδ Riak CS •  ෼ࢄΩʔόϦϡʔετΞ Riak •  ॲཧܥ Erlang/OTP •  OS Linux/Solaris/*BSD Φʔϓϯιʔε!   Erlang Public License (Mozilla Public License ೿ੜ) Apache License 2.0 code, wiki, issues on github.com

Slide 6

Slide 6 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.

Slide 7

Slide 7 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. Riak ͸෼ࢄKVS

Slide 8

Slide 8 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. CAPఆཧ

Slide 9

Slide 9 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. ʮͲΜͳނোͰ΋ σʔλ͸ৗʹ੔߹͍ͯ͠·͢͠ γεςϜ͕ ࢭ·Δ͜ͱ͸͋Γ·ͤΜʯ ͱ͍͏γεςϜ͸ଘࡏ͠·ͤΜ = CAPఆཧ

Slide 10

Slide 10 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. • ӡ༻ͷ༰қ͞ • ߴՄ༻ੑ • ਫฏ֦ுੑ ઃܭϙϦγʔ

Slide 11

Slide 11 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. Ωʔίϯηϓτ1 ϊʔυ͸͢΂ͯର౳ɺಉ౳ •  ෳ਺ϊʔυͰΫϥελΛߏ੒   •  ͢΂ͷϊʔυ͸ର౳Ͱɺ   Ϛελʔ΍୯Ұো֐఺͸ͳ͍   •  ͢΂ͯͷϊʔυ͸ಉ౳Ͱɺ   ϦεΤετΛࡹ͖ɺσʔλΛ อ࣋͢Δ   node   node   node   node   node  

Slide 12

Slide 12 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. Ωʔίϯηϓτ2 Ωʔ/ όϦϡʔ/ όέοτ •  ΩʔɺόϦϡʔͷϖΞΛόέ οτ΁อଘ͢Δ •  όϦϡʔ͸ͲͷΑ͏ͳόΠφ ϦͰ΋Α͍   KEY KEY KEY bucket   VALUE VALUE VALUE

Slide 13

Slide 13 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. σʔλͷෳ੡  •  160-­‐bit  ੔਺ͷΩʔྖҬ  =  Ring   •  RingΛ౳ִؒͰύʔςΟγϣϯʹ෼ׂ   •  ύʔςγϣϯΛΫϥελͷ֤ϊʔυʹ ׂΓ౰ͯΔ   node  0   node  1   node  2   node  3  

Slide 14

Slide 14 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. σʔλͷෳ੡  •  160-­‐bit  ੔਺ͷΩʔྖҬ  =  Ring   •  RingΛ౳ִؒͰύʔςΟγϣϯʹ෼ׂ   •  ύʔςγϣϯΛΫϥελͷ֤ϊʔυʹ ׂΓ౰ͯΔ   •  bucket  /  key  ͷϋογϡ஋ʹΑΓɺ   อଘ͢ΔύʔςΟγϣϯΛܾఆ   node  0   node  1   node  2   node  3   hash(“bucket/key”)  

Slide 15

Slide 15 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. σʔλͷෳ੡  •  160-­‐bit  ੔਺ͷΩʔྖҬ  =  Ring   •  RingΛ౳ִؒͰύʔςΟγϣϯʹ෼ׂ   •  ύʔςγϣϯΛΫϥελͷ֤ϊʔυʹ ׂΓ౰ͯΔ   •  bucket  /  key  ͷϋογϡ஋ʹΑΓɺ   อଘ͢ΔύʔςΟγϣϯΛܾఆ   •  ࿈ଓ͢ΔύʔςΟγϣϯʹෳ੡Λอଘ   node  0   node  1   node  2   node  3   hash(“bucket/key”)  

Slide 16

Slide 16 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. Ұ࣌ো֐ൃੜ࣌  •  Ұ࣌తͳϊʔυো֐ʢnode  2ʣ͕ൃੜ   •  PUT,  GET,  DELETEϦΫΤετ͸ɺϑΥʔϧ όοΫϊʔυʢnode  0ʣ΁   node  0   node  1   node  2   node  3   hash(“bucket/key”)  

Slide 17

Slide 17 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. Ұ࣌ো֐ϊʔυͷ෮چ࣌  •  Ұ࣌తͳϊʔυো֐ʢnode  2ʣ͕ൃੜ   •  PUT,  GET,  DELETEϦΫΤετ͸ɺϑΥʔϧ όοΫϊʔυʢnode  0ʣ΁   •  ো֐ϊʔυͷ෮چʢnode  2ʣ   •  “Handoff”ʹΑΓɺσʔλΛϑΥʔϧόο Ϋϊʔυʢnode  0ʣ͔Β෮چϊʔυ ʢnode  2ʣ΁Ҡߦ   •  ௨ৗӡ༻Λ࠶։   node  0   node  1   node  2   node  3   hash(“bucket/key”)  

Slide 18

Slide 18 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. σϞ 1.  1ϊʔυ͚ͩͷΫϥελͰ࢝ΊΔ 2.  10 ݸͷKey/Value Λ௥Ճ 3.  3ϊʔυΛΫϥελʹ௥Ճ (Join) 4.  ࠷ॳͷϊʔυΛؚΊɺ2ϊʔυΛ kill -9 5.  ͢΂ͯͷΩʔΛऔಘ

Slide 19

Slide 19 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. •  ಛఆͷbucket  /  keyΛࢦఆ͠ɺඥ͍ͮͨΦϒδΣΫτΛऔಘ   •  ಛఆͷbucketsʹඥ͍͍ͮͯΔશͯͷkeyΛऔಘ   Ωʔࢦఆ •  ؆୯ͳΫΤϦݴޠʢHTTPʣΛαϙʔτͨ͠શจݕࡧ   •  JSON,  plain  text,  XML  and  ErlangͳͲͷmime-­‐typeΛαϙʔτ •  ·ͩβ  (Yokozuna)   શจݕࡧ •  ΫΤϦʔʹ࢖༻Ͱ͖ΔλάɺΛΦϒδΣΫτอଘ࣌ʹઃఆ   •  ΦϒδΣΫτͷλά໊͓Αͼ஋Λࢦఆͯ͠ΦϒδΣΫτΛ औಘ   Secondary Index (2i) •  σʔλͷ໰͍߹ΘͤɺϑΟϧλϦϯάͷ෼ࢄɺղੳͱूܭ   •  JavaScript  ͱErlang   MapReduce Riak಺ͷσʔλ΁ͷΞΫηε  

Slide 20

Slide 20 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. • ӡ༻ͷ༰қ͞ • ߴՄ༻ੑ • ਫฏ֦ுੑ ·ͱΊ

Slide 21

Slide 21 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED.

Slide 22

Slide 22 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. • Riak  KVS  ͷ্ʹ࣮૷   • ؆୯ʹ࢖͑ΔΫϥ΢υετϨʔδ   • AWS  S3  ޓ׵API     ಛ௃

Slide 23

Slide 23 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. Riak CS Architecture  Stanchion ΦϒδΣΫτ ૢ࡞ block block block block block block manifest ü  ߴՄ༻ੑ ü  ෼ࢄ഑ஔ ü  ෳ੡ όέοτ ૢ࡞ Ϣʔβૢ࡞ɺ Ϩϙʔτ  S3 REST API 

Slide 24

Slide 24 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. APIͱΠϯλϑΣʔε     •  AWS  S3  REST  API४ڌ   •  ҰൠతͳS3  ޲͚ϥΠϒϥϦɺπʔϧΛར༻Մೳ   •  REST  GET,  PUTͱDELETE  ΦϖϨʔγϣϯ   •  S3-­‐style  ACLsɺόέοτϙϦγʔ  

Slide 25

Slide 25 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. σϞ  DragonDisk http://www.dragondisk.com s3cmd http://s3tools.org/s3cmd

Slide 26

Slide 26 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. • Riak  KVS  ͷ্ʹ࣮૷   • ؆୯ʹ࢖͑ΔΫϥ΢υετϨʔδ   • AWS  S3  ޓ׵API     ·ͱΊ

Slide 27

Slide 27 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. Enterprise ঎༻൛ σʔληϯλʔؒϨϓϦέʔγϣϯ   24x7  αϙʔτ  

Slide 28

Slide 28 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. σʔληϯλʔؒ ϨϓϦέʔγϣϯ   ෳ਺DC  ؒͰͷɺยํ޲·ͨ͸   ྆ํ޲ͷσʔλಉظ     ར༻໨త   •  ॏେࡂ֐ԼͰ΋αʔϏεΛܧଓ   •  σʔλϩʔΧϦςΟ   •  ΞΫςΟϒόοΫΞοϓ   •  Produc_onΫϥελʔͱStage༻   ΫϥελʔʹΑΓݕূ؀ڥΛߏங   Primary   Cluster  (DC#1)   Secondary   Cluster  (DC#2)   Secondary   Cluster  (DC#3)   Client   Update  

Slide 29

Slide 29 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. Use  Cases  /  Case  Studies  

Slide 30

Slide 30 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. ओͳΧελϚʔ h`p://basho.com/riak-­‐users/ʹߋʹଟ͘ͷΧελϚʔ৘ใ͕ޚ࠲͍·͢ɻ  

Slide 31

Slide 31 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. ੡඼৘ใͷอ؅  •  ֦ுੑͱϢʔβΤΫεϖϦΤϯεͷύϑΥ ʔϚϯεվળ   •  bestbuy.comͱখചΓళฯͰ࢖༻͢ΔΦϯ ϥΠϯ੡඼ΧλϩάɺϨʔςΟϯάʹRiak Λબ୒ɻ   •  Holiday  ShoppingʢΫϦεϚεηʔϧͳ Ͳʣ࣌ʹ߹Θͤͯϊʔυ௥Ճɻ   •  Bestbuy.comͷϗʔϜϖʔδϨϯμϦϯά ͷSLA͸̍ඵҎ಺ɻ   •  2013೥ͷHoliday  seasonʹ͸ɺSKU਺Ͱ26ඦ ສ͔Β500ඦສ΁֦ுΛ૝ఆɻ   •  Amazon  AWSͷෳ਺Availability  Zone্ʹRiak ΫϥελʔΛߏங  

Slide 32

Slide 32 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. ΦϯϥΠϯ޿ࠂ •  DCϨϓϦέʔγϣϯͱ֦ுੑͷඞཁ͔Β   MySQL  →  Cassandra  →  Riak  ͱϦϓϨʔε   •  ϢʔβΞΫςΟϏςΟσʔλ͓ΑͼτϥϑΟο ΫσʔλΛอଘ   •  τϥϑΟοΫσʔλ͸MySQL͔ΒҠߦʢෳ਺DC ؒͷσʔλϨϓϦέʔγϣϯ͕ඞཁʣ   •  Ϣʔβσʔλ͸Cassandra͔ΒҠߦʢbackward   compa_bility͕֬อͰ͖͍ͯͳ͍͜ͱ͕աڈͷ ϦϦʔεʹ͋Γɺ৴༻Ͱ͖ͳ͍ͨΊܾஅʣ   •  5ΧॴͷDCؒͰσʔλϨϓϦέʔγϣϯ   •  2011೥ʹ4  trillionͷadσʔλΛѻ͏ɻ   advertising conomic potential of uding OpenX mpTime) provide a bining ad serving, an ad exchange, a Supply Side Platform, and ach year. OpenX uses Riak for user and trafficking data behind its data services API. They selected Riak due to its highly available, low-latency, redundant architecture. OpenX also uses Riak’s  multi- datacenter replication across several data centers, providing up-to-date data throughout its global infrastructure. For more details about how OpenX uses Riak, check out the video of Anthony Molinaro, OpenX engineer, speaking at RICON2012,  Basho’s  2012   developer conference. ng technology provider. gencies, mobile operators, active and measurable obile devices. In 2009, rly all of the broadcasters le operators. With the dly, they needed to move to an architecture that could gracefully new platform because it is distributed, scalable, and highly mes of traffic. they opted to build two geographically separated, mirrored sites ation feature. As Marcus Kern, VP of Technology at Velti, ver  140  customers.  We  cannot  afford  a  single  minute  of   d exceed our requirements for scale, data durability, and 2009೥࣌఺  

Slide 33

Slide 33 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. ϝχϡʔγεςϜ •  ౰ॳAmazon  S3Λ࢖༻;  On  demandϝχϡʔͷϥ΢ϯ υτϦοϓϨΠςϯγʔͷ௿ݮΛୡ੒   •  ߴ଎ͳಡΈग़͠/ॻࠐΈͷͨΊRiakΛબ୒   •  Video  On  demandϝχϡʔͷΞάϦήʔτʹඞཁͳ σʔλΛอଘ   •  ϚʔέςΟϯάΩϟϯϖʔϯʹকདྷ࢖༻͢ΔͰ͋Ζ ͏Ϣʔβؔ࿈ͷ৘ใΛอଘ   •  ຖ೔ɺϦϞʔτίϯτϩʔϥ͔Βͷ25MΫϦοΫ਺ Λॲཧ   •  On  demandϝχϡʔͷͨΊʹ̏ΧॴͷDCʹRiakΫϥ ελʔΛߏஙɻ   •  ϚʔέςΟϯά༻ʹ̐ͭͷΫϥελʔΛߏங  

Slide 34

Slide 34 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. •  MySQL,  Oracle͔ΒϨΠςϯγʔվળ͓Αͼίετ ௿ݮͨΊRiak΁ϦϓϨʔε   •  Electronic  Health  Recordsʢॲํᝦ৘ใʣΛҩऀ΍ ϝσΟΧϧγεςϜ͕༷ʑͳσόΠε͔ΒΞΫη ε   •  5.5MͷશσϯϚʔΫࠃຽ޲͚   Danish Health Services ϔϧεέΞ৘ใ؅ཧ

Slide 35

Slide 35 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. Riak CS  ͷϢʔεέʔε ύϒϦοΫ Ϋϥ΢υεετϨʔδ AWSҎ֎ͷS3४ڌͷ ετϨʔδ   Ϋϥ΢υυϥΠϒ   (ҰൠతͳίϯςϯπετϨʔδ)   Backup-­‐as-­‐a-­‐Service   ΞʔΧΠϒετϨʔδ ࣾһͱࣾ಺෦໳ͷͨ ΊͷετϨʔδ

Slide 36

Slide 36 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. :BIPP+"1"/ •  ΠϯλʔωοτγϣοϐϯάαΠτͷϓ ϥοτϑΥʔϜΛYahoo!δϟύϯ͕ఏڙ   •  γϣοϐϯάαΠτͷը૾σʔλΛRiak   CSʹετΞ   •  ొ࿥ΦϒδΣΫτ਺ɿ20ສ݅ʢ2012೥຤ ࣌఺ʣ   •  ϦΫΤετ਺ɿ450  req/sec   •  Ϩεϙϯεɿ10ms  –  80ms   •  ߏஙɿ1೔ɻ   •  S3ޓ׵Ϋϥ΢υετϨʔδαʔϏεΛఏڙ   •  2ΧॴͷDCؒͰσʔλϨϓϦέʔγϣϯ  

Slide 37

Slide 37 text

©2013 BASHO TECHNOLOGIES INC. ALL RIGHTS RESERVED. Questions? •  Twitter: @BashoJapan •  ML: [email protected] •  Basho/TED @ లࣔϒʔε •  Me: [email protected] @itawasa

Slide 38

Slide 38 text

Basho Technologies 2013-06-22 ΦʔϓϯιʔεΧϯϑΝϨϯε 2013 @ ໊ݹ԰