SlideShare a Scribd company logo
C3-3読み出し性能と書き込み性能を選択可能なクラウドストレージ中村俊介 首藤一幸東京工業大学
クラウドストレージ:RDBMSに代わる大規模な分散データストアC3-3NoSQL, key-value store, 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, Yahoo! PNUTS, Scalaris, Dynomite, ThruDB, Neo4j, IBM ObjectGrid, Oracle Coherence, Velocity, ….従来のRDBMSとの比較主キーのみでのアクセスに制限Transactionなどの高機能や複雑なデータ構造を扱わない緩い一貫性大規模なデータに対してスケールしやすい設計
クラウドストレージとしてのRDBMSC3-3あらゆるワークロードにおいて新しいクラウドストレージが従来のRDBMSより優れているわけではないRead-HeavyなワークロードはMySQLの方が優れている Write-Heavyワークロードの更新遅延 Read-Heavyワークロードの参照遅延NoSQLBetterMySQLBetterKVS as MySQLNoSQLMySQLKVS as MySQL YCSB, SOCC ’10
C3-3永続型クラウドストレージの設計書き込み性能重視 vs. 読み出し性能重視既存の永続型クラウドストレージはwrite/read片方の性能に偏っている同じデータストアで様々なワークロードに対応したいCassandraの特徴を持った読み出し性能重視クラウドストレージ=> 他のソフトウェアとの組合せ・自分で新たに実装が現状
研究の概要C3-3成果同じクラウドストレージ内で書き込み性能と読み出し性能を選択可能にしたApache Cassandraに実装し、実証した手法分散データストアを分離分散の仕組み + ストレージエンジンストレージエンジンを別のものに選択可能に
Apache CassandraC3-3Facebook, Diggに導入されているクラウドストレージ特徴単一故障点の無い非集中型分散データストア高速な書き込み処理複数データセンターにまたがる数百ノードでの動作を想定Consistent Hashing(非集中分散アルゴリズム)データの主キーHash値により、そのデータの担当ノードが一意に定まる全ノードが全部やる Request Proxy
 DataのPrimary Node
別DataのSecondary NodeGoogle Bigtable由来のストレージエンジン~書き込み~C3-3永続性を保ちつつ, 書き込み性能を重視Bigtable: 行の差分をDiskにはSequential WriteDiskへのランダムI/Oは発生しないので非常に高速Always WritableDiskに書かれた内容はWrite-Lockが不要CassandraノードMap<key,ColumnFamily>MemtableMemoryDiskwriteSSTableCommitLogSequential
Google Bigtable由来のストレージエンジン~読み出し~C3-3指定されたkeyに対して, Memtable上の最新valueSSTable上の複数の古いvalueをマージ読み出し性能は犠牲になる複数回のDisk I/OCompactionやIndex, Bloom Filterで性能の劣化をカバーCassandraノードMap<key,ColumnFamily>readMemtableMemoryDisk複数回のDisk Random I/Oが必要SSTableCommitLog<k, CF1><key, CF2><key, CF3>
C3-3MyCassandra~Cassandra with Modular Storage Engines~東京工業大学情報理工学研究科数理・計算科学専攻中村俊介Cassandraのストレージエンジンを差し替え可能にCassandraの分散のしくみ/データモデルはそのまま様々なワークロードに適した分散データストアを構築可能InnoDBMyISAMMemoryMySQL: 用途によってストレージエンジンが差し替え可能なRDBMSMyCassandra: 用途によってストレージエンジンが差し替え可能なクラウドストレージ
MyCassandra: 実装C3-3東京工業大学情報理工学研究科数理・計算科学専攻中村俊介リクエスト受理と各ストレージエンジンとの間にStorage Engine Interfaceを配置ストレージエンジンの追加JDBCなど汎用的なドライバを用いて以下を実装Connection / Put / Get
性能評価C3-3ストレージエンジンの選択によって、読み出し/書き込み性能重視を切り替えられることを確認する測定手段YCSB (Yahoo!  Cloud Serving Benchmark) [SOCC ’10]ストレージエンジンBigtable (original), MySQL (InnoDB), Redis (オンメモリKVS)ベンチマーク内容MyCassandra×6台、YCSB Client×1台用意1KBのvalues(100[Bytes]×10[columns])+keyから成るレコードを2,400万件ロード測定するワークロードでメモリ上キャッシュのウォームアップYCSBの各ワークロードを実行YCSB Statでスループットとクエリ種類別のレイテンシを計測
YCSBワークロードの種類C3-3以下4種類を測定WriteHeavyReadHeavy(※) Zipfian分布:  データ鮮度とは関係なく人気が持続一部がヘッド / 大多数がテール
レイテンシ: Bigtable vs. MySQLC3-3(Original)Write: BigtableがMySQLの41.4%(オンメモリKVS)Better0%50%100%5%Read: MySQLがBigtableの36.3%Better0%50%95%100%(ms)
C3-3スループット: Bigtable vs. MySQLQPS for Read-Heavy: MySQLがBigTableの2.35倍QPS for Write-Heavy: BigtableがMySQLの5.32倍(original)(オンメモリ)Better0:10050:505:95100:0想定通り、ストレージエンジンの入れ替えで、書き込み/読み出し性能の性質が大きく変わる(query/sec) Write Heavy Read Heavy
まとめと今後の課題C3-3クラウドストレージのread/write性能はストレージエンジンに大きく依存することを実証・評価同一システム上でストレージエンジンの選択によりWorkloadに適したクラウドストレージに課題MyCassandra Cluster: 異なるストレージエンジンの組み合わせによるread/write性能の両立
関連研究ModularなデータストアModular Data Storage with Anvil, SOSP ’091ノードの話で、分散環境を対象としていないCloudy: A Modular Cloud Storage System, VLDB ’10実験評価はされていないストレージエンジンを選択可能なデータストアRDB: MySQLストレージエンジン分散データストア: Amazon Dynamo, SOSP ’07全体の性能と永続化の対比はあったが、読み出し vs. 書き込みという観点はなかったC3-3
Any Questions?C3-3東京工業大学情報理工学研究科数理・計算科学専攻中村俊介モジュラーなクラウドストレージ
ワークロードに応じて足回りを変更可能
組合せで両立も可能 (今後・評価済)Cassandra: 遅延の分布【予備1】writeとreadを同比率のワークロードで100万件測定レプリカ数: 3データロード数: 2,000万件Write vs. Read (YCSB Benchmark)Read平均6.16msBetterリクエスト数Write平均0.69ms0100101000Latency (msec)
MyCassandra: Storage Engine Interface【予備2】各ストレージのJava APIを用いて初期化(DBの接続)とput / get関数を実装するだけ
スループット: HDD vs. SSD【予備3】(qps)(qps) HDDとSSDで性能の傾向は同じ今後: read/write性能の両立~MyCassandra Cluster~【予備4】 W: 書き込み性能重視

More Related Content

PPTX
ComSys WIP
PDF
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
PDF
MongoDBご紹介:事例紹介もあり
PDF
DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~
PPTX
HDFSのスケーラビリティとマルチマスタへの取り組み
PDF
Infinispan - Open Source Data Grid rev2
PDF
昨今のストレージ選定のポイントとCephStorageの特徴
PDF
Hadoop によるゲノム解読
ComSys WIP
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
MongoDBご紹介:事例紹介もあり
DBP-011_Apache Spark for Azure HDInsight ~新世代の Big Data 処理基盤~
HDFSのスケーラビリティとマルチマスタへの取り組み
Infinispan - Open Source Data Grid rev2
昨今のストレージ選定のポイントとCephStorageの特徴
Hadoop によるゲノム解読

What's hot (8)

PDF
MongoDB概要:金融業界でのMongoDB
PDF
DynamoDB設計のちょっとした技
PPTX
Cassandra における SSD の活用
PDF
BdasとSpark概要
PPTX
DataStax Enterpriseによる大規模グラフ解析
PDF
分散処理のすゝめ?
PDF
初めてのSQL
PDF
Azure Cosmos DB の整合性レベルについて
MongoDB概要:金融業界でのMongoDB
DynamoDB設計のちょっとした技
Cassandra における SSD の活用
BdasとSpark概要
DataStax Enterpriseによる大規模グラフ解析
分散処理のすゝめ?
初めてのSQL
Azure Cosmos DB の整合性レベルについて
Ad

Similar to 読み出し性能と書き込み性能を選択可能なクラウドストレージ (DEIM2011-C3-3) (14)

PDF
Info talk #36
PDF
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
PDF
Best Practices for Running PostgreSQL on AWS
PDF
Cassandraとh baseの比較して入門するno sql
PDF
Cloudian nosql casestudy_20120318
PDF
[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例
PDF
AWSが誕生するまでの秘話
PDF
InfoTalk springbreak_2012
PDF
[db analytics showcase Sapporo 2018] B13 Cloud Spanner の裏側〜解析からベストプラクティスへ〜
PDF
About NoSQL
PDF
20120409 aws meister-reloaded-dynamo-db
PDF
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
PDF
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
Info talk #36
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
Best Practices for Running PostgreSQL on AWS
Cassandraとh baseの比較して入門するno sql
Cloudian nosql casestudy_20120318
[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例
AWSが誕生するまでの秘話
InfoTalk springbreak_2012
[db analytics showcase Sapporo 2018] B13 Cloud Spanner の裏側〜解析からベストプラクティスへ〜
About NoSQL
20120409 aws meister-reloaded-dynamo-db
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
もうSQLとNoSQLを選ぶ必要はない!?~両者を備えたスケールアウトデータベースGridDB~
Ad

More from Shun Nakamura (9)

PDF
HBase at LINE
PDF
MyCassandra: A Cloud Storage Supporting both Read Heavy and Write Heavy Workl...
PDF
シリコンバレーに行ってきた!
PDF
MyCassandra (Full English Version)
PDF
第17回Cassandra勉強会: MyCassandra
PPTX
MyCassandra
PDF
読み出し性能と書き込み性能を両立させるクラウドストレージ (SACSIS2011-A6-1)
PDF
読み出し性能と書き込み性能を両立させるクラウドストレージ (OS-117-24)
PDF
Cassandra勉強会
HBase at LINE
MyCassandra: A Cloud Storage Supporting both Read Heavy and Write Heavy Workl...
シリコンバレーに行ってきた!
MyCassandra (Full English Version)
第17回Cassandra勉強会: MyCassandra
MyCassandra
読み出し性能と書き込み性能を両立させるクラウドストレージ (SACSIS2011-A6-1)
読み出し性能と書き込み性能を両立させるクラウドストレージ (OS-117-24)
Cassandra勉強会

読み出し性能と書き込み性能を選択可能なクラウドストレージ (DEIM2011-C3-3)