key value和document类型的nosql数据库的思考

没事时思考了这样一个问题.
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的简单,那么理论上来说,写性能应该强.. .

大家有什么看法呢?

猜你喜欢

转载自kabike.iteye.com/blog/2146112