2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

跨平台应用开发进阶(十一) :uni-app 实现IOS原生APP-云打包集成极光推送(JG-JPUSH)详细教程

No Silver Bullet

uni-app ios 5月月更 云打包 原生APP

规模化软件开发的必由之路—大规模自动化测试

刘冉

自动化测试

SpringMVC源码分析:POST请求中的文件处理

程序员欣宸

Java spring 5月月更

【刷题第16天】数组中出现次数超过一半的数字

白日梦

5月月更

Amazon CodePipeline 与 GitHub 集成

亚马逊云科技 (Amazon Web Services)

GitHub Code

如何透过 Serverless 与 API 的方式异步搜寻数据湖中的数据

亚马逊云科技 (Amazon Web Services)

Serverless 数据 API

Artery —— 单页面应用接口描述语言简介

全象云低代码

前端 低代码 流程 页面 artery

flask框架【入门学习笔记一】

恒山其若陋兮

5月月更

Linux 入门及常见Shell命令

宇宙之一粟

Linux Shell 5月月更

1.1 历史长河中的顶层设计

凌晞

【C 语言】指针 Five 之 ["​⚔ 空指针 - NULL、💣 指针使用之前检查有效性、🗡 指针运算 💣 指针+- 整数、💣 指针 - 指针、指针关系运算、💣 标准规定、⚔ 指针和数组、⚔ 二级指针、⚔ 指针数组"]

謓泽

5月月更

架构学习(一)

爱晒太阳的大白

5月月更

数学建模学习资料

乌龟哥哥

5月月更

[ CloudWeGo 社区动态 ] Kitex 电商项目案例

baiyutang

Go 微服务 5月月更

记一次 JMeter 压测 HTTPS 性能问题

阿里巴巴云原生

阿里云 云原生 https Jmeter 压测

SAP OData V4 模型支持的一些数据绑定模式

汪子熙

JavaScript 前端开发 SAP ui5 5月月更

跨平台应用开发进阶(十二) :uni-app 实现应用桌面图标角标提示及应用跳转

No Silver Bullet

uni-app 5月月更 桌面角标

M_5: 设计微博系统中”微博评论“的高性能高可用计算架构。

Jadedev

架构训练营

WordPress 编辑用户

海拥(haiyong.site)

WordPress 5月月更

在线蚂蚁文,菊花文生成工具

入门小站

工具

PostgreSQL出现死锁怎么办?

慕枫技术笔记

数据库 5月月更

LinkedList 源码分析-迭代器

zarmnosaj

5月月更

react-router原理分析

正经工程师

React React-Router

Linux环境编译静态库

Loken

音视频 5月月更

架构实战营 - 第 6 期 模块六课后作业

天琪实刚亮

架构实战营

数据结构-复杂度计算经典案例

芒果酱

数据结构 算法 5月月更

Kubernetes 节点弹性扩展实践组件 Amazon Karpenter:部署 GPU 推理应用

亚马逊云科技 (Amazon Web Services)

Kubernetes 部署

从“数据”到“大数据”,激发数据潜力,深耕智能应用!

亚马逊云科技 (Amazon Web Services)

大数据 数据 智能开发

C++最佳实践 | 1. 工具

俞凡

c++ 最佳实践

在线HTML转JSON工具

入门小站

工具

密码学系列之:使用openssl检测网站是否支持ocsp

程序那些事

Java 密码学 程序那些事 5月月更

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