NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

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

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

关注

评论

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

C++对象的初始化和清理之构造函数和析构函数分析与实例(一)

CtrlX

c++ 面向对象 后端 代码 8月月更

SRv6网络的安全解决方案

穿过生命散发芬芳

8月月更 SRv6

学生管理系统架构设计

张立奎

Android条件控制宏编译

桑榆

8月月更

目标检测的发展与现状

阿炜小菜鸡

目标检测 8月月更

正畸MIA微种植体支抗技术中国10周年交流会在沈举办

联营汇聚

视频目标检测

阿炜小菜鸡

8月月更 视频目标检测

开源一夏 | 基于若依springboot架构实现数据多维统计

六月的雨在InfoQ

开源 8月月更

基于YOLOV5行人跌倒检测实验

阿炜小菜鸡

8月月更 行人检测

经验分享|盘点企业进行知识管理时的困惑类型

Baklib

python绘制一个时间的七段数码管实例基本的七段数码管绘制

BROKEN

8月日更 8月月更

克服项目管理中恐惧心理

踏雪痕

项目管理 8月月更

【数据挖掘概论】数据挖掘的简单描述

晴天

8月月更

Discourse 清理存储空间的方法

HoneyMoose

多个平台显示IP属地,必须大力推行互联网实名制

石头IT视角

【python小游戏】用python写一款小游戏--贪吃蛇

BROKEN

8月日更 8月月更

Axure9基本交互操作(一)

乔乔

8月月更

七日算法先导(三)—— 快速排序,插入排序

工程师日月

8月月更

【爬虫+可视化】Python爬取疫情并可视化处理数据(爬虫入门案例)

BROKEN

Python 8月月更

Service Mesh落地路径

阿泽🧸

Service Mesh 8月月更

手写分布式配置中心(1)

分享干货的你

java; spring-boot SpringCould 签约计划第三季

知识分享|如何设计有效的帮助中心,不妨来看看以下几点

Baklib

Go 语言快速入门指南:什么是 TLS 安全传输层协议

宇宙之一粟

安全 Go 语言 8月月更

头脑风暴:完全背包

HelloWorld杰少

8月月更

《MySQL入门很轻松》第2章:MySQL管理工具介绍

乌龟哥哥

8月月更

git操作

Jason199

git 8月月更

区块链或者智能合约开发的 5 种最佳编程语言

devpoint

区块链 以太坊 8月月更

那些年,在Linux指令上踩过的坑~

芒果酱

Linux 签约计划第三季

开源一夏 | 云服务器ECS安装Mysql、JDK、RocketMQ

六月的雨在InfoQ

开源 8月月更

Nacos配置中心之客户端长轮询

急需上岸的小谢

8月月更

工业物联网 —— 新型数据库的召唤

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

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