写点什么

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

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

关注

评论

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

写个JS深拷贝,面试备用

helloworld1024fd

JavaScript

阿里云Imagine Computing创新技术大赛正式开启!

阿里云CloudImagine

阿里云 技术大赛

Oracle、MySQL等数据库故障处理优质文章分享 | 10月文章汇总

墨天轮

MySQL 数据库 oracle 性能优化 故障恢复

用了1年的录屏软件被我含泪甩了,因为我发现了它

淋雨

最近面试经常被问到的js手写题

helloworld1024fd

JavaScript

想会用synchronized锁,先掌握底层核心原理

华为云开发者联盟

开发 华为云 企业号十月 PK 榜

走进 Orca 架构及技术世界

KaiwuDB

数据库·

深入浅出分布式,阿里大牛手写《分布式核心原理》Github一夜爆火

Java永远的神

分布式 程序人生 分布式计算 分布式系统 分布式存储

React核心工作原理

xiaofeng

React

React组件复用的技巧

夏天的味道123

React

React组件设计模式-纯组件,函数组件,高阶组件

xiaofeng

React

一种基于Prompt的通用信息抽取(UIE)框架

阿里技术

深度学习 信息抽取

【web 开发基础】通过模拟地铁售票系统介绍PHP 自定义函数之函数的参数-PHP 快速入门 (26)

迷彩

记录函数参数和返回值 参数列表 PHP基础 11月月更 函数参数

react源码中的hooks

flyzz177

React

重磅!涛思数据发布TDengine PI连接器

TDengine

数据库 tdengine 时序数据库

React的5种高级模式

夏天的味道123

React

CIO们开始将软件供应链升级为安全优先级top

SEAL安全

DevOps 开源软件 软件供应链 SBOM 软件供应链安全

音视频开发进阶|第六讲:色彩和色彩空间·下篇

ZEGO即构

音视频开发 色彩

Q3手机银行运营报告:直销银行江湖再起波澜,数字员工助力手机银行活跃度提升

易观分析

金融 手机银行

react源码中的协调与调度

flyzz177

React

一本书,带你走出Spring新手村

博文视点Broadview

React性能优化的8种方式

xiaofeng

React

React组件复用的发展史

夏天的味道123

React

浅谈:数字资产永续合约交易所开发有什么好处?

W13902449729

合约交易所开发 区块链交易所开发

聊聊前端开发中的 Ghost Design 设计思路

汪子熙

前端开发 angular web开发 SAP 11月月更

OpenHarmony移植案例: build lite源码分析之hb命令__entry__.py

华为云开发者联盟

鸿蒙 芯片 华为云 源代码 企业号十月 PK 榜

美团前端常考手写面试题(边面边更)

helloworld1024fd

JavaScript

共筑使能千行百业的数字底座 | HDC 2022松湖对话顺利召开

OpenHarmony开发者

OpenHarmony

动手实践丨使用华为云IoT边缘体验“边云协同”

华为云开发者联盟

云计算 华为云 企业号十月 PK 榜

假如面试官要你手写一个promise

helloworld1024fd

JavaScript

元宇宙场景技术实践|实现“虚拟人”自由

ZEGO即构

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