没事时思考了这样一个问题.
hbase这样的key value存储比mongodb为代表document存储有哪些优势呢?
比如在mongodb里的存储的文档(不清楚具体的存储方式)
key1:{attr1:bar,attr2:foo,attr3:barfoo}
存储在hbase中是
key1:attr1:bar
key1:attr2:foo
key1:attr3:barfoo
这样岂不是key1重复占用了存储空间么?
不过考虑需要执行update t set attr2=foofoo where key=key1
那么在mongodb里需要按key查询定位到document,定位attr2的位置,对attr2进行修改(不知道是把document从硬盘上取出来修改然后write回去呢,还是直接在硬盘上定位写)
而在hbase里,只需要进行一次简单粗暴的put操作即可,put后变成
key1:attr1:bar
key1:attr2:foofoo
key1:attr2:foo
key1:attr3:barfoo
也就达到了update的效果
所以hbase的数据模型比mongodb的简单,那么理论上来说,写性能应该强.. :roll: .
大家有什么看法呢?
hbase这样的key value存储比mongodb为代表document存储有哪些优势呢?
比如在mongodb里的存储的文档(不清楚具体的存储方式)
key1:{attr1:bar,attr2:foo,attr3:barfoo}
存储在hbase中是
key1:attr1:bar
key1:attr2:foo
key1:attr3:barfoo
这样岂不是key1重复占用了存储空间么?
不过考虑需要执行update t set attr2=foofoo where key=key1
那么在mongodb里需要按key查询定位到document,定位attr2的位置,对attr2进行修改(不知道是把document从硬盘上取出来修改然后write回去呢,还是直接在硬盘上定位写)
而在hbase里,只需要进行一次简单粗暴的put操作即可,put后变成
key1:attr1:bar
key1:attr2:foofoo
key1:attr2:foo
key1:attr3:barfoo
也就达到了update的效果
所以hbase的数据模型比mongodb的简单,那么理论上来说,写性能应该强.. :roll: .
大家有什么看法呢?