写点什么

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:132690
用户头像

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

关注

评论

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

90后程序员小姐姐在线征婚!年薪70w!拥有五套房!她却担心自己因为年龄大嫁不出去!

程序员生活志

程序员

更改用户host留下的坑

Simon

MySQL

PM2 管理node.js开机自启动(非root用户)

不会写诗的王维

node.js

[8.20]leetcode每日一题,

一起搞稽

算法 DFS

基于Ambari的大数据平台搭建

数据社

大数据 hadoop ambari

LeetCode题解:66. 加一,倒序遍历+可中途退出,JavaScript,详细注释

Lee Chen

大前端 LeetCode

芯片破壁者(十三):台湾地区半导体的古史新证

脑极体

Spring-技术专题-Bean的生命周期简介

洛神灬殇

spring

因为套用这个模板,我成了公司最佳员工

华为云开发者联盟

网站架构 华为云 网站搭建 匀速建站 SEO

性能优化-技术专题-top和jstack分析高CPU问题

洛神灬殇

JVM

MySQL-长事务详解

Simon

MySQL mysql事务

【API进阶之路】逆袭!用关键词抽取API搞定用户需求洞察

华为云开发者联盟

接口 软件开发 API 华为云 API Explorer平台

Linux Page Cache调优在Kafka中的应用

vivo互联网技术

大数据 kafka

卡丁车的后轴是如何做到差速的?

TGP大跨步

科普 卡丁车 TGP 大跨步 素材

【数据结构与算法】用动图解说数组、链表、跳表原理与实现

三钻

数组 链表 数据结构与算法 跳表

哥尼斯堡七桥问题

InfoQ_aef2dd810f7f

PHP中的错误和异常

书旅

php 异常 常见错误

一行错误代码:5 亿美元没了。。。项目关闭。。。

程序员生活志

5. JsonFactory工厂而已,还蛮有料,这是我没想到的

YourBatman

Jackson Fastjson JSON库 JsonFactory

MySQL视图介绍

Simon

MySQL

设计模式-技术专题-建造者模式(Builder)

洛神灬殇

Java 设计模式

LeetCode题解:11. 盛最多水的容器,双循环暴力法,JavaScript,详细注释

Lee Chen

大前端 LeetCode

揭秘MySQL主从数据不一致

Simon

MySQL 主从复制

关于自增id 你可能还不知道

Simon

MySQL MySQL自增ID

通过波士顿矩阵模型做产品定位

GuOjixIE

数据分析 产品定位 波士顿矩阵模型

28岁硕士女程序员想分手!对象专科学历,北京土著,失业3个月找不到工作!遭网友群嘲!

程序员生活志

程序员

如何选择一台打印机

别把虾米不当海鲜

史上最强DIY,手工制作一只会说话的机器狗

华为云开发者联盟

聊天机器人 nlp 华为云 语言识别 语言合成

暴雪员工抗议薪酬不公,部分员工称甚至难以维持生计

程序员生活志

职场

他被称为"中国第一程序员",一人之力单挑微软!真牛!

程序员生活志

IOTA架构下的数据采集

易观大数据

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