O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

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

32.810 visualizações

Publicada em

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

Publicada em: Tecnologia
  • Seja o primeiro a comentar

運用が楽になる分散データベース 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 によって自動的に分散配置される •  ユーザーはデータがどこにあるかを意識する必要はない データの自動分散配置 サーバー何台あっても

×