Bigtable中稀疏表的稀疏和目的是啥?

Posted

技术标签:

【中文标题】Bigtable中稀疏表的稀疏和目的是啥?【英文标题】:What is sparse and purpose of sparse table in Bigtable?Bigtable中稀疏表的稀疏和目的是什么? 【发布时间】:2015-11-21 11:17:47 【问题描述】:

我有一些信息,但我不明白。

Bigtable 可以理解为稀疏表。 大多数单元格包含空值 - 太稀疏而无法将其存储在关系数据库系统中。 Bigtable 而是实现了一个多维稀疏映射。

是不是特殊属性,表和稀疏表有什么区别?

【问题讨论】:

【参考方案1】:

稀疏表是不需要在每个(行、列)交叉点存储条目的表,可以称为“单元格”;相反,它只存储明确写入的内容。

例如,如果您有一个有 500 行和 30 列的表,其中每一行仅在其中一列中有一个条目,而不是存储 500 × 30 = 15000 个单元格,其中大部分是空字符串或 null ,您只需要存储 500 × 1 = 500 个单元格,这样可以节省大量资金。

由于 Bigtable 表可能有数十亿、数万亿或更多行和数百或数千列,因此可以显着节省存储空间。

另见其他相关的稀疏数据结构:

Sparse matrix Sparse array

【讨论】:

以上是关于Bigtable中稀疏表的稀疏和目的是啥?的主要内容,如果未能解决你的问题,请参考以下文章

稀疏哈希表背后的主要实现思想是啥?

Flink-BigTable - 任何连接器?

如何报告稀疏事实表的稀疏区域

在 Julia 中定义一个非常稀疏的网络矩阵的最有效方法是啥?

从长(且合理)稀疏向量中选择随机元素的最有效方法是啥?

在给定稀疏矩阵数据的情况下,Python 中计算余弦相似度的最快方法是啥?