【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

Martin Fowler 看到了数据存储方式的复苏

  • 2008-11-30
  • 本文字数:1221 字

    阅读完需:约 4 分钟

著名的软件思想领导者 Martin Fowler 在最近的一篇博文中提到了上周的 QCon,他说应用架构中的数据库思想已经有复苏的迹象了。这个世界对每个应用都在使用着 RDBMS 数据库,但是现在我们还可以考虑使用 RISC RDBMS 或者分布式的面向文档的数据库。Tim Bray 在 QCon 上谈到了变化的存储这个主题,同时也提到了它是如何影响着应用架构并讨论了分布式的面向文档的数据库

随着 ODBMS 数据库的失败,Martin 解释了 RDBMS 为何能够成功:“相对于其在数据管理中的作用,RDBMS 的优势在于其在集成上的作用”。他继续说到:

对当今的很多组织来说,主要的集成模式是共享数据库集成——你可以使用一个通用数据库来集成多个应用。当你使用这些集成数据库时,重要的一点是应用可以轻松获得这些共享数据——因此 SQL 在其中扮演着重要的角色。SQL 这种几乎是标准的查询语言在数据库中处于中心地位。

Internet 通过新的集成方案正在改变着这一切:

数据库空间的核心已经从这两种方式慢慢转向了集成方式——尤其是 Web Service 的出现更加促成了这一转变。伴随着各种宣传的出现,应用之间的通信越来越多的通过 HTTP 上的文本(几乎都是 XML)文档来实现。Web(既包括 Internet,也包括 Intranet)已经让这种集成模式比 SQL 更加流行。这是件好事,我向来不喜欢将多个应用通过一个通用数据库紧紧耦合在一起的方式——这样做的话你无法获得更大的自由。

根据 Martin 所述,HTTP 将影响着数据库的使用方式:

如果你将集成方式从 SQL 转向 HTTP,这意味着你可以将数据库从集成数据库转为应用数据库。这种变化的意义是巨大的。首先,它支持更加简单的对象关系映射方式——例如 Ruby on Rails 所采取的方式。然而,这将打破牢固的关系数据模型。如果通过 HTTP 集成,那么应用存储其自身数据的方式就变得无关紧要了,这意味着应用可以选择自己所需的一种数据模型。

但 Martin 并不认为 RDBMS 很快就会消亡,他指出了 Tim Bray 所提到的多种可能的选择:

  • Drizzle 是一种关系数据库,但它却缺少现代关系数据库产品的很多特性。我将它看作是一种 RISC RDBMS——只支持关系特征集中的一些核心内容。
  • Couch DB 是对分布式的键——值对模型的一种改进。尽管它只是一种简单的数据模型(无外乎就是一个 Hashmap 而已),但这种方式已经广泛应用在一些高性能站点上了。
  • Gemstone 是一种对象数据库,我发现 Gemstone 与 Smalltalk 的组合为我们提供了异常强大的开发环境(比大多数后来者还要好)。Gemstone 虽然还很不起眼,但它可能会获得更多的关注。
  • Maglev 项目将其所采取的方式(本质上是数据库和虚拟机的融合)带到了 Ruby 世界中。

最后 Martin 总结到 RDBMS 还不会消亡,它依然是“很多情况下的正确选择”。他在博客上表示无论有多少种选择,“应用开发者都应该思考到底哪种选择才是最符合其需要的。随着非关系项目的不断流行和成熟,越来越多的人会选择其他的方式”。你是怎么看的呢?

查看英文原文: Martin Fowler Sees a Thaw in Frozen Thinking about Data Storage

公众号推荐:

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

2008-11-30 00:48846
用户头像

发布了 88 篇内容, 共 258.7 次阅读, 收获喜欢 8 次。

关注

评论

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

Mac版本的Java开发工具 IntelliJ IDEA 2023+注册码

展初云

Java Mac IntelliJ IDEA

开箱即用!教你如何正确使用华为云CodeArts Defect!

华为云PaaS服务小智

云计算 软件开发 华为云 缺陷管理

新一代云原生可观测平台之CCE服务监控篇

华为云原生团队

云计算 容器 微服务 云原生

个头小却很能“打”!合合信息扫描全能王推出A4便携式打印机

合合技术团队

识别 文字 图像 合合信息 扫描全能王

详解GuassDB数据库权限命令:GRANT和REVOKE

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟

VMware Workstation 17安装教程之轻松构建虚拟机

小齐写代码

Tampermonkey for Mac(油猴Safari浏览器插件)

展初云

Mac 油猴 Tampermonkey

大模型与Prompt模板全面升级

百度开发者中心

深度学习 大模型 LLM

BDD模式的自动化测试初体验

QE_LAB

自动化测试 BDD 测试自动化工具

敏捷专题:下一代的飞机交付

DevOps和数字孪生

数字孪生 航空航天 仿真模拟

LeetCode题解:剑指 Offer 39. 数组中出现次数超过一半的数字,摩尔投票,JavaScript,详细注释

Lee Chen

JavaScript LeetCode

对话在行人|中裕能源:基于多业态特点,融合创新数智化应用场景

用友BIP

2023全球商业创新大会 对话在行人

Mac键盘热键工具 Keyboard Maestro最新激活版

mac大玩家j

Mac软件 键盘管理工具

携程商旅发布“全球影响力计划”

携程商旅

火山引擎DataLeap背后的支持者 - 工作流编排调度系统FlowX

字节跳动数据平台

大数据 数据中台 数据安全 数据研发 企业号10月PK榜

硬件、数据、模型优化与分布式训练的实践

百度开发者中心

大模型 LLM LLMOps

HTTP 中 POST 提交数据的四种方式详解

百度搜索:蓝易云

云计算 Linux 运维 HTTP post

OpenTiny Vue 支持 Vue2.7 啦!

Kagol

开源 Vue 前端 UI组件库

数字孪生:让ECU在数字环境中“栩栩如生”

DevOps和数字孪生

数字孪生 虚拟ECU 建模仿真

OmniGraffle Pro for Mac 图表绘制工具 附 注册机

彩云

OmniGraffle Pro

DataGrip for Mac(数据库管理工具) 2023.2.3+注册码

展初云

Mac datagrip 数据库管理

厦门理工计算机与信息工程学院获“火焰杯”软件测试赛全国奖项

测试人

软件测试

MyBatis缓存和二级缓存整合Redis教程。

百度搜索:蓝易云

Java redis Linux 运维 mybatis

专业强大的CAD绘图软件 CADintosh X 最新激活版

胖墩儿不胖y

Mac软件 CAD绘图 cad工具

AIGC加速迭代,云栖大会视频云「媒体服务」专场与你共话云智深度融合

阿里云视频云

云计算 视频云 云栖大会

Martin Fowler看到了数据存储方式的复苏_Java_Abel Avram_InfoQ精选文章