More Related Content Similar to Cassandraのしくみ データの読み書き編 (20) More from Yuki Morishita (11) Cassandraのしくみ データの読み書き編1. - データ読み書き編 - 2010/4/28 Cassandra 勉強会 @yukim の仕組み 2. 翻訳者募集中 ! 森下 雄貴 @yukim Cassandra wiki 翻訳に参加してます http:// wiki.apache.org/cassandra/FrontPage_JP 4. Bigtable + α のリッチなデータモデル Keyspace ColumnFamily Column Column Column Column Column Column Column Column Column Key Key Key ColumnFamily Column Column Column Key Key SuperColumn Column Column Column SuperColumn Column Column Column SuperColumn Column Column Column SuperColumn 5. Dynamo をベースとした P2P の分散ハッシュテーブル キーを元に計算されたトークンがどのレンジに属するかによって、データを保持するノードが決まる。 A D G K O C 6. Dynamo をベースとした P2P の分散ハッシュテーブル レプリケーション戦略に基づいたデータのレプリカを保持する。 Eventual Consistent A D G K O C 8. 操作ごとに制御可能な一貫性レベル W + R > N W: 書き込み時のレベル R: 読み込み時のレベル N: レプリカ数 強い一貫性が得られる ZERO ANY ONE QUORUM (N/2 + 1) ALL ZERO ANY ONE QUORUM (N/2 + 1) ALL Read Write 11. クライアントは一貫性レベルを指定して、データの書き込み ( 登録 / 更新 / 削除 ) 要求をクラスタ内のノードに送信。 要求を受けたノードは、どのノードにデータを保持するかを決定し、要求をフォワードする。 insert batch_mutate remove 書き込み要求 データを保持するノードへ要求をフォワード 29. Bloom Filter 、 Index の活用 Memtable 、 SSTable からの読み込み すべての SSTable ファイルからあるキーを探し出す必要があるため、極力ムダを省きたい。 まず Bloom Filter をチェックし、読み込む SSTable のファイルを絞り込む。