Contenu connexe Similaire à ComSys WIP (20) Plus de Shun Nakamura (9) ComSys WIP2. クラウドストレージRDBMSに代わる分散データストア NoSQL, KeyValueStore, document-oriented DB 例: memcached, Google BigTable, Amazon Dynamo, Amazon SimpleDB, Apache Cassandra, Voldemort, Ringo, Vpork, MongoDB, CouchDB, Tokyo Cabinet/Tokyo Tyrant, Flare, ROMA, kumofs, Kai, Redis, HadoopHbase, Hypertable, PNUTS, Scalaris, Dynomite, ThruDB, Neo4j, IBM ObjectGrid, Oracle Coherence, Velocity, …. 従来のRDBMSとの比較 主キーのみでのアクセスに制限 Transactionなどの高機能や複雑なデータ構造を扱わない 緩い一貫性 スケーラブルな設計 9. MyCassandraCassandra with Modular Storage Engines 東京工業大学情報理工学研究科数理・計算科学専攻 中村俊介 Cassandraのストレージエンジンを差し替え可能に Cassandraの分散のしくみ/データモデルはそのまま ワークロードに適した分散データストアを同一システム内で構築 16. レイテンシ: SSTable vs. MySQL Read Latency: MySQLがSSTableの最大49.4%速い Write Latency: SSTableがMySQLの最大41.4%速い (Original) (ms) Better Read Heavy Write Heavy 17. スループット: SSTable vs. MySQL QPS for Read-Heavy: MySQLがSSTableの2.35倍 QPS for Write-Heavy: SSTableがMySQLの5.32倍 (original) Better (Query/Sec) Read Heavy Write Heavy 19. 関連研究 Modularなデータストア Modular Data Storage with Anvil, SOSP ’09 1ノードの話である Cloudy: A Modular Cloud Storage System, VLDB ’10 効果の実証はされていない ストレージエンジンを選択可能なデータストア RDB: MySQLストレージエンジン 分散データストア: Amazon Dynamo, SOSP ’07 全体の性能と永続化の対比はあったが、Read vs. Writeという観点はなかった 21. MyCassandra Cluster課題 レプリカの一貫性 Quorum Protocol (W+R > N) を満たすにはRead/Writeの両方を同期的に行うノードが必要 =>両方速いRedis(オンメモリKVS)を使う 書いてすぐ読むような場合 RedisとMySQLの整合性がとれていないと、SSTableの結果待ち => CassandraはConsistent Levelをクライアント側で決めるので、そこで調整 => 同一Proxy上なら全レプリカへの書き込み未完了フラグを用意 Network Proximityとの両立 参照クエリ先のプライマリノード選択 (同一ラック/DC内のSSTableノード) OR (別ラック/DC内のMySQLノード) ストレージ依存のアクセスによる負荷不均一 =>各ホストに異なるストレージのノードを複数配置