| 47 | |
| 48 | == 分散式資料庫效能 == |
| 49 | |
| 50 | * [benchmark] [http://wiki.github.com/brianfrankcooper/YCSB/ Yahoo! Cloud Serving Benchmark (YCSB)] - [http://research.yahoo.com/node/3202 論文: Benchmarking Cloud Serving Systems with YCSB] |
| 51 | * Yahoo 寫的效能測試軟體,YCSB 1.2 版支援 HBase, Cassandra, MongoDB |
| 52 | * 從[http://www.brianfrankcooper.net/pubs/ycsb-socc-talk.ppt 論文簡報投影片]得到的[http://www.brianfrankcooper.net/pubs/ycsb-v4.pdf 結論]注意到幾件事情: |
| 53 | * 若資料庫特性是一半讀一半寫,MySQL 大約在 7500 operations/sec 時會到達效能極限。若資料庫特性是 95% 讀 5% 寫,就沒看到明顯效能極限。 |
| 54 | * HBase 寫入飛快,但讀取會稍微慢一點,而且讀取的效率不太線性。(寫入記憶體所以超快,但成本也比較高,查詢時重建紀錄) 加機器時,不會有明顯的效能差異 (跟 HDFS 一樣,要跑 balancer 才會搬資料)。 - Low Update Latency, Higher Read Latency |
| 55 | * Cassandra 寫入稍微慢一點,讀取則比 HBase 快,特別是資料庫特性是 95% 讀取時比 HBase 快。加機器的時候,會需要一段時間才能讓效能穩定下來(這部分我覺得是副本架構造成的)。 |
| 56 | * [[Image(NCHCCloudCourse100928:cassandra_hbase_update_heavy.png,width=800)]] |
| 57 | * [[Image(NCHCCloudCourse100928:cassandra_hbase_read_heavy.png,width=800)]] |
| 58 | * [[Image(NCHCCloudCourse100928:cassandra_hbase_short_scans.png,width=800)]] |
| 59 | * [[Image(NCHCCloudCourse100928:cassandra_hbase_scale_up.png,width=800)]] |
| 60 | |