写点什么

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

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

关注

评论

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

在 Amazon Bedrock 上使用 Anthropic Claude 系统 Prompt

亚马逊云科技 (Amazon Web Services)

图数据库基准测试 LDBC SNB 系列讲解:Schema 和数据生成的机制

不在线第一只蜗牛

数据库 LDBC

Java 异常处理与正则表达式详解,实例演练及最佳实践

小万哥

Java 程序人生 编程语言 软件工程 后端开发

科技进步对于我们的未来来说,到底是利好还是利弊?为什么?

算法的秘密

电子签赛道效率之争,e签宝率先给解法

ToB行业头条

观测云在 .NET 业务中分析性能问题的最佳实践

观测云

APM Profile 可观测性

白嫖他悟空CRM项目 ,部署了直接用起来

程序猿忙什么

云上三问,迈向智能时代的关键

脑极体

云计算

阿里通义灵码全面公测,来看看它的水平怎么样?

阿里巴巴云原生

阿里云 云原生 通义灵码

设计原则 — DRY & Rule of three

Lemoon Can

设计原则 DRY Rule Of three

揭秘ChatGPT的Prompt方法:原理与应用总结

霍格沃兹测试开发学社

ADB 下载、安装及使用教程:让你更好地管理 Android 设备

霍格沃兹测试开发学社

探索机器学习:从基础概念到应用实践

霍格沃兹测试开发学社

探索自然语言处理:语言模型的发展与应用

霍格沃兹测试开发学社

零基础入门数据挖掘-课程汇总

阿里云天池

阿里云

大模型 | LLM的7大主要功能有哪些?

澳鹏Appen

大模型 LLM

干货盘点!市场调查与分析必备的10个模板!

彭宏豪95

职场 在线白板 行业调研 效率软件 调研报告

1688API接口推荐:1688工厂档案信息数据接口

tbapi

1688 1688API接口 1688工厂档案信息

深入了解 Linux 常用性能统计命令

霍格沃兹测试开发学社

思维导图ai生成软件有哪些?这5款值得推荐!

彭宏豪95

人工智能 思维导图 在线白板 AIGC 思维导图软件

上云?!下云?!这难倒了孙悟空!

脑极体

云计算

Photoshop 2024 安装激活教程 ps2024中文版 Mac/win

Rose

终端SSH工具SecureCRT mac激活版 含SecureCRT许可证

Rose

“打工人”的自我修养-如何在30秒内把“问题”讲清楚

M

原创 职场 认知 逻辑

SQL中如何添加数据:基础指南

霍格沃兹测试开发学社

AppLink对51Tracking的集成方式

RestCloud

APPlink 自动化集成 51tracking

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