Agentic AI、具身智能、强化学习框架、端侧大模型……来QCon上海站,感受AI的未来! 了解详情
写点什么

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

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

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

关注

评论

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

week7 学习总结

Geek_2e7dd7

百度CTO王海峰对话王辰院士:全球“最强大脑”助力大数据抗疫时代来临

脑极体

可读代码编写炸鸡九 - 抽取子问题

多选参数

编程 代码 代码优化 代码规范 可读代码

我有一个梦想

一直AC一直爽

随笔杂谈 梦想

剪刀爱情

一直AC一直爽

电影

ZK 从入门到放弃 入门篇

小隐乐乐

技术面试官应该怎么问?面试者应该怎么答?

xcbeyond

面试 自我介绍

手把手教你写数独计算器(1)

一直AC一直爽

c++ 算法 数独

Redis(二)单机版安装

奈何花开

Java redis

Elasticsearch源码解析:环境搭建

Jackey

elasticsearch

寻找感动的养分

一直AC一直爽

感恩 随笔杂谈 感动

广义表的实现!

烫烫烫个喵啊

算法 广义表

HashiCorp官宣:禁止国内使用其旗下Consul等开源软件?

xcbeyond

Consul 条款

总结:PHP值得注意的几个问题

一直AC一直爽

php

如何写出完美的接口:接口规范定义、接口管理工具推荐

xcbeyond

接口规范 接口管理工具 swagger Easy Mock

思维模型盲区:所知障和从众效应

石云升

思维模型 倾听 从众效应

爸爸,我想握住你的手

一直AC一直爽

随笔杂谈 父爱

Mysql错误:Ignoring query to other database解决方法

一直AC一直爽

MySQL

架构师是怎样炼成的 7-1 性能测试与优化

闷骚程序员

布隆过滤器是个啥!

诸葛小猿

布隆过滤器 bloomfilter bloom filter

排序笔记

烫烫烫个喵啊

算法 排序

week7 作业

Geek_2e7dd7

读《我的大学,我的苦难》有感

一直AC一直爽

随笔杂谈 读后感

我向面试官讲解了单例模式,他对我竖起了大拇指

苹果看辽宁体育

设计模式 单例模式

轻松应对并发问题,简易的火车票售票系统,Newbe.Claptrap 框架用例,第一步 —— 业务分析

newbe36524

容器 微服务 架构设计 .net core ASP.NET Core

最短路径问题(无负边值)——Dijkstra算法

烫烫烫个喵啊

算法 prim 最短路径

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

stardust20

Apache下error.log文件太大的处理方法

一直AC一直爽

redis系列之——缓存穿透、缓存击穿、缓存雪崩

诸葛小猿

redis 缓存穿透 缓存击穿 缓存雪崩

性能测试

陈皮

公开课 | 吉祥人寿从0到1的 Jira 落地实践

Atlassian

敏捷开发 研发管理 Jira

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