【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

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

关注

评论

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

如何自定义Safari的起始页

Rose

云厂商是什么意思?2024年知名云厂商有哪些?

行云管家

云计算 云服务 行云管家 云厂商

ByConity 社区回顾|ByConity 和开发者们一起展望未来,携手共进!

字节跳动数据平台

开源数据库 ByConity

【年后跳槽必看篇-非广告】老生常态之Spring AOP/IOC 实现原理

派大星

Java 面试 跳槽

2024年的第一场 MatrixOne Meetup 来啦!

MatrixOrigin

数据库 分布式 云原生 MatrixOrigin MatrixOne

京东ES支持ZSTD压缩算法上线了:高性能,低成本 | 京东云技术团队

京东科技开发者

让 K8s 更简单!8款你不得不知的 AI 工具-Part 1

SEAL安全

开源 AI Kubernetes

解决苹果无线鼠标、键盘或触控板无法被 Mac 识别的方法

Rose

软件测试/测试开发/全日制/测试管理丨Appium Inspector

测试人

软件测试

替代关系型数据库 MAX 聚合函数的思路

alexgaoyh

MySQL 替代 聚合函数 最新数据 自关联

KaiwuDB × 风电企业 | 高性能、低成本、释放数据价值

KaiwuDB

数据库 解决方案

Parallels Desktop 17 安装Windows 11 教程 附激活工具

Rose

苹果电脑重装系统教程

Rose

AI遇上传统文化,文心一言上央视带来跨时空访古体验

飞桨PaddlePaddle

人工智能 深度学习

“无法打开应用,因为Apple无法检查其是否包含恶意软件“解决方法

Rose

苹果电脑应用程序无法打开提示不明开发者或文件损坏的处理方法

Rose

数据采集在制造业中的应用场景

万界星空科技

数据采集 MES系统 设备管理 万界星空科技 生产管理

​万界星空科技MES系统如何进行产品的质量管理

万界星空科技

质量管理 MES系统 制造业 mes 制造业生产管理系统

精彩推荐 |【Java技术专题】「重塑技术功底」攻破Java技术盲点之剖析动态代理的实现原理和开发指南(中)

洛神灬殇

Java 后端开发 JDK 动态代理 CGLIB 动态代理 2024年第十一篇文章

第三方 Cookie 被禁用?企业该如何实现用户精准运营和管理

Authing

Cookie Authing 用户运营

Acrobat Pro DC 2023如何插入附件?Acrobat Pro DC添加附件方法

Rose

FCPX 插件无法使用?|Final Cut Pro X 插件不能使用出现叹号的解决办法

Rose

复杂经济时期下的企业财务规划战略

智达方通

全面预算 情景规划 企业财务规划 财务规划

运行Adobe应用提示非正版This non-genuine Adobe app has been disabled soon如何解决

Rose

adobe

喜讯!矩阵起源子公司通过“国家高新技术企业”认定,引领数据库行业科技创新!

MatrixOrigin

数据库 分布式 云原生 MatrixOrigin MatrixOne

面试官:如何保证本地缓存的一致性?

王磊

Java 面试

APP加固原理与作用

使用Local Persistent Volume 部署有状态工作负载

华为云开发者联盟

Kubernetes 开发 华为云 华为云开发者联盟

从前端角度浅谈性能 | 京东物流技术团队

京东科技开发者

苹果电脑Mac教程:如何开启任何来源选项

Rose

QCN9024: The future of wireless communications, five major advantages over competitors

wallysSK

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