什么是VertiPaq及其工作原理

时间:2011-09-01 03:07:29

标签: sql sql-server tsql sql-server-2012

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

它如何帮助进行数据压缩

2 个答案:

答案 0 :(得分:4)

我写了一篇博文,希望能回答你关于列商店索引的问题: http://www.jamesserra.com/archive/2011/08/sql-server-%e2%80%9cdenali%e2%80%9d-project-apollo/

如果您仍有疑问,请与我们联系。

答案 1 :(得分:1)

  

它如何帮助进行数据压缩

压缩部分运行良好,因为同一列中的数据通常不会有太大变化。想象一下,例如(简化)一个存储来自多(4)个选择输入的值的列。即使表中有800万条记录,列存储中也只有4个唯一值。这使得列值更容易压缩。这反过来使索引更容易适应内存,因此查询速度更快。

  

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

来源:More details on columnstore technology