写点什么

Michael Stonebraker:主要的 RDBMS 都是过时的技术

  • 2007-09-12
  • 本文字数:1470 字

    阅读完需:约 5 分钟

Michael Stonebraker ——Ingres 和 Postgres 关系型数据库管理系统(RDBMS)的创造者之一, Vertica Systems 的 CTO——在数据库社区里提出了一个争议性的观点,他认为现在主要的数据库中,大部分都属于过时的技术

Stonebraker 首先分析了主要的关系数据库(IBM 的 DB2 、Microsoft 的 SQL server Oracle ),它们基础是在 25 年前架构的两个平台( System R Ingres ),这两个平台的目标都是成为通用的工具而非某个特定行业的产品。他还指出它们当初设计的环境跟今天的环境很不同,硬件的特点和数据库的使用场景也很不一样。特别是当初 Online Transaction Processing (OLTP)是数据库的唯一的使用领域——现在则出现了数据仓库、半结构化的数据等不相关的应用。

他接着说,“普适”的设计路线如今不再正确,而且“我能想到的每个主要应用领域,都可构建出以特定垂直市场需要为内核的 SQL DBMS 引擎,而且性能会比‘普适’引擎强上 50 倍的样子”。他还说:

[……] 我预测列存储会逐渐占领数据仓库市场,完全取代行存储。因为许多数据仓库用户都正经历着相当的困扰(无法再装载时间段内完成数据装载,不支持临时查询,无法改善性能除非进行大规模升级),我认为向列存储转换的过程将会很快完成,客户正在寻求改善性能的更好方式。从长期来看,我认为在其它市场上也会发生同样的转换,因为用户也在经历同样的困扰,一个特化的软件架构将可能从根本上改善性能。

ComputerWorld 的 Erik Lai 提供了一些列存储数据库背景资料

  • 列数据库按照列来存储数据,与按行存储相对。
  • 由于相似的数据彼此接近,列数据库减少了多种类型的查询的磁盘读取时间(如数据仓库查询)。
  • Google’s BigTable is a column-oriented database which powers many Google applications (e.g. Google Maps and Google Reader)

Lai 还指出行数据库也有优于列数据库的地方,比如将数据写入磁盘——写入一行数据只需单次操作,而多个列则需要多次分别写入。

Slashdot 上也有很多关于这个主题的争论,有些人并不同意 “普适”数据库的概念已经死了。

这是个老问题,“普适”数据库在未来一段时间里还是足够的。越来越多的人喜欢轻量的选择,即使性能稍微低一点;他们硬塞进去的持久化层对性能影响更大,仅仅是因为持久化层能给他们自动生成无聊的数据处理代码。因为不需要自行编写数据处理代码,数据库是如何工作的就没有关系了,你可以专注于如何使用数据,而不必操心表、行、ACID 属性之类。让机器自动生成与数据库交互的代码,你就可以随意操弄生成出来的代码和底下的其他层次。

其他人则同意 Stonebraker 的观点

如果你只想读一大堆数据,列存储很好(比行存储好);但如果你想写一大堆数据,列存储比行存储成本高得多。因此,根据你的需要来选择。你需要存储海量数据吗?列存储可能不适合你……行存储会让你的应用运行得更好,因为向行存储中写入只是简单地在文件里增加一条记录,而向列存储写入通常意味着要在很多个文件里增加记录……显然更昂贵。

另一方面,你面对的是一组相对稳定的数据,读的次数远多于写的次数吗?那么行存储并不是好选择,你应该时时列存储。在行存储里,查询是整行整行的,这意味着你常常碰上那些你一点都不关心的字段。而在列存储里,你可以忽略任何查询中没有提到的字段……另外,在列存储里,数据是同质的,因此不需要再为数据类型的差异付出额外代价,而且可以根据字段来选择最佳的数据压缩方式而不是按照数据块。

为什么人们还坚持用一种方式对付所有的情况?

这场争论才算是刚刚开始。你的观点如何?

查看英文原文: Michael Stonebraker: Major RDBMSes are legacy technology

2007-09-12 00:402631
用户头像

发布了 225 篇内容, 共 70.1 次阅读, 收获喜欢 52 次。

关注

评论

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

作业二

hopeful

极客大学产品经理训练营

第二周作业

正午看星星

极客大学产品经理训练营

利益相关方分析-公司及团队维度

梁媛

产品经理

什么是视频?|视频号28天(19)

赵新龙

28天写作

年底想跳槽?先想清楚自己要什么。

一笑

面试 工作 28天写作

抽奖助手利益相关方和问题分析

June

产品经理训练营

产品经理的书籍清单【持续更新】

学习高手song轻松

产品

关于利益相关者的作业

mas

第二次作业

Geek_d9dd01

产品经理训练营 - 第二次作业

Geek_娴子

GNUCash 4: 我的使用经验

lidaobing

GNUCash 28天写作

GO 进阶学习笔记

zach

微服务 Go 语言

智能汽车如何赚钱? (28天写作 Day19/28)

mtfelix

商业模式 28天写作 智能汽车 软件定义汽车

28天瞎写的第二百二十九天:存储过程的故事

树上

28天写作

抽奖助手stackholder

再见陛下

Elasticsearch从入门到放弃:浅谈算分

Jackey

elasticsearch

产品思维和产品意识-利益相关方学习总结

mas

信任是一种需要牺牲效率持续发出的信号

Justin

心理学 信任 市场营销 28天写作

产品训练营·第二周作业 & 总结

tiu

产品经理训练营第二次作业

猫。

产品经理训练营第二章作业(一)

新盛

第2章:产品思维总结

让时间说真话

产品经理

第 2 周作业

老元宵

你以为阿里真的取消周报了?

Ian哥

28天写作

我用PHP写的第一个Hello world

熊斌

28天写作

keepalived 实现Nginx高可用安装

庞小辉

共识算法的简单理解(二)

石君

28天写作 拜占庭容错 PBFT

产品利益相关方小结

skylar

利益相关方以及优先级

skylar

【总结】产品经理训练营 | 02 产品思维和产品意识(上、中)

阿席达卡。

产品经理训练营第二章作业——利益相关者

阿波

Michael Stonebraker:主要的RDBMS都是过时的技术_Java_Ryan Slobojan_InfoQ精选文章