写点什么

William McKnight 谈面向列的数据库

  • 2011-09-10
  • 本文字数:949 字

    阅读完需:约 3 分钟

对于某些业务用例而言,面向列的数据库(columnar database)可提供比传统的关系数据库管理系统(RDBMS)更好的数据存储能力。在不久前召开的 NoSQL Now 2011 大会上,William McKnight 针对面向列的数据库以及如何在某些数据存储需求下有效地利用它们进行了演讲

他说,使用RDBMS 作为解决方案(此类解决方案都是基于行方式设计的。)的数据查询会发送大量数据。数据输入/ 输出(I/O)已成为目前数据处理需求中的真正瓶颈,更好的情形是,当你在那儿的时候能获得更多数据。为了避免这个问题唯一要做的就是解决输入/ 输出瓶颈,这才是你真正需要做的事情。面向列的数据库提供按需挑列的能力,而不是先获取整行,当数据检索完成后其中多列(开销)又不用。在要求工作负载只占整列字节数很小百分比的使用情况下,面向列的数据库可提供更好的解决方案。

在面向列的数据库中,数据存储在所有列保持同一顺序的多列中。William 讨论了关系数据库记录的数据页面布局,并与列数据库表进行了比较。在这种行页设计(在RDBMS 数据库中)中存在一些开销,因为进行数据查询时会用到行扫描或索引扫描,而且让所有数据都参与其中可能是个昂贵的选择。他展示了一个数据查询实例,在基于行的数据库中完成此查询用了50 万次输入/ 输出,而在面向列的数据库中仅用了235 次输入/ 输出。

有许多不同的面向列的数据存储选项可供使用,例如,分解存储模型(Decomposed Storage Model)、位置表示法(Positional Representation)、改良的B 树/ 行长度加密(Modified B-Tree/Row Length Encryption)、以及位图(Bitmap)。他还谈到了物化(materialization)策略,其中包括“投影”功能(Function of ‘projection’)、早期和晚期物化(Early and Late Materialization)。

一些面向列的数据库厂商有 Vertica ParAccel Sybase IQ InfoBright 、Exasol、VectorWise,还有些开源产品,例如 MonetDB InfiniDB

William 说,基于关系行的数据仓库(data warehouse)和数据集市(data mart)将仍然存在。除了数据仓库和 Hadoop 之外,你将拥有以快得多的速度来处理数据的面向列的数据库。他在结束发言时说道,数据库设计者应该从良好的设计原则入手,然后决定你想把数据放在基于行还是基于列的解决方案中。

查看英文原文: William McKnight on Columnar Databases

2011-09-10 23:132673
用户头像

发布了 55 篇内容, 共 19.1 次阅读, 收获喜欢 1 次。

关注

评论

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

Apache 海豚调度 PMC 郭炜:开源,不是天才的甜点,而是执着者的盛宴 I OpenTEKr 大话开源 Vol.7

OpenTEKr

大话开源

FunTester2021年总结

FunTester

性能测试 测试框架 测试开发 年终总结 FunTester

[架构实战营] 模块八作业

危险游戏

架构实战营

尚硅谷喜获央广网2021年度公信力教育品牌

编程江湖

教育

架构模块三作业

holdzhu

「架构实战营」

Kafka往事——Kafka的诞生

Kafka中文社区

模块三-学生管理系统详细架构设计

圈圈gor

架构实战 「架构实战营」

外包学生管理系统详细设计文档

guodongq

「架构实战营」

成都成都-01

wood

成都 28天写作

移动办公时代,数智化平台如何赋能企业管理升级?

BeeWorks

Java 数据持久化系列之池化技术

程序员历小冰

MySQL 持久化 28天写作 池化技术 12月日更

如何设计贴合业务的高性能高可用中间件系统

天天向上

架构实战营

外包学生管理系统架构设计文档

李晓笛

「架构实战营」

作业

AUV

「架构实战营」

做个总结

为自己带盐

28天写作 12月日更

「架构实战营」模块三《如何保证设计出合理的架构》作业

DaiChen

作业 模块三 「架构实战营」

元宇宙100讲-0x011

hackstoic

元宇宙

“学生管理系统”架构文档

CH

#架构实战营

攻略 | 如何实现一个满足业务需求的流程设计器

全象云低代码

typescript 前端 低代码 流程

040022-week8-design

InfoQ_70156470130f

C++对象的底层原理都在这儿了,还敢说学不会?

博文视点Broadview

第三模块学习总结

Anlumina

#架构实战营

瞰见 | 初创1个月就融到3亿美金,ClickHouse 你凭什么?

OpenTEKr

狄安瞰源

Prometheus Exporter (三十四)JSON Exporter

耳东@Erdong

json Prometheus 28天写作 exporter 12月日更

谈谈MemoryCache原生插值方式

喵叔

28天写作 12月日更

架构实战营第三模块作业

墨宝

盘点 2021|自己一个人扛起了公司的半边天

liuzhen007

技术人生 盘点2021 盘点 2021

netty系列之:请netty再爱UDT一次

程序那些事

Netty 程序那些事 12月日更 UDT

架构实战营模块四作业

Poplar

#架构实战营

模块三作业

novoer

「架构实战营」

模块三作业——学生管理系统详情设计

黄秀明

架构实战营

William McKnight谈面向列的数据库_DevOps & 平台工程_Srini Penchikala_InfoQ精选文章