开发者

Where does HBase store all the row keys?

I am working on hbase. I have some questions:

  1. Where does HBase store the row key? Is it in the memory of each region server? O开发者_Python百科r on the disk?

  2. If my row keys are extremely very large, what will happen?

Thanks!


The full row key is stored in every cell, allowing the sparse storage.

That means that the full row will be written for every single row:family:column key. The column names are also stored.

This obviously means that large row/column names will consume a lot of disk space.

A lot of this can be mitigated by using lzo storage: http://wiki.apache.org/hadoop/UsingLzoCompression

Lars George has a very good article about the basic layout of data in hbase(it is a bit old now, but the basic layout is still the same afaik): http://www.larsgeorge.com/2009/10/hbase-architecture-101-storage.html

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜