Slide 1

Slide 1 text

Riak && Riak CS 2012/12/12 Ϋϥ΢υετϨʔδݚڀձ

Slide 2

Slide 2 text

•্੢߁ଠ @kuenishi •@BashoJapan #riakjp •෼ࢄγεςϜͷݚڀ΍։ൃΛ5೥͘Β͍ •೔ຊ๏ਓ͕9݄ʹͰ͖ͨ •೔ຊޠML riak-users-jp ͓લɺ୭Α

Slide 3

Slide 3 text

ۓٸΞϯέʔτ • RiakΛฉ͍ͨ͜ͱ͕͋Δ [Y/y]? • Riak CSΛฉ͍ͨ͜ͱ͕͋Δ [Y/n]? • xxxx ClusterΛ࢖ͬͨ͜ͱ͕͋Δ [Y/n]? • H**se΍Ca**draͰۤ͠Μͩ͜ͱ͕͋Δ [Y/n]? • AWS S3Λ࢖͍ͨͯ͘΋࢖͑ͳ͍ [Y/n]?

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

• DynamoʹΠϯεύΠϠ͞Εͨ • Consistent HashingʹΑΓਫฏ෼ࢄ͢Δ • Vector ClocksΛ༻͍ͯϨϓϦέʔγϣϯ͠ • Erlang/OTPͰಈ࡞͢Δ • ෼ࢄKVSͰ͋Δ WikiPedia: Vector Clocks

Slide 6

Slide 6 text

Riakͷ͍͍ͱ͜Ζ • ߴՄ༻ੑ • εέʔϧΞ΢τ͢Δ • ӡ༻ָ͕ʢͱ͍ΘΕ͍ͯΔʣ • Ϛελʔ͕͍ͳ͍ • ʢNoSQLͷׂʹʣ࣮੷͕͋Δ • ୔ࢁͷΫϥΠΞϯτ(Ruby, Java, Python, PHP, Perl, OCaml, Haskell, .NET, ...) • ErlangͰಈ͘

Slide 7

Slide 7 text

Riakͷ࢒೦ͳͱ͜Ζ • ଎͘͸ͳ͍ • τϥϯβΫγϣϯͰ͖ͳ͍ • 10000୆ͩͱଟ෼ಈ͔ͳ͍ • ΞϓϦઃܭ͕*SQL΄Ͳ؆୯Ͱͳ͍ • ErlangͰॻ͔Ε͍ͯΔ

Slide 8

Slide 8 text

DEMO 1 • GET, PUT, DELETEͯ͠ΈΔ • ը૾Λͦͷ··ஔ͚Δ

Slide 9

Slide 9 text

DEMO 2 • SQL୅ΘΓͷMapReduce • JavaScriptͰͦΕͳΓʹ͍Ζ͍ΖͰ ͖Δ • https://gist.github.com/4202161

Slide 10

Slide 10 text

DEMO 3 • Non-stop upgrade • ίʔυΛॻ͖׵͑ͯࢭΊͣʹߋ৽ • ௨ৗ࣌͸ඇਪ঑͕ͩۓٸ࣌ʹॏๅ • ྫ: Scaling Riak in Production

Slide 11

Slide 11 text

riak_control

Slide 12

Slide 12 text

࢖͍Ͳ͜Ζ • 1୆ͷ෺ཧϚγϯʹ ऩ·Βͳ͍έʔε • εϞʔϧελʔτ͠ ͍ͨͱ͖ • Մ༻ੑ͕τοϓཁ݅ ͷ࣌ • σʔλϞσϧΛKey, ValueʹͰ͖Δͱ͖ • Ad Networks • Digital Media • On-Line Games • Social Networks • Social Analysis • Cloud Operators • Messaging Services • Product Catalogs • Document Management • Health Care Information Management

Slide 13

Slide 13 text

Health Information Management Danish Health Services Clinical care teams, insurance companies, pharmacists, employers will benefit from a more holistic view of someone's current state of health. Creates a comprehensive drug treatment history, available securely to patients, doctors and medical systems on any device, at any time •2012೥1݄ͷDevSummitʹͯAT&T ͕mHealthΛ঺հ •։ൃऀɺΞϓϦɺ୺຤Λܨ͙PaaSͷΤίγεςϜΛ ߏங •Withings, FitBit, MyZeoΛؚΉαʔυύʔςΟ୺຤ •ϢʔβɺτʔΫϯɺΞϓϦέʔγϣϯɺϔϧεϝτ ϦοΫεͳͲΛRiakʹอଘ •HIPAAͱ HL7ʹ४ڌ •550ສਓͷσϯϚʔΫࠃຽͷॲํᝦʹؔ͢Δ৘ใΛอଘ •HIPAAಉ౳ͷίϯϓϥΠΞϯεཁ݅ •OracleιϦϡʔγϣϯʹൺ΂95%҆Ձ •MySQLʹൺ΂4ഒߴ଎ •NoSQLͷ࢖༻Λ༏ઌ͢Δ͜ͱͰDBA͕ෆཁͷͨΊӡ༻ί ετΛ௿ݮ AT&T

Slide 14

Slide 14 text

Comlplex Event Management Provides advanced malware analysis and protection using big data to discover, understand and block malware outbreaks, APTs, and targeted attacks. Ensures Norton On-Line users have an always-on, integrated experience that securely interfaces a device with the cloud maintaining critical data •֦ுੑͱ҆ఆੑͷ໘͔ΒRiakΛબ୒ •RiakͷΞυόϯευػೳʢRiakαʔνɺ2i (ηΧϯ μϦʔΠϯσοΫε)Λ࣮૷ •Ϋϥ΢υϕʔεαʔϏε͸ɺσόΠεΤʔδΣϯ τ͔ΒϚϧ΢ΣΞʹؔ͢ΔσʔλΛऩू •1MBҎԼͷΦϒδΣΫτͷwrite-intensiveॲཧ •ଞͷ஍ҬͷαϙʔτͷͨΊʹ֦ுத •γεςϜμ΢ϯͷഉআͷͨΊʹOracle͔Β Riak΁Ϧϓ Ϩʔε •ϓϥΠϚϦʔαʔϏε͸ɺϢʔβొ࿥σʔλͷอଘɺ ಉظσʔλͷอଘ΍ϙϦγʔσʔλͷอଘͳͲ •ηΧϯμϦʔαʔϏε͸ɺ “event service”ͷͨΊΠϕϯ τϩάͷอଘɺαʔνɻOracle͔ΒͷϚΠάϨʔγϣϯ •֤ςφϯτ͕֤ࣗͷϙϦγʔΛ࣋ͭચ࿅͞Εͨঝೝ؅ ཧΛཁٻ͞ΕΔ Symantec Corp. Sourcefire, Inc.

Slide 15

Slide 15 text

Erlangͱleveldb, v8, bitcask͕ಈ͚͹େ఍ಈ͘ Packages: FreeBSD, RHEL, Debs, CentOS, Ubuntu, OpenSolaris, and a few more. ιʔε͔ΒϏϧυ͢Δ৔߹͸Erlang΍gcc΍Β gmake΍Β͕ඞཁ OS/Platforms/Software

Slide 16

Slide 16 text

Upgrades • 2ίલ·Ͱͷޓ׵ੑΛςετ (1.2͸1.1, 1.0· Ͱςετ) • ϊʔυΛॱ܁ΓʹΞοϓάϨʔυ͍ͯͩ͘͠ ͚ʢશମΛࢭΊΔඞཁ͸ͳ͍ʣ • Puppet΍ChefͰͰ͖Δͱ͔Ͱ͖ͳ͍ͱ͔…

Slide 17

Slide 17 text

ʲ※ະঝ୚ʳ঎༻൛ •DCؒϨϓϦέʔγϣϯ •SNMP, JMXίϯιʔϧ •͋ͱ͸ಉ͡

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

• Amazon S3 ෩ΦϒδΣΫτετϨʔδ • ΄΅ޓ׵ • σʔλ͸શͯRiakʹ֨ೲ͞ΕΔ • ࠷େ5GBͷϑΝΠϧΛ1MBͷνϟϯΫʹ෼ׂ͠ ͯอଘ

Slide 21

Slide 21 text

Riak CSͷ͍͍ͱ͜Ζ • εςʔτϑϧͳ৘ใ͸શͯRiakʹอଘ • ϓϩηε͸εςʔτϨε • SPOFతͳϓϩηε͕͍Δ͕εςʔτϨεͳͷ Ͱӡ༻ָ͕ • ӡ༻ָ͕ʢͱ͍ΘΕ͍ͯΔʣ • EDSͱซ༻ͯ͠DCؒϨϓϦέʔγϣϯ • ErlangͰಈ͘

Slide 22

Slide 22 text

Riak CSͷ࢒೦ͳͱ͜Ζ • ޮ཰͸Α͘ͳ͍ • AWSͰͰ͖ΔͷʹCSͰͰ͖ͳ͍ػೳ͸ͦΕͳΓ ʹ͋ΔʢtorrentͳͲʣ • 10000୆ͩͱଟ෼ಈ͔ͳ͍ • ErlangͰॻ͔Ε͍ͯΔ

Slide 23

Slide 23 text

DEMO 1 • GET, PUT, DELETEͯ͠ΈΔ • ը૾Λͦͷ··ஔ͚Δ

Slide 24

Slide 24 text

S3ʹͳ͍΋ͷ • Provisioning API • POST User - Create a user account • Reporting API • GET Usage - Get user access and storage data

Slide 25

Slide 25 text

WIP •Multipart Upload •Bucket Policy •A lot of minor improvements

Slide 26

Slide 26 text

Q&A