MyCassandraコトハジメ

4,690 views

Published on

10/11/01にNoSQL Afternoon@楽天タワーで飛び入りで発表させていただきました。今後ともよろしくお願いします。

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,690
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
48
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

MyCassandraコトハジメ

  1. 1. 東京工業大学 Tokyo Tech.<br />中村俊介Shunsuke Nakamura (@sunsuk7tp)<br />
  2. 2. = Dynamo + Bigtable<br />
  3. 3. YCSB(Yahoo Cloud Serving Benchmark)<br />MySQL<br /> Better<br />Cassandra<br />
  4. 4. YCSB(Yahoo Cloud Serving Benchmark)<br /> Cassandra<br /> Better<br />MySQL<br />
  5. 5. ずばりストレージ部分でRead/Write性能が決まる!!<br />(といっても過言ではないのでは….)<br />Expected Property from YCSB Result<br />
  6. 6. Cassandraのストレージ部分をSSTableを<br />MySQLに差し替えてみました<br />イメージ<br />MySQLのストレージエンジン<br />Really?<br />
  7. 7. = Dynamo + Bigtable<br />
  8. 8. = Dynamo +MySQL, etc.<br />東京工業大学情報理工学研究科数理・計算科学専攻<br />中村俊介<br />
  9. 9. JDBC経由でMySQLにアクセスするだけ<br />Data ModelやWorkflowはCassandraのまま<br />JDBCサポートされてるものなら差し替え可能<br />cf. PostgreSQL, Redis, MongoDB, …. <br />Implementation<br />Request<br />ColumnFamilyStore<br />(CommitLog)<br />(Memtable)<br />or<br />JDBC<br />SSTable<br />or<br />or<br />MySQL<br />Redis<br />MongoDB<br />
  10. 10. 小実験:Cassandra vsMyCassandra<br />WorkloadC<br />WorkloadB<br />WorkloadA<br />(ms)<br />
  11. 11. 今やっているところです!!(笑)<br />果たしてノード数 / クライアント数(負荷)に対してスケールするのか否か?!<br />MySQLをK/Vとしてしか使っていないので、もっとスリムでindexingが充実したRDB/永続型KVSの利用<br />VoltDB ? Redis ?<br />HandlerSocket?<br />(教えてください!! )<br />分散環境での実験<br />
  12. 12. NoSQLは分散の仕掛け+ストレージに分離できる<br />MySQL: レプリケーション、クエリパース部分+ストレージ部分<br />ストレージエンジンでTransactionや並行性制御はサポート<br />MemCache: 分散の仕掛け(cf. Consistent Hashing)をClient側で実装<br />分離の利点<br />アプリ開発者の要望に柔軟に対応<br />例) 非集中で参照クエリに適したNoSQLを使いたい<br />通常: 適切なデータストアを探す、もしくは自分で実装<br />=>1つの共通システム内で入れ替えが可能<br />Next NoSQLArchtecture<br />
  13. 13. My Future Work<br />StorageType(SSTable,MySQL,..)ごとにレプリカを用意<br />リクエストのプライマリノードをStorageTypeで決める<br />更新系クエリはSSTableノードに<br />参照系クエリはMySQLノードに<br />課題は一貫性の問題 & v.s. Network Proximity<br />Write<br />Read<br />Proxy<br />Proxy<br />Async Write<br />AsyncRead<br />Redis<br />Redis<br />Sync Read<br />Sync Write<br />SSTable<br />MySQL<br />MySQL<br />SSTable<br />
  14. 14. ご清聴ありがとうございました!!<br />

×