Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

運用が楽になる分散データベース Riak

32,756 views

Published on

BPStudy #71 での発表資料です。

Published in: Technology

運用が楽になる分散データベース Riak

  1. 1. 運用が楽になる 分散データベース Riak Bashoジャパン株式会社 Software Engineer 佐藤貴彦 2013/07/31 BPStudy#71
  2. 2. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. 自己紹介 •  佐藤貴彦 •  2013年7月より Basho ジャパン株式会社 •  前職も製品ベンダーで、RDBMSや分散キャッシュ製品を 中心とした、コンサルティングを担当 •  インフラ大好き •  著書(共著) •  絵で見てわかるITインフラの仕組み
  3. 3. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Basho Technologies, Inc •  設立:2008年1月設立 •  本社:マサチューセッツ州ケンブリッジ •  製品 •  分散データベース Riak •  分散型クラウドストレージ RiakCS
  4. 4. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. オープンソース版 エンタープライズ版 ・複数クラスター間レプリケーション   ・SNMP  /  JMXサポート   ・Bashoのエンジニアによるサポート   Riak と Riak CS 分散型クラウドストレージ分散データベース +
  5. 5. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.
  6. 6. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. 理想のシステム 「どんな故障が起こっても データを常に整合させつつ  サービスも止まることはない  システム」 は存在しません   = CAP定理
  7. 7. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riakの設計ポリシー •  Amazon Dynamo論文をベースに設計された分散KVS •  以下に重点を置いている •  可用性(Availability) •  耐障害性(Fault-tolerance) •  運用の容易性(Operational simplicity) •  スケーラビリティ(Scalability)
  8. 8. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Dynamo 論文より •  Dynamo: Amazon’s Highly Available Key-value Store •  可用性第一:常に書き込みができること → 書き込み時ではなく、読み込み時に整合性チェック → 例:ECサイトで常にショッピングカートを動かしたい •  一貫性の考え方:Eventual Consistency → AP優先だが、チューニング可能 •  レイテンシの考え方: → 99.9パーセンタイルの応答を一定時間内に返す
  9. 9. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riakは Erlang/OTP上で動作 •  クラスタリングやノード間のメッセージングなどは、 Erlang/OTPにまかせている •  Erlang/OTPとは? •  元々はエリクソン社が電話交換機プログラムのために開発。 「分散環境」「耐障害性」「無停止動作」を目的とした システムを構築できるように設計されている。 Riakを使ったシステムもこの恩恵を享受できる
  10. 10. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riak概要  
  11. 11. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. RiakはRDBではなくKVS •  Riakは永続性を持ったキーバリューストア •  Key と Value ペアで、データを Bucket に格納する •  バイナリで格納するため、文字列、画像、あらゆるデータを 格納可能 11 Key Value •  ID: 0001 •  Name: Basho •  Product: Riak •  Logo:
  12. 12. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. RiakのデータとRDBのデータ比較 12 RDBのデータ構造 Riakのデータ構造 Key/Value Bucket Key Value Record(行) Table (表) PK
  13. 13. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riakノードとは •  1つのRiakノードは、OSプロセス上は1つのErlangプロセス •  1つの物理サーバーにつき、1Riakノードを起動 •  GCを気にして複数プロセスに分けるといった必要はない ノード1 ノード2 物理サーバー1 物理サーバー2
  14. 14. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. •  データは Riak によって自動的に分散配置される •  ユーザーはデータがどこにあるかを意識する必要はない データの自動分散配置 サーバー何台あっても

×