SlideShare a Scribd company logo
1 of 50
Download to read offline
運用が楽になる
分散データベース Riak
Bashoジャパン株式会社
Software Engineer
佐藤貴彦
2013/07/31
BPStudy#71
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

自己紹介
•  佐藤貴彦
•  2013年7月より Basho ジャパン株式会社
•  前職も製品ベンダーで、RDBMSや分散キャッシュ製品を
中心とした、コンサルティングを担当
•  インフラ大好き
•  著書(共著)
•  絵で見てわかるITインフラの仕組み
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

Basho Technologies, Inc
•  設立:2008年1月設立
•  本社:マサチューセッツ州ケンブリッジ
•  製品
•  分散データベース Riak
•  分散型クラウドストレージ RiakCS
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

オープンソース版
エンタープライズ版
・複数クラスター間レプリケーション	
  
・SNMP	
  /	
  JMXサポート	
  
・Bashoのエンジニアによるサポート	
  
Riak と Riak CS
分散型クラウドストレージ分散データベース
+
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

理想のシステム
「どんな故障が起こっても
データを常に整合させつつ
 サービスも止まることはない
 システム」
は存在しません   = CAP定理
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

Riakの設計ポリシー
•  Amazon Dynamo論文をベースに設計された分散KVS
•  以下に重点を置いている
•  可用性(Availability)
•  耐障害性(Fault-tolerance)
•  運用の容易性(Operational simplicity)
•  スケーラビリティ(Scalability)
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

Dynamo 論文より
•  Dynamo: Amazon’s Highly Available Key-value Store
•  可用性第一:常に書き込みができること
→ 書き込み時ではなく、読み込み時に整合性チェック
→ 例:ECサイトで常にショッピングカートを動かしたい
•  一貫性の考え方:Eventual Consistency
→ AP優先だが、チューニング可能
•  レイテンシの考え方:
→ 99.9パーセンタイルの応答を一定時間内に返す
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

Riakは Erlang/OTP上で動作
•  クラスタリングやノード間のメッセージングなどは、
Erlang/OTPにまかせている
•  Erlang/OTPとは?
•  元々はエリクソン社が電話交換機プログラムのために開発。
「分散環境」「耐障害性」「無停止動作」を目的とした
システムを構築できるように設計されている。
Riakを使ったシステムもこの恩恵を享受できる
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

Riak概要	
  
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

RiakはRDBではなくKVS
•  Riakは永続性を持ったキーバリューストア
•  Key と Value ペアで、データを Bucket に格納する
•  バイナリで格納するため、文字列、画像、あらゆるデータを
格納可能
11
Key Value
•  ID: 0001 •  Name: Basho	

•  Product: Riak	

•  Logo:
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

RiakのデータとRDBのデータ比較
12
RDBのデータ構造 Riakのデータ構造
Key/Value
Bucket
Key Value
Record(行)
Table (表)
PK
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

Riakノードとは
•  1つのRiakノードは、OSプロセス上は1つのErlangプロセス
•  1つの物理サーバーにつき、1Riakノードを起動
•  GCを気にして複数プロセスに分けるといった必要はない
ノード1 ノード2
物理サーバー1 物理サーバー2
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

•  データは Riak によって自動的に分散配置される
•  ユーザーはデータがどこにあるかを意識する必要はない
データの自動分散配置
サーバー何台あっても
気にならないよ!
14
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

自動クラスタリング
•  クラスタの参加離脱(サーバーの追加削除)はコマンド
を実行すればあとは自動的に行われる
•  すべてのサーバーは対等な関係(マスターレス)であり
単一障害点(SPOF)が無い
15
クラスタに
参加させて!僕らは皆対等な
関係です!
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

データの自動再配置
•  サーバー追加時などは自動でデータの再配置が行われる
16
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

•  データの更新時は、異なるRiakノードに自動複製される
•  デフォルト設定では3つのサーバーにデータを保存
•  つまり2重障害(ディスク障害)でもデータが失われない
データの自動レプリケーション
1	

 2 3
更新	

17
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

•  アクセスできないサーバーへの問い合わせはスキップ
•  一時的に他のサーバーが受け持つ
故障ノードの自動回避
しばらく代理を
引き受けます更新	

18
1	

 2 3
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

•  障害などで失われたデータの複製は自動復旧される
データの自動復旧
19
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

クラスタ間自動レプリケーション
•  複数のRiakクラスタ間でデータのレプリケーション
•  DRサイトの作成を実現
•  Riak の Enterprise版でのみ提供
関東クラスタ 関西クラスタ(DRサイト)
20
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

つまり
もし夜中にノードが落ちたら?	

	

	

夜はゆっくり寝て、翌朝対応!
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

Riak	
  詳細	
  
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

仮想ノード(vnode)
•  Riakノードの内部はさらにvnodeと呼ばれる仮想ノード
•  実際のデータは、Keyから計算されたハッシュ値により
処理されるvnodeが決定される
vnode
vnode
vnode
vnode
vnode
vnode
vnode
vnode
Riakノード(OSプロセス)
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

仮想ノード(vnode)のデータ
•  vnode内のデータはファイルシステム上に保存される
•  vnodeと同じ数だけ各ノードに配置される
node1 node2 node3 node4
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

1つのパーティションを
1つのvnodeが担当
Riakにおける仮想ノードとRing
hash(bucket/key)
から160bitのハッシュ値を計算
02 - 1
160
160bitのハッシュ空間を、P個の	

パーティション(範囲)に分解
vnode
この範囲のデータは
僕が担当します。
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

1つのパーティションを
1つのvnodeが担当
Riakにおける仮想ノードとRing
hash(bucket/key)
から160bitのハッシュ値を計算
例)P=32 の場合
32個のパーティションを
32個のvnodeで配分
160bitのハッシュ空間を、P個の	

パーティション(範囲)に分解
Ring
vnode
この範囲のデータは
僕が担当します。
02 - 1
160
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

Riakにおける仮想ノードとRing
hash(bucket/key)
から160bitのハッシュ値を計算
vnode
この範囲のデータは
僕が担当します。
160bitのハッシュ空間を、P個の	

パーティション(範囲)に分解
Ring
1つのパーティションを
1つのvnodeが担当
node3
node2
node1
node4
02 - 1
160
例)P=32, 4ノードの場合
32個のパーティションを
32個のvnodeで配分し、	

4つのRiakノードで配分。
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

Riakにおける正常時の挙動	
  
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

書き込み(put)時の挙動
•  Riakノードにデータがputされるとき、
N個の複製を生成する(default
N=3)。
•  複製は隣接するvnodeに保存される。
(隣接するvnodeは必ず異なるRiak
ノード上にある)
→ 物理ノード障害に対応
•  W個の保存に成功した時点でクライ
アントに応答を返す。(default W=2)
•  すべてのノードの応答を待たない。
これはレイテンシを短くするため。
Riak
Client
node3
node2
node1
node4
put
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

読み込み(get)時の挙動
•  Riakノードからデータをgetする
とき、R個のノードが応答を返した
次点で、クライアントに返す
(default R=2)
Riak
Client
node3
node2
node1
node4
get
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

レプリカの整合性を保つ
Quorum-based Protocol
•  put/getや、put/putの競合が発生しても
以下の条件を満たせば競合を解決できる
•  W+R  N
→ put/getが競合しても、get側は必ず最
新のオブジェクトを得られる
•  W  N/2
→ put/putが競合しても、衝突を知ること
ができる。
•  Riakのデフォルト値は N=3, W=2, R=2
•  あとはオブジェクトの時間を比較可能
Riak
Client
node3
node2
node1
node4
Riak
Client
put
get
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

整合性を保てる例保てない例
•  N=4, W=3, R=2 の場合
W+R  N , W  N/2 を満たす
•  N=3, W=3, R=1 の場合
W+R  N , W  N/2 を満たす
put
get
put
get
old
new
•  N=3, W=2, R=1 の場合
W+R  N を満たしていない
put
get古いデータを読んでしまうかも
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

オブジェクトの内部時計
Vector Clocks
•  競合が発生した場合、最新オブジェ
クトを得るには、どのオブジェクト
が最新かを比較する必要がある
→ オブジェクトのバージョン管理
•  各オブジェクトは「誰」が「いつ」
更新したを記録する、オブジェクト
の世界における時計 Vector Clocks
を持っている。
•  オブジェクトの系譜をたどれる
Riak
Client
node3
node2
node1
node4
Riak
Client
過去 現在
put
get
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

put時の競合の解決は?
LWWとSiblings
•  put/putの競合が起こった場合、Vector
Clocks で新旧判断がつくなら、新しい方
を残す。判断がつかない場合は?
•  Last Write Wins
→ 後から処理された方を残す。
•  Siblings
Vector Clocksからは、新旧判断がつかな
いオブジェクトは、両方共残す。
 
Riak
Client
node3
node2
node1
node4
Riak
Client
事実はなかったことに…
put put
どちらも最新バージョン
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

Riakにおける障害時の挙動	
  
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

ノード障害時の書き込み挙動
Hinted Handoff
•  ノード障害が発生して書き込みが
できない場合、一時的に次のノー
ドに書き込みに行く。この動作を
Handoff と呼ぶ。
•  PUT,GET,DELETEリクエストは、フ
ォールバックノードに転送。
put
Riak
Client
node3
node2
node1
node4
フォールバックノードに
レプリカが保存される
障害中・・・
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

ノード復旧時の書き込み挙動
Hinted Handoff
•  障害ノードが復帰した場合、フォー
ルバックノードから、あずかって
いたオブジェクトを受け取る。
node3
node2
node1
node4
復旧しました
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

障害から復旧しなかったら?
Read Repair
•  保存データの部分消失があった場合
get時に気がつくことができる。
•  再度複製を生成。
•  vnode間でオブジェクトの最新バ
ージョンを維持しようとする。
node3
node2
node1
node4
Riak
Client
get
レプリカ足りない…?
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

自動修復機能
Active Anti-Entropy
•  データの複製が失われた状態を、
実際にgetするまで気がつけないこ
とは危険。
•  AAE機能により定期的に自動修復
•  vnode単位でデータのハッシュツ
リーを持っている。定期的にハッ
シュ値の比較を行うことで、デー
タ複製間の不整合を検知し、Read
Repairを行う。
node3
node2
node1
node4
このvnodeのハッシュだけ
一致しないぞ・・・?
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

Riakデータアクセス	
  
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

Riakのデータ問い合わせの種類
•  Key/Valueの読み書き
•  セカンダリインデックス(2i)によるタグ付け
•  MapReduceによる分散処理(複雑なクエリ)
•  全文検索
41
get
tagA tagB
put
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

DEMO	
  
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

RiakCS	
  
ちょっとだけ
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

Riak CS の特徴
•  Riak CS は「分散」オブジェクトストレージ
•  Riakをベースに作られており、Riakの持つ拡張性、可用性、
耐障害性、運用容易性をそのまま受け継いでいる
•  Amazon S3 互換のAPI(NFS、CIFSなどのAPIは持たない)
•  Riak CS を使うことで、Amazon S3 互換のクラウドを構
築できる
44
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

Riak 上に作られた Riak CS
45
1MB単位に分割してRiakへ
高可用性があって	

拡張できる大きな
ストレージとして
使えます
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

まとめ	
  
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

まとめ
もし夜中にノードが落ちたら?	

ゆっくり寝て翌朝対応できる。	

	

運用が楽になる分散データベース
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

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

Riak/Riak CS 適用業界の例
•  小売業(ECサイト)
•  医療
•  広告 / マーケティング
•  モバイルサービス
•  ゲーム
•  メディア
•  ソーシャルネットワーク
•  課金 / 支払い
•  セキュリティ
•  クラウドサービス
大量データの保存が必要な場合はもちろ
ん、非常に高い可用性や耐障害性を求め
て弊社製品を使って頂いております!
49
©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.	

Basho ユーザー
50

More Related Content

What's hot

[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...Insight Technology, Inc.
 
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」Ryusuke Kajiyama
 
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼうdatastaxjp
 
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11MapR Technologies Japan
 
超高速処理とスケーラビリティを両立するApache GEODE
超高速処理とスケーラビリティを両立するApache GEODE超高速処理とスケーラビリティを両立するApache GEODE
超高速処理とスケーラビリティを両立するApache GEODEMasaki Yamakawa
 
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...Insight Technology, Inc.
 
[db tech showcase Tokyo 2015] B36:Hitachi Advanced Data Binder 実践SQLチューニング方法 ...
[db tech showcase Tokyo 2015] B36:Hitachi Advanced Data Binder 実践SQLチューニング方法 ...[db tech showcase Tokyo 2015] B36:Hitachi Advanced Data Binder 実践SQLチューニング方法 ...
[db tech showcase Tokyo 2015] B36:Hitachi Advanced Data Binder 実践SQLチューニング方法 ...Insight Technology, Inc.
 
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔Insight Technology, Inc.
 
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...Insight Technology, Inc.
 
20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_FdwKohei KaiGai
 
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギMasaki Yamakawa
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門じゅん なかざ
 
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)オラクルエンジニア通信
 
[db tech showcase Tokyo 2015] D13:PCIeフラッシュで、高可用性高性能データベースシステム?! by 株式会社HGSTジ...
[db tech showcase Tokyo 2015] D13:PCIeフラッシュで、高可用性高性能データベースシステム?! by 株式会社HGSTジ...[db tech showcase Tokyo 2015] D13:PCIeフラッシュで、高可用性高性能データベースシステム?! by 株式会社HGSTジ...
[db tech showcase Tokyo 2015] D13:PCIeフラッシュで、高可用性高性能データベースシステム?! by 株式会社HGSTジ...Insight Technology, Inc.
 
[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...
[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...
[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...Insight Technology, Inc.
 
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11MapR Technologies Japan
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRecruit Technologies
 
最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたものcyberagent
 

What's hot (20)

ヤフーを支えるフラッシュストレージ
ヤフーを支えるフラッシュストレージヤフーを支えるフラッシュストレージ
ヤフーを支えるフラッシュストレージ
 
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
 
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
 
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう
 
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
 
超高速処理とスケーラビリティを両立するApache GEODE
超高速処理とスケーラビリティを両立するApache GEODE超高速処理とスケーラビリティを両立するApache GEODE
超高速処理とスケーラビリティを両立するApache GEODE
 
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
 
[db tech showcase Tokyo 2015] B36:Hitachi Advanced Data Binder 実践SQLチューニング方法 ...
[db tech showcase Tokyo 2015] B36:Hitachi Advanced Data Binder 実践SQLチューニング方法 ...[db tech showcase Tokyo 2015] B36:Hitachi Advanced Data Binder 実践SQLチューニング方法 ...
[db tech showcase Tokyo 2015] B36:Hitachi Advanced Data Binder 実践SQLチューニング方法 ...
 
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
[db tech showcase Tokyo 2015] B12:カラムストアデータベースの技術と活用法 by 日本電気株式会社 田村稔
 
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
 
Oracle Data Guard による高可用性
Oracle Data Guard による高可用性Oracle Data Guard による高可用性
Oracle Data Guard による高可用性
 
20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw
 
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギ
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
 
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
 
[db tech showcase Tokyo 2015] D13:PCIeフラッシュで、高可用性高性能データベースシステム?! by 株式会社HGSTジ...
[db tech showcase Tokyo 2015] D13:PCIeフラッシュで、高可用性高性能データベースシステム?! by 株式会社HGSTジ...[db tech showcase Tokyo 2015] D13:PCIeフラッシュで、高可用性高性能データベースシステム?! by 株式会社HGSTジ...
[db tech showcase Tokyo 2015] D13:PCIeフラッシュで、高可用性高性能データベースシステム?! by 株式会社HGSTジ...
 
[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...
[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...
[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...
 
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
 
最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの
 

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

Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Makoto Sato
 
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~griddb
 
KOBE IT FESTIVAL 2012
KOBE IT FESTIVAL 2012KOBE IT FESTIVAL 2012
KOBE IT FESTIVAL 2012Hiroshi Bunya
 
Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!Takashi Matsunaga
 
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
性能問題を起こしにくい信頼されるクラウド RDB のつくりかたTomoyuki Oota
 
Datastax Enterpriseをはじめよう
Datastax EnterpriseをはじめようDatastax Enterpriseをはじめよう
Datastax EnterpriseをはじめようYuki Morishita
 
[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...
[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...
[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...Insight Technology, Inc.
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?Makoto SAKAI
 
[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔
[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔
[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔Insight Technology, Inc.
 
Db2 Warehouse セッション資料 db tech showcase
Db2 Warehouse セッション資料 db tech showcase Db2 Warehouse セッション資料 db tech showcase
Db2 Warehouse セッション資料 db tech showcase IBM Analytics Japan
 
もうSQLとNoSQLを選ぶ必要はない!? ~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!? ~両者を備えたスケールアウトデータベースGridDB~もうSQLとNoSQLを選ぶ必要はない!? ~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!? ~両者を備えたスケールアウトデータベースGridDB~griddb
 
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...Insight Technology, Inc.
 
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたデータベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたHyperleger Tokyo Meetup
 
Riak meetup tokyo idcf 20130312
Riak meetup tokyo idcf 20130312Riak meetup tokyo idcf 20130312
Riak meetup tokyo idcf 20130312Hiroyuki Sato
 
DBTS2016 DBAのための最新テクノロジー
DBTS2016 DBAのための最新テクノロジーDBTS2016 DBAのための最新テクノロジー
DBTS2016 DBAのための最新テクノロジーMasaya Ishikawa
 
GMOメディア RHEV-S-事例紹介
GMOメディア RHEV-S-事例紹介GMOメディア RHEV-S-事例紹介
GMOメディア RHEV-S-事例紹介Dai Utsui
 

Similar to 運用が楽になる分散データベース Riak (20)

Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
 
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
 
KOBE IT FESTIVAL 2012
KOBE IT FESTIVAL 2012KOBE IT FESTIVAL 2012
KOBE IT FESTIVAL 2012
 
Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!
 
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
 
Datastax Enterpriseをはじめよう
Datastax EnterpriseをはじめようDatastax Enterpriseをはじめよう
Datastax Enterpriseをはじめよう
 
[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...
[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...
[db tech showcase Sapporo 2015] A12:DBAが知っておくべき最新テクノロジー: フラッシュ, ストレージ, クラウド b...
 
Apache spark 2.3 and beyond
Apache spark 2.3 and beyondApache spark 2.3 and beyond
Apache spark 2.3 and beyond
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
 
[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔
[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔
[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔
 
Tech deepdive#2 datastore_180317_share
Tech deepdive#2 datastore_180317_shareTech deepdive#2 datastore_180317_share
Tech deepdive#2 datastore_180317_share
 
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
 
Db2 Warehouse セッション資料 db tech showcase
Db2 Warehouse セッション資料 db tech showcase Db2 Warehouse セッション資料 db tech showcase
Db2 Warehouse セッション資料 db tech showcase
 
もうSQLとNoSQLを選ぶ必要はない!? ~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!? ~両者を備えたスケールアウトデータベースGridDB~もうSQLとNoSQLを選ぶ必要はない!? ~両者を備えたスケールアウトデータベースGridDB~
もうSQLとNoSQLを選ぶ必要はない!? ~両者を備えたスケールアウトデータベースGridDB~
 
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
 
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたデータベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみた
 
Riak meetup tokyo idcf 20130312
Riak meetup tokyo idcf 20130312Riak meetup tokyo idcf 20130312
Riak meetup tokyo idcf 20130312
 
DBTS2016 DBAのための最新テクノロジー
DBTS2016 DBAのための最新テクノロジーDBTS2016 DBAのための最新テクノロジー
DBTS2016 DBAのための最新テクノロジー
 
GMOメディア RHEV-S-事例紹介
GMOメディア RHEV-S-事例紹介GMOメディア RHEV-S-事例紹介
GMOメディア RHEV-S-事例紹介
 

Recently uploaded

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Recently uploaded (10)

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

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

  • 2. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. 自己紹介 •  佐藤貴彦 •  2013年7月より Basho ジャパン株式会社 •  前職も製品ベンダーで、RDBMSや分散キャッシュ製品を 中心とした、コンサルティングを担当 •  インフラ大好き •  著書(共著) •  絵で見てわかるITインフラの仕組み
  • 3. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Basho Technologies, Inc •  設立:2008年1月設立 •  本社:マサチューセッツ州ケンブリッジ •  製品 •  分散データベース Riak •  分散型クラウドストレージ RiakCS
  • 4. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. オープンソース版 エンタープライズ版 ・複数クラスター間レプリケーション   ・SNMP  /  JMXサポート   ・Bashoのエンジニアによるサポート   Riak と Riak CS 分散型クラウドストレージ分散データベース +
  • 5. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED.
  • 6. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. 理想のシステム 「どんな故障が起こっても データを常に整合させつつ  サービスも止まることはない  システム」 は存在しません   = CAP定理
  • 7. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riakの設計ポリシー •  Amazon Dynamo論文をベースに設計された分散KVS •  以下に重点を置いている •  可用性(Availability) •  耐障害性(Fault-tolerance) •  運用の容易性(Operational simplicity) •  スケーラビリティ(Scalability)
  • 8. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Dynamo 論文より •  Dynamo: Amazon’s Highly Available Key-value Store •  可用性第一:常に書き込みができること → 書き込み時ではなく、読み込み時に整合性チェック → 例:ECサイトで常にショッピングカートを動かしたい •  一貫性の考え方:Eventual Consistency → AP優先だが、チューニング可能 •  レイテンシの考え方: → 99.9パーセンタイルの応答を一定時間内に返す
  • 9. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riakは Erlang/OTP上で動作 •  クラスタリングやノード間のメッセージングなどは、 Erlang/OTPにまかせている •  Erlang/OTPとは? •  元々はエリクソン社が電話交換機プログラムのために開発。 「分散環境」「耐障害性」「無停止動作」を目的とした システムを構築できるように設計されている。 Riakを使ったシステムもこの恩恵を享受できる
  • 10. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riak概要  
  • 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. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. RiakのデータとRDBのデータ比較 12 RDBのデータ構造 Riakのデータ構造 Key/Value Bucket Key Value Record(行) Table (表) PK
  • 13. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riakノードとは •  1つのRiakノードは、OSプロセス上は1つのErlangプロセス •  1つの物理サーバーにつき、1Riakノードを起動 •  GCを気にして複数プロセスに分けるといった必要はない ノード1 ノード2 物理サーバー1 物理サーバー2
  • 14. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. •  データは Riak によって自動的に分散配置される •  ユーザーはデータがどこにあるかを意識する必要はない データの自動分散配置 サーバー何台あっても 気にならないよ! 14
  • 15. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. 自動クラスタリング •  クラスタの参加離脱(サーバーの追加削除)はコマンド を実行すればあとは自動的に行われる •  すべてのサーバーは対等な関係(マスターレス)であり 単一障害点(SPOF)が無い 15 クラスタに 参加させて!僕らは皆対等な 関係です!
  • 16. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. データの自動再配置 •  サーバー追加時などは自動でデータの再配置が行われる 16
  • 17. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. •  データの更新時は、異なるRiakノードに自動複製される •  デフォルト設定では3つのサーバーにデータを保存 •  つまり2重障害(ディスク障害)でもデータが失われない データの自動レプリケーション 1 2 3 更新 17
  • 18. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. •  アクセスできないサーバーへの問い合わせはスキップ •  一時的に他のサーバーが受け持つ 故障ノードの自動回避 しばらく代理を 引き受けます更新 18 1 2 3
  • 19. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. •  障害などで失われたデータの複製は自動復旧される データの自動復旧 19
  • 20. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. クラスタ間自動レプリケーション •  複数のRiakクラスタ間でデータのレプリケーション •  DRサイトの作成を実現 •  Riak の Enterprise版でのみ提供 関東クラスタ 関西クラスタ(DRサイト) 20
  • 21. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. つまり もし夜中にノードが落ちたら? 夜はゆっくり寝て、翌朝対応!
  • 22. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riak  詳細  
  • 23. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. 仮想ノード(vnode) •  Riakノードの内部はさらにvnodeと呼ばれる仮想ノード •  実際のデータは、Keyから計算されたハッシュ値により 処理されるvnodeが決定される vnode vnode vnode vnode vnode vnode vnode vnode Riakノード(OSプロセス)
  • 24. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. 仮想ノード(vnode)のデータ •  vnode内のデータはファイルシステム上に保存される •  vnodeと同じ数だけ各ノードに配置される node1 node2 node3 node4
  • 25. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. 1つのパーティションを 1つのvnodeが担当 Riakにおける仮想ノードとRing hash(bucket/key) から160bitのハッシュ値を計算 02 - 1 160 160bitのハッシュ空間を、P個の パーティション(範囲)に分解 vnode この範囲のデータは 僕が担当します。
  • 26. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. 1つのパーティションを 1つのvnodeが担当 Riakにおける仮想ノードとRing hash(bucket/key) から160bitのハッシュ値を計算 例)P=32 の場合 32個のパーティションを 32個のvnodeで配分 160bitのハッシュ空間を、P個の パーティション(範囲)に分解 Ring vnode この範囲のデータは 僕が担当します。 02 - 1 160
  • 27. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riakにおける仮想ノードとRing hash(bucket/key) から160bitのハッシュ値を計算 vnode この範囲のデータは 僕が担当します。 160bitのハッシュ空間を、P個の パーティション(範囲)に分解 Ring 1つのパーティションを 1つのvnodeが担当 node3 node2 node1 node4 02 - 1 160 例)P=32, 4ノードの場合 32個のパーティションを 32個のvnodeで配分し、 4つのRiakノードで配分。
  • 28. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riakにおける正常時の挙動  
  • 29. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. 書き込み(put)時の挙動 •  Riakノードにデータがputされるとき、 N個の複製を生成する(default N=3)。 •  複製は隣接するvnodeに保存される。 (隣接するvnodeは必ず異なるRiak ノード上にある) → 物理ノード障害に対応 •  W個の保存に成功した時点でクライ アントに応答を返す。(default W=2) •  すべてのノードの応答を待たない。 これはレイテンシを短くするため。 Riak Client node3 node2 node1 node4 put
  • 30. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. 読み込み(get)時の挙動 •  Riakノードからデータをgetする とき、R個のノードが応答を返した 次点で、クライアントに返す (default R=2) Riak Client node3 node2 node1 node4 get
  • 31. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. レプリカの整合性を保つ Quorum-based Protocol •  put/getや、put/putの競合が発生しても 以下の条件を満たせば競合を解決できる •  W+R N → put/getが競合しても、get側は必ず最 新のオブジェクトを得られる •  W N/2 → put/putが競合しても、衝突を知ること ができる。 •  Riakのデフォルト値は N=3, W=2, R=2 •  あとはオブジェクトの時間を比較可能 Riak Client node3 node2 node1 node4 Riak Client put get
  • 32. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. 整合性を保てる例保てない例 •  N=4, W=3, R=2 の場合 W+R N , W N/2 を満たす •  N=3, W=3, R=1 の場合 W+R N , W N/2 を満たす put get put get old new •  N=3, W=2, R=1 の場合 W+R N を満たしていない put get古いデータを読んでしまうかも
  • 33. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. オブジェクトの内部時計 Vector Clocks •  競合が発生した場合、最新オブジェ クトを得るには、どのオブジェクト が最新かを比較する必要がある → オブジェクトのバージョン管理 •  各オブジェクトは「誰」が「いつ」 更新したを記録する、オブジェクト の世界における時計 Vector Clocks を持っている。 •  オブジェクトの系譜をたどれる Riak Client node3 node2 node1 node4 Riak Client 過去 現在 put get
  • 34. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. put時の競合の解決は? LWWとSiblings •  put/putの競合が起こった場合、Vector Clocks で新旧判断がつくなら、新しい方 を残す。判断がつかない場合は? •  Last Write Wins → 後から処理された方を残す。 •  Siblings Vector Clocksからは、新旧判断がつかな いオブジェクトは、両方共残す。   Riak Client node3 node2 node1 node4 Riak Client 事実はなかったことに… put put どちらも最新バージョン
  • 35. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riakにおける障害時の挙動  
  • 36. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. ノード障害時の書き込み挙動 Hinted Handoff •  ノード障害が発生して書き込みが できない場合、一時的に次のノー ドに書き込みに行く。この動作を Handoff と呼ぶ。 •  PUT,GET,DELETEリクエストは、フ ォールバックノードに転送。 put Riak Client node3 node2 node1 node4 フォールバックノードに レプリカが保存される 障害中・・・
  • 37. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. ノード復旧時の書き込み挙動 Hinted Handoff •  障害ノードが復帰した場合、フォー ルバックノードから、あずかって いたオブジェクトを受け取る。 node3 node2 node1 node4 復旧しました
  • 38. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. 障害から復旧しなかったら? Read Repair •  保存データの部分消失があった場合 get時に気がつくことができる。 •  再度複製を生成。 •  vnode間でオブジェクトの最新バ ージョンを維持しようとする。 node3 node2 node1 node4 Riak Client get レプリカ足りない…?
  • 39. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. 自動修復機能 Active Anti-Entropy •  データの複製が失われた状態を、 実際にgetするまで気がつけないこ とは危険。 •  AAE機能により定期的に自動修復 •  vnode単位でデータのハッシュツ リーを持っている。定期的にハッ シュ値の比較を行うことで、デー タ複製間の不整合を検知し、Read Repairを行う。 node3 node2 node1 node4 このvnodeのハッシュだけ 一致しないぞ・・・?
  • 40. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riakデータアクセス  
  • 41. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riakのデータ問い合わせの種類 •  Key/Valueの読み書き •  セカンダリインデックス(2i)によるタグ付け •  MapReduceによる分散処理(複雑なクエリ) •  全文検索 41 get tagA tagB put
  • 42. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. DEMO  
  • 43. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. RiakCS   ちょっとだけ
  • 44. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riak CS の特徴 •  Riak CS は「分散」オブジェクトストレージ •  Riakをベースに作られており、Riakの持つ拡張性、可用性、 耐障害性、運用容易性をそのまま受け継いでいる •  Amazon S3 互換のAPI(NFS、CIFSなどのAPIは持たない) •  Riak CS を使うことで、Amazon S3 互換のクラウドを構 築できる 44
  • 45. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riak 上に作られた Riak CS 45 1MB単位に分割してRiakへ 高可用性があって 拡張できる大きな ストレージとして 使えます
  • 46. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. まとめ  
  • 47. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. まとめ もし夜中にノードが落ちたら? ゆっくり寝て翌朝対応できる。 運用が楽になる分散データベース
  • 48. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Use  Cases  /  Customers  
  • 49. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Riak/Riak CS 適用業界の例 •  小売業(ECサイト) •  医療 •  広告 / マーケティング •  モバイルサービス •  ゲーム •  メディア •  ソーシャルネットワーク •  課金 / 支払い •  セキュリティ •  クラウドサービス 大量データの保存が必要な場合はもちろ ん、非常に高い可用性や耐障害性を求め て弊社製品を使って頂いております! 49
  • 50. ©2013 BASHO TECHNOLOGIES INC.ALL RIGHTS RESERVED. Basho ユーザー 50