HBase在哪里存储所有行键?

时间:2011-08-05 12:39:04

标签: hbase

我正在研究hbase。我有一些问题:

  1. HBase在哪里存储行密钥?它是在每个区域服务器的内存中吗?还是在磁盘上?

  2. 如果我的行键非常大,会发生什么?

  3. 谢谢!

1 个答案:

答案 0 :(得分:2)

完整的行键存储在每个单元格中,允许稀疏存储。

这意味着将为每一行写入完整行:family:column key。列名也存储。​​

这显然意味着大的行/列名称将占用大量磁盘空间。

使用lzo存储可以减轻很多这种情况: http://wiki.apache.org/hadoop/UsingLzoCompression

Lars George有一篇关于hbase中数据基本布局的非常好的文章(它现在有点陈旧,但基本布局仍然是相同的): http://www.larsgeorge.com/2009/10/hbase-architecture-101-storage.html