【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

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

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

关注

评论

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

极客大学第一周作业

方堃

极客大学架构师训练营

一行代码引来的安全漏洞就让我们丢失了整个服务器的控制权

程序猿石头

Spring Boot 网络安全 后端 前后端分离

【架构师训练营】第一周课程总结

张明森

食堂就餐卡系统设计文档

15359861984

架构

极客李

第一周学习笔记

方堃

学习 极客大学架构师训练营

第一周学习笔记

远方

架构师训练营第一周 个人心得

yanghao

「架构师训练营」第1周命题作业

牛牛

极客大学架构师训练营 第一周命题作业

UML示例

Geek_196d0f

食堂就餐卡系统设计

Dennis

食堂就餐卡管理系统设计

eric

食堂就餐卡系统设计

Geek_zhangjian

200行代码理解 RxJS 的核心概念

局外人

Java 大前端

架构师训练营第一周总结

olderwei

极客大学架构师训练营

架构师训练营week1

devfan

架构师训练营 - 第一周作业一

teslə

第 1 周作业 - 食堂就餐卡系统设计

WW

第 1 周作业 - 学习总结

WW

架构师0期第一周作业

我在终点等你

食堂就餐卡系统设计

allen

枚举

小王同学

架构的理解-不只是技术问题

旭东(Frank)

学习 极客大学架构师训练营

就餐系统

远方

week01 学习总结-架构设计文档

Z冰红茶

架构师训练营第一周总结

allen

从零搭建一个Electron应用

局外人

Java 大前端 Electron

【第一周】命题作业——食堂就餐卡系统设计

三尾鱼

学习 极客大学架构师训练营

架构师训练营0期第一周学习总结

小高

本周总结

Geek_zhangjian

架构师训练营 第一周 学习心得

LiJun

学习 极客大学架构师训练营

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