top 寫:
請教先進,
目前想架 hbase 於 hdfs 上,
1. 但有個疑問: hadoop 技術手冊一書Ch 13 Hbase 中提到:
"若要即時讀寫或隨機存取海量資料時, 就合適使用 Hbase 這個在 hadoop 應用."
但hbase 架構於 hdfs 上, 而 hdfs 有個特性 write once read many , file 只能追加 .
所以這邊 hbase 做 write 時, 只能 append 囉?! 是這樣嗎 ? (因為 hbase 的 file 是存放於 hdfs , right?) 不知我的觀念有無錯否.
2. 另請教, hbase and Cassandra 在架設(設定)與使用上, 何者比較簡單?
thanks!!
1. 不全然只有 Append 一途。因為 HBase 有 Version 的概念,每個 Version 有可能寫入不同檔案,
因此只有當 row key 相同時,才會發生 Append 的情形。
2. 就設定複雜度而言,Cassandra 比較簡單,HBase 因為相依 Hadoop,所以等於要設定兩套系統。
使用上兩者都是 Key-Value Store,相較於 SQL 簡單,但不見得易用。
這句話聽起來有點詭異,但因為 Key-Value Store 的語法只有 set, get, delete,
所以如果要做 JOIN, 需要 LIKE 這種模糊搜尋,無論是 HBase 或 Cassandra 都得自己找其他方式來補強。
- Jazz