Jai*_*Jai 16 database hadoop hbase sparse-matrix database-schema
最近一直在阅读Hadoop和HBase,并且遇到了这个术语 -
HBase是一个开源,分布式,稀疏,面向列的存储......
稀疏是什么意思?它与稀疏矩阵有关吗?我猜它是可以有效存储的数据类型的属性,因此,想要了解更多.
Pet*_*one 17
在常规数据库中,行是稀疏的,但列不是.创建行时,将为每个列分配存储,而不管该字段是否存在值(字段是为行和列的交集分配的存储).
这允许固定长度的行大大改善了读写时间.可变长度数据类型使用指针模拟处理.
稀疏列将导致性能损失,并且不太可能为您节省大量磁盘空间,因为指示NULL所需的空间小于链接列表样式的链接列表体系结构所需的64位指针通常用于实现非常大的非连续存储.
存储很便宜.表现不是.
HBase 的稀疏确实与稀疏矩阵在相同的上下文中使用。它基本上意味着空字段可以自由存储(就空间而言)。
我发现了几篇博客文章更详细地讨论了这个主题:
http://blog.rapleaf.com/dev/2008/03/11/matching-impedance-when-to-use-hbase/
http://jimbojw.com/wiki/index.php?title=Understanding_Hbase_and_BigTable