[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda

Embed Size (px)

DESCRIPTION

 

Citation preview

  • 1. db tech showcase 2013KVS 2013/11/13

2. Hitachi, Ltd. 2013. All rights reserved. 3. DB Online http://enterprisezine.jp/dbonline/detail/5010 Hitachi, Ltd. 2013. All rights reserved.2 4. KVS Contents Hitachi, Ltd. 2013. All rights reserved. 5. KVS Hitachi, Ltd. 2013. All rights reserved. 6. Hitachi, Ltd. 2013. All rights reserved.5 7. Big Data Hitachi, Ltd. 2013. All rights reserved.6 8. Hitachi, Ltd. 2013. All rights reserved.7 9. uCosminexus Elastic Application Data storeEADsC16 uCosminexus Stream Data PlatformC23 Hitachi Advanced Data Binder C32 CEP Hitachi, Ltd. 2013. All rights reserved.8 10. Hitachi, Ltd. 2013. All rights reserved.9 11. DB Hitachi, Ltd. 2013. All rights reserved.10 12. TMS RawCDR CDR RawCDR HO ID CDR RawCDRRawCDR CDR Hitachi, Ltd. 2013. All rights reserved.11 13. Hitachi, Ltd. 2013. All rights reserved.12 14. Hitachi, Ltd. 2013. All rights reserved.13 15. * * KVS: Key Value StoreKey Foo Application ServerValue A Bar Baz0 A,0 Hitachi, Ltd. 2013. All rights reserved.14 16. Hitachi, Ltd. 2013. All rights reserved.15 17. KeyValueBazA,0 Key FooABarApplication ServerValue 0 Hitachi, Ltd. 2013. All rights reserved.16 18. Hitachi, Ltd. 2013. All rights reserved.17 19. Grouping* Distributed Code Execution* CPU * JSR 347: Data Grids for the JavaTM PlatformKeyValueG2:FooBG2:Bar1G2:BazB,1Application ServerKeyValueG1:FooAG1:Bar0G1:BazA,0 Hitachi, Ltd. 2013. All rights reserved.18 20. Hitachi, Ltd. 2013. All rights reserved.19 21. Hitachi, Ltd. 2013. All rights reserved.20 22. KVS (EADs) Hitachi, Ltd. 2013. All rights reserved. 23. Hitachi, Ltd. 2013. All rights reserved.22 24. 232 Key 231-1 | -231 Hash(Foo)Put Foo AEADs Tool Hitachi, Ltd. 2013. All rights reserved.23 25. Hitachi, Ltd. 2013. All rights reserved.24 26. 231-1 | -231 Hash(Foo)Put Foo AEADs Tool Hitachi, Ltd. 2013. All rights reserved.25 27. 231-1 | -231EADs Tool Hitachi, Ltd. 2013. All rights reserved.26 28. Hitachi, Ltd. 2013. All rights reserved.27 29. 231-1 | -231 EADs Tool Hitachi, Ltd. 2013. All rights reserved.28 30. EADs Tool Hitachi, Ltd. 2013. All rights reserved.29 31. EADs Tool Hitachi, Ltd. 2013. All rights reserved.30 32. EADs Tool Hitachi, Ltd. 2013. All rights reserved.31 33. EADs Tool Hitachi, Ltd. 2013. All rights reserved.32 34. Hitachi, Ltd. 2013. All rights reserved.33 35. FooAFooA FooAGet Foo Get FooA A Hitachi, Ltd. 2013. All rights reserved.34 36. Hitachi, Ltd. 2013. All rights reserved.35 37. Hitachi, Ltd. 2013. All rights reserved.36 38. FooA FooBFooA FooB FooB FooAPut Foo A Put Foo B Hitachi, Ltd. 2013. All rights reserved.37 39. Hitachi, Ltd. 2013. All rights reserved.38 40. Bar0 Bar01 Bar01 CAS Bar 0 1CAS: Compare and Swap Hitachi, Ltd. 2013. All rights reserved.39 41. Hitachi, Ltd. 2013. All rights reserved.40 42. L2 FooB FooA FooBPut Foo B Put Foo A Hitachi, Ltd. 2013. All rights reserved.41 43. Hitachi, Ltd. 2013. All rights reserved.42 44. Hitachi, Ltd. 2013. All rights reserved.43 45. Hitachi, Ltd. 2013. All rights reserved.44 46. Hitachi, Ltd. 2013. All rights reserved.45 47. QUORUM Hitachi, Ltd. 2013. All rights reserved.46 48. Hitachi, Ltd. 2013. All rights reserved.47 49. Hitachi, Ltd. 2013. All rights reserved.48 50. KVS Hitachi, Ltd. 2013. All rights reserved. 51. Hitachi, Ltd. 2013. All rights reserved.50 52. Paxos** The Part-Time Parliament LESLIE LAMPORT, 1998 Hitachi, Ltd. 2013. All rights reserved.51 53. Paxos Hitachi, Ltd. 2013. All rights reserved.52 54. Paxos Server1Server2Server31put(k1,v1)put(k1,v1)put(k1,v1)2remove(k1)remove(k1)remove(k1)iput(k1,v2)put(k1,v2)put(k1,v2) k1 v2 Hitachi, Ltd. 2013. All rights reserved.53 55. Paxos Proposer 1. i Acceptor 2. Acceptori 3. i i-1 i-1AcceptorFillGaps Hitachi, Ltd. 2013. All rights reserved.54 56. Hitachi, Ltd. 2013. All rights reserved.55 57. Hitachi, Ltd. 2013. All rights reserved.56 58. Proposer Acceptor* * put(k,v) Paxos Hitachi, Ltd. 2013. All rights reserved.57 59. Proposeri AcceptorAcceptori Paxosput(k,v) ok ok ok ok ok i Hitachi, Ltd. 2013. All rights reserved.58 60. Acceptori Paxos put(k,v) i i i Hitachi, Ltd. 2013. All rights reserved.59 61. Paxos put(k,v) i i i Hitachi, Ltd. 2013. All rights reserved.60 62. Hitachi, Ltd. 2013. All rights reserved.61 63. cas(k,v1,v2) Paxos Hitachi, Ltd. 2013. All rights reserved.62 64. Proposeri AcceptorAcceptori Paxoscas(k,v1,v2) iok ok ok ok Hitachi, Ltd. 2013. All rights reserved.63 65. Acceptori Paxos cas(k,v1,v2) i i Hitachi, Ltd. 2013. All rights reserved.64 66. Paxos cas(k,v2,v3) i i Hitachi, Ltd. 2013. All rights reserved.65 67. Proposeri+1 AcceptorAcceptori+1 Paxos cas(k,v2,v3) ii+1ok ok ok ok ok i Hitachi, Ltd. 2013. All rights reserved.66 68. AcceptorFillGapsi+1 Paxos cas(k,v2,v3) ii+1 FillGaps i+1 i i+1i Hitachi, Ltd. 2013. All rights reserved.67 69. Paxos get(k) i i Hitachi, Ltd. 2013. All rights reserved.68 70. AcceptorFillGapsget Paxos i get(k) FillGaps i i Hitachi, Ltd. 2013. All rights reserved.69 71. Paxos i get(k) FillGaps i Hitachi, Ltd. 2013. All rights reserved.70 72. Hitachi, Ltd. 2013. All rights reserved.71 73. L2 Paxos Hitachi, Ltd. 2013. All rights reserved.72 74. Proposer Acceptor Paxos Hitachi, Ltd. 2013. All rights reserved.73 75. Proposeri AcceptorAcceptori Paxos i+2 i+1iok ok ok i+2 i+1iok ok ok i+1iok ok i+1iok ok i+1iok ok Hitachi, Ltd. 2013. All rights reserved.74 76. Acceptori Paxos i+2 i+1 iok ok ok i+2 i+1 iok ok ok i+1 i i+1 i i+1 i Hitachi, Ltd. 2013. All rights reserved.75 77. get(k) Paxos i+2 i+1 iok ok ok get(k) i+2 i+1iok ok ok i+1 i FillGaps i+1 i i+1 i Hitachi, Ltd. 2013. All rights reserved.76 78. Acceptorget get(k) Paxos i+2 i+1 iok ok ok get(k) i+2 i+1iok ok ok i+1 i FillGaps i+1 i i+1 i Hitachi, Ltd. 2013. All rights reserved.77 79. Hitachi, Ltd. 2013. All rights reserved.78 80. Paxos Hitachi, Ltd. 2013. All rights reserved.79 81. JavaOracle Corporation Hitachi, Ltd. 2013. All rights reserved.80 82. db tech showcase 2013END KVS2013/11/13