写点什么

SQL Server 2014 新聚合 columnstore 索引介绍

  • 2013-09-30
  • 本文字数:760 字

    阅读完需:约 2 分钟

在 SQL Server 2012 中,开发者有创建 columnstore 索引的选项。这些索引拥有提供 10x 性能提升和超过传统表 7x 压缩的潜力,但是随之也带来了大量的限制。这其中最重要的是他们将基本表送入只读模式的事实。

SQL Server 2014 中的这个新存储引擎克服了这些限制。该引擎被称为聚合columnstore 索引,它允许高度有效的列有序的数据,同时还允许表在执行DML 操作(例如INSERT、UPDATE 和DELETE)的时候正常运作。

就像正常的聚合索引一样,聚合columnstore 索引定义了数据在磁盘上是如何物理存储的。columnstore 支持的表首先会被组织成称为行组(rowgroup)的片段。每一个行组保存102400 到1048578 行数据。在行组被识别出来之后,它就会被打碎成列片段(column segments),然后对这些列片段进行压缩,并将结果插入到实际的columnstore 中。

在处理少量数据(这里的少量指小于10 万行数据)的时候,这些数据会被组织到一个称为deltastore 的部分。一旦这些数据达到了deltastore 能够将其排出的最小大小,那么它们就会被处理为一个新的行组。你可以从下面的MSDN 图表中查看这个过程:

在deltastore 进行转换的时候它会被关闭。但是无论如何这并不是一个全表阻塞操作。在当前的deltastore 因为锁的原因不能访问的时候,会为给定的表创建一个额外的deltastore。如果表是分区的,那么每一个区都会有它自己的deltastore 集。

术语上的注意:Microsoft 现在使用“rowstore”表示按照行和列安排的传统表。deltastore 实际上是一种类型的rowstore。

和之前版本的columnstore 索引不同的是,聚合版本必须包含表中的所有列。这是因为对于剩下的行而言没有其他的堆或者聚合索引去依赖。事实上,聚合columnstore 索引根本不能和其他类型的索引结合。

查看英文原文 Introducing SQL Server 2014’s New Clustered Columnstore Indexes

2013-09-30 06:042841
用户头像

发布了 321 篇内容, 共 132.9 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

Thanos 架构剖析(五)历史数据怎么办

耳东@Erdong

Thanos 签约计划第二季 compactor

阿里云 FaaS 架构设计与创新实践

阿里巴巴云原生

阿里云 Serverless 云原生 Faas

学习源码整体架构系列 | 前端

若川

内容合集 签约计划第二季 技术专题合集

Volatile 原理七:volatile都不保证原子性,为啥我们还要用它

悟空聊架构

volatile 原子性 28天写作 悟空聊架构 12月日更

你还在一个挨一个的删除镜像文件吗?

liuzhen007

28天写作 12月日更

Go 语言快速入门指南 【专题合集】

宇宙之一粟

Go 内容合集 签约计划第二季 技术专题合集

创业研发团队的氛围营造

wood

创业 管理 28天写作

广州站 | 云原生 Serverless 技术实践营精彩回顾

阿里巴巴云原生

阿里云 Serverless 云原生 线下活动

【Spring Boot 快速入门】七、Spring Boot集成RabbitMQ

小阿杰

RabbitMQ SpringBoot 2 内容合集 签约计划第二季

Go 语言快速入门指南:第四篇 与数据为舞之数组

宇宙之一粟

数组 签约计划第二季 12月日更

Python Qt GUI设计:窗口之间数据传递(拓展篇—5)

不脱发的程序猿

Python qt PyQt GUI设计 窗口之间数据传递

和12岁小同志搞创客开发:手撕代码,做一款遥控灯

不脱发的程序猿

少儿编程 DIY 智能硬件 创客开发 Arduino

面试官:StringBuilder与TextWriter有什么区别

喵叔

28天写作 12月日更

聊天与学习

将军-技术演讲力教练

架构实战营模块二学习总结

张扬

1-10聚合架构第十一讲:不服?那得治!

钰湚—付晓岩

Thanos 架构剖析(六)告警规则如何管理

耳东@Erdong

Thanos 签约计划第二季 Rule

拆解&组合

圣迪

数据 创新 组合 拆解 要素

Go 语言快速入门指南:第三篇 流程控制

宇宙之一粟

for 流程控制 swith 签约计划第二季 if语句

神工鬼斧惟肖惟妙,M1 mac系统深度学习框架Pytorch的二次元动漫动画风格迁移滤镜AnimeGANv2+Ffmpeg(图片+视频)快速实践

刘悦的技术博客

人工智能 机器学习 深度学习 PyTorch 图像处理

模块2作业

miliving

腾讯新闻基于 Flink PipeLine 模式的实践

腾讯云大数据

flink pipeline 流计算 Oceanus

【Spring Boot 快速入门】六、Spring Boot集成Redis

小阿杰

redis SpringBoot 2 内容合集 签约计划第二季

重学计算机组成原理(4)-还记得纸带编程吗?

JavaEdge

12月日更

和12岁小同志搞创客开发:手撕代码,做一款数字骰子

不脱发的程序猿

少儿编程 DIY 智能硬件 创客开发 Arduino

Go 语言快速入门指南:第五篇 与数据为舞之切片

宇宙之一粟

golang slices 切片 签约计划第二季 12月日更

每一天

Nydia

对上管理

张老蔫

28天写作

Hystrix

李子捌

微服务 28天写作 12月日更

架构实战营模块二作业

张扬

45 K8S之系统扩展CRD/自定义API Server

穿过生命散发芬芳

k8s 28天写作 12月日更

SQL Server 2014新聚合columnstore索引介绍_大数据_Jonathan Allen_InfoQ精选文章