写点什么

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

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

关注

评论

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

拒绝内卷挖掘境外新蓝海,华为云虚拟专用网络VPN有多特别?

爱尚科技

从非洲到全球,看华为云连接CC如何助力出海企业更好发展

科技之光

华为云大数据BI赋能企业数字化发展

i生活i科技

【深入浅出Sentinel原理及实战】「基础实战专题」零基础实现服务流量控制实战开发指南(2)

码界西柚

微服务 Alibaba Alibaba技术 1月日更 Sentinel 系统

华为云全球加速GA的“加速”,你真的了解嘛?

科技之光

企业数字化转型?华为云CDN为你提供智能加速!

i生活i科技

CDN

网络堵塞?华为云CDN为你带来一站式解决方案

i生活i科技

CDN

深入理解 Linux 物理内存分配全链路实现

bin的技术小屋

Linux 操作系统 内核 内存分配

架构训练营 模块五

张建闯

架构实战营

Thanos 升级顺序分析

耳东@Erdong

Prometheus 版本 Thanos 升级迭代

红海竞争下,华为云CDN凭借什么冲出重围?

i生活i科技

CDN

前端工程师leetcode算法面试必备-二分搜索算法(下)

js2030code

JavaScript LeetCode

远程办公小助手——华为云虚拟专用网络VPN

爱尚科技

react源码中的hooks

flyzz177

React

华为云全球加速GA,敲开企业跨境业务的大门

科技之光

在Windows绿色安装Go

独钓寒江

华为云双十一、双十二系列直播圆满收官,助力企业获数智化发展商机

i生活i科技

CDN

前端工程师leetcode算法面试必备-二分搜索算法(中)

js2030code

JavaScript LeetCode

华为云虚拟专用网络VPN,如何解决企业出海难题

爱尚科技

华为云虚拟专用网络VPN,为企业铺就数据上云的安全路

爱尚科技

华为云VPN为企业数据上云保驾护航

爱尚科技

10 分钟带你一览 SOFAStack 的 2022!

SOFAStack

开源 云原生 中间件

耳东的2022 年度总结

耳东@Erdong

年度总结

架构训练营 模块四

张建闯

架构实战营

5分钟搞懂分布式可观测性

俞凡

架构 微服务 最佳实践 云原生

SCQA模型

李印

表达 讲故事能力

轻松解决企业数据高延时,华为云全球加速GA使用更灵活!

科技之光

react源码中的协调与调度

flyzz177

React

华为云全球加速GA,赋能现代企业出海加速发展

科技之光

5个接口性能提升的通用技巧

JAVA旭阳

Java

国产 ETL 工具 etl-engine

weigeonlyyou

postgresql Prometheus Clickhouse MySQL 数据库 InfluxDB Cluster

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