在所有 HBase 文章和书籍中,它都提到了以下关于 HFiles 中的 Meta 和 FileInfo 块:-
“元数据块的设计目的是保存大量数据,其键为字符串,而 FileInfo 是一个简单的映射,首选用于键和值都是字节数组的小信息。”或“元数据块很昂贵。填充一个有一堆序列化数据,而不是为每个元数据实例做一个元数据块。如果元数据很小,请考虑添加到文件信息“
我想了解它为什么这么说。什么是设计逻辑,因为大数据应该保存在 Meta 中,而小数据应该保存在FileInfo
.
我想知道这一点的原因是我们在项目的FileInfo中存储了一些信息。然而,随着时间的推移,我们存储的信息开始增长,我们现在在 FileInfo 中拥有多达 15-20MB 的数据。从上面的文字看来,我们不应该这样做。但我们甚至不知道它对我们的系统造成了什么影响(如果有的话)。
有人可以对此有所了解。我查看了HFile
和FileInfo
代码,找不到任何明显的原因。