AICon 深圳站聚焦 Agent 技术、应用与生态,大咖分享实战干货 了解详情
写点什么

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

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

关注

评论

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

预约直播 | 主流视觉算法介绍及在PAI上的应用

阿里云大数据AI技术

机器学习 视觉算法

SpringCloud - Eureka核心源码解析

码农参上

微服务 SpringCloud Eureka 注册中心

web前端培训组件内部数据state的知识点分享

@零度

前端开发 state

基于STM32设计的蓝牙健康管理设备

DS小龙哥

6月月更

面试突击60:什么情况会导致 MySQL 索引失效?

王磊

Java MySQL 面试

Salesforce 容器化 ISV 场景下的软件供应链安全落地实践

阿里巴巴中间件

阿里云 容器 云原生

centos7防火墙完整操作命令,值得的收藏

迷彩

Linux 运维 Centos 7 防火墙 6月月更

java培训redis集群原理详解

@零度

redis java培训

Spring Boot零配置启动原理

码农参上

Spring Cloud springboot

秒云荣获《2022爱分析 · IT运维厂商全景报告》智能运维AIOps市场代表厂商

MIAOYUN

云原生 智能运维 IT运维 智能运维AIOps

私藏干货分享:关于企业架构中如何进行平台化

松子(李博源)

企业架构 数据架构 业务架构 大数据平台 平台

政策关注 | 加快构建数据基础制度,维护国家数据安全

青藤云安全

数据治理 数据安全

大数据培训Scala 类和对象知识与案例分享

@零度

scala 大数据

优博讯出席OpenHarmony技术日,全新打造下一代安全支付终端

极客天地

Elasticsearch 在地理信息空间索引的探索和演进

vivo互联网技术

elasticsearch 数据分析 数据检索

Vue3+ElementPlus+Axios实现从后端请求数据并渲染

Python研究所

6月月更

【值得收藏】Centos7 安装mysql完整操作命令

迷彩

MySQL 数据库 centos 6月月更

我大抵是卷上瘾了,横竖睡不着!竟让一个Bug,搞我两次!

小傅哥

小傅哥 异常 bug 连接池 面试问题

SpringBoot 3.0最低版本要求的JDK 17,这几个新特性不能不知道!

博文视点Broadview

居家办公竟比去公司上班还累? | 社区征文

架构精进之路

初夏征文

JavaScript 回调函数/Promise/ async/await

源字节1号

软件开发 前端开发 后端开发

Drive to APasS!使用明道云管理F1赛事

明道云

华为开启2022全球校园AI算法精英大赛 百万奖金等你来挑战算法极限

科技汇

前端食堂技术周刊第 42 期:Vue 2.7 Beta、TS 4.8 Beta、React 开源奖、ECMAScript 2022

童欧巴

JavaScript typescript Vue 前端 React

TDengine 邀请函:做用技术改变世界的超级英雄,成为 TD Hero

TDengine

数据库 tdengine

直播电子商务应用程序开发需要什么基本功能?未来发展前景如何?

开源直播系统源码

软件开发 直播源码 带货直播

红包雨: Redis 和 Lua 的奇妙邂逅

勇哥java实战分享

Future & CompletionService

Ayue、

多线程 Future接口

在外企远程办公是什么体验? | 社区征文

Geek_rze78a

Java 程序员 远程办公 外企 初夏征文

EMQ携手谐云,打造车联网平台联合解决方案

EMQ映云科技

车联网 物联网 IoT 兼容性测试 6月月更

Rxjs mergeMap 的使用场合

汪子熙

typescript 响应式编程 angular RXJS 6月月更

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