10

我正在学习列存储索引(Denali CTP3 功能)并了解它使用 VertiPaq 架构进行数据压缩。我很想知道它是什么,它是如何工作的,它是架构。我检查了谷歌,但没有令人满意的结果。任何人都可以让我详细了解它是什么,它是如何工作的,这背后的算法/架构等。

以及它如何帮助数据压缩

4

2 回答 2

6

我为此写了一篇博文,希望能回答您关于列存储索引的问题: http ://www.jamesserra.com/archive/2011/08/sql-server-%e2%80%9cdenali%e2%80%9d -阿波罗计划/

如果您仍有疑问,请告诉我。

于 2011-09-05T21:24:20.173 回答
1

以及它如何帮助数据压缩

压缩部分效果很好,因为同一列中的数据通常变化不大。例如(简化)一个存储来自多 (4) 个选择输入的值的列。即使表中有 800 万条记录,列存储中也只有 4 个唯一值。这使得列值更容易压缩。这反过来使索引更容易放入内存,从而更快地查询。

当数据以列方式存储时,数据通常可以比以行方式存储时更有效地压缩。通常,列内的冗余比行内的多,这通常意味着数据可以压缩到更大程度。当数据压缩程度更高时,将数据提取到内存所需的 IO 更少。此外,大部分数据可以驻留在给定大小的内存中。减少 IO 可以显着加快查询响应时间。在内存中保留更多工作数据集将加快访问相同数据的后续查询的响应时间。

资料来源:有关列存储技术的更多详细信息

于 2012-04-11T19:37:49.247 回答