阅读更多

13顶
3踩

数据库

原创新闻 Martin Fowler :数据库领域开始解冻

2008-11-27 11:27 by 副主编 QQbyte 评论(21) 有11730人浏览
Martin Fowloer 说道:我认为这几年编程语言缺乏创意,从长期和深远角度来看,主要是由于数据库领域的冻结,长期由关系型数据库牢牢掌控,而曾被认为是下一代新型数据库的面向对象数据库迟迟没有取得进步。

现在这种局面似乎已经开始被打破,在数据库方面出现几个有趣的项目:

  • Drizzle:这也是一种关系型数据库,但是它回避了很多现代关系型数据库产品的设计架构,我认为它类似一个RISC(Reduced Instruction Set Computing精简指令集) RDBMS-只支持最精简的关系处理功能集。
  • Couch DB:用Erlang开发的面向文档的数据库系统。这是许多进入分布式键-值对应模式领域之一的产品。虽然只是一个及其简单的数据模型(本质上只是一个hashmap),但是在大量数据的web网站开发上有非常高的价值。
  • Gemstone:这是一个对象数据库,我发现Gemstone-Smalltalk混合创建了一个非常强大的开发环境(远胜过它的其他继承者)。Gemstone现在还只是作为展示产品,但是由于Maglev项目会获得更多注意-Meglev是一个Ruby领域的混合数据库和虚拟机的实现。
这些优秀的项目都意味着数据库领域开始解冻。但是我们必须要了解为什么关系型数据库为什么会统治这么多年?我认为关系型数据的最大优势是数据管理而不是集成。在许多系统中,最基本的集成模式就是分享数据库集成-多个应用通过使用同一个通用的数据库进行集成。当你使用集成数据库,所有的应用都能够很容易获得分享数据,都使用SQL—最标准的查询语言。

而现在数据库领域的升温就是从集成方式改变开始-尤其是web services的出现,很多应用通过HTTP互相传递text文本(主要是XML)来分享数据,而不需要SQL。这是一件好事,我从来不喜欢多个应用通过一个通用数据库紧密捆绑在一起-你无法突破束缚而获得更好的封装。

如果你使用的集成协议从SQL转向HTTP,那么你现在能够更换数据库,从集成数据库 IntegrationDatabases应用数据库 ApplicationDatabases。这种改变是深刻的。首先第一步它支持更加简单的对象-关系映射实现-比如通过Ruby on Rails的实现方式。它还打破了傻瓜式的关系型数据模型的束缚,如果你通过HTTP集成,你无需关心应用是通过何种方式存储它的数据,这意味着你可以从自己的需要来选择一种数据模式。

当然,我不是说关系型数据库会由此消失,在很多情况下,它仍然是最好的选择。但是从现在开始,应用开发者可以考虑什么是他们真正需要,非关系型数据库项目将会越来越多,将会出现更多的数据库方案选择。



  • 大小: 82.4 KB
13
3
评论 共 21 条 请登录后发表评论
21 楼 juliashine 2008-11-30 11:11
马丁怎么没有谈到db4o?
20 楼 狂放不羁 2008-11-28 11:38
马丁大叔又来了哈哈。每次都掀起风波。
19 楼 jjx 2008-11-27 22:48
哈,又来忽悠来了
18 楼 hideto 2008-11-27 17:36
不是出现更多的数据库方案,而是出现更多的存储方案
数据库这个概念太狭隘了
17 楼 gurudk 2008-11-27 17:16
Martin Fower是我的偶像,他是极少书有独特的技术看法而且又能用简单直白的英语表达出来的人。

他主页上的大多数文章都值得你仔细阅读,包括IoC,Mock对象,敏捷,重构,模式的很多文章。
16 楼 hualala 2008-11-27 16:46
Martin又没有说关系型数据库会由此消失,只是说有更多选择,web开发我看好CouchDB。
15 楼 eyejava 2008-11-27 16:39
数据库何罪之有? Martin大叔也瞎说?
14 楼 Julien 2008-11-27 16:21
现实世界里是多个领域共享一个数据实体,而不是反过来
应该屈就自己迎合对方的是面向对象,绝对不是关系数据库
现在的思潮都给一伙搞学术的弄到走火入魔了
13 楼 withyou 2008-11-27 15:43
clong365 写道

原文在Infoq.com
http://www.infoq.com/news/2008/11/Database-Martin-Fowler


infoq只是引用,原文在Martin Fowler的博客上:

http://martinfowler.com/bliki/DatabaseThaw.html
12 楼 chenjianjx 2008-11-27 15:07
说实话这篇文章没什么逻辑,只能叫随笔,或者只能叫“随便说说”
11 楼 clong365 2008-11-27 15:06
原文在Infoq.com
http://www.infoq.com/news/2008/11/Database-Martin-Fowler
10 楼 swordray 2008-11-27 14:54
http://martinfowler.com/bliki/DatabaseThaw.html


没有看出有什么实用性,ActiveRecord已经很OO了
9 楼 QQbyte 2008-11-27 14:30
xijinn 写道

QQbyte 写道
xijinn 写道
译者不厚道,连原文的链接都不给点击顶部 Martin Fowloer 说道

刚才可不是这链接


应大家需求加了链接。
8 楼 xijinn 2008-11-27 14:12
QQbyte 写道

xijinn 写道
译者不厚道,连原文的链接都不给点击顶部 Martin Fowloer 说道

刚才可不是这链接
7 楼 QQbyte 2008-11-27 14:09
xzs 写道

非关系型数据库项目将会越来越多
经常逛jdon网的人都听烂了这句话


所以Martin同学才说刚开始解冻嘛。
6 楼 QQbyte 2008-11-27 14:00
xijinn 写道

译者不厚道,连原文的链接都不给


点击顶部 Martin Fowloer 说道
5 楼 xijinn 2008-11-27 13:47
译者不厚道,连原文的链接都不给
4 楼 qiuggv 2008-11-27 13:05
他的书不错
3 楼 upheart 2008-11-27 12:51
关系型数据库是不是在查询能力上比较突出?
2 楼 xzs 2008-11-27 12:46
非关系型数据库项目将会越来越多
经常逛jdon网的人都听烂了这句话

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 【愚公系列】2023年10月 WPF控件专题 2023秋招WPF高频面试题

    《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。 欢迎 点赞✍评论⭐收藏 文章目录 入门篇[2] 1. 谈谈什么是...

  • XForms -- 下一代的web表单

    v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);} Sam Sam 2 3 20

  • 使用 XForms 文档作为定制的 XML 编辑器

    在近期的一篇文章 使用 XPath 2.0 和 XSLT 2.0 节省开发时间并减少代码量 中,我们讨论了如何用 XSLT 2.0 功能生成一个 HTML 表格,这个表格代表一次 XML 锦标赛(淘汰赛)的结果。在那篇文章中我们没有 解决的问题是,如何填写 XML 锦标赛的胜者和败者。在本文中,我们继续讨论 XML 锦标赛并创建一个 XForms 文档,可以用这个文档填写锦标赛的结果,同时避免在界

  • xForm应用开发手册

    xForm应用开发手册 1 基本包含文件及简介 文件名 方式 功能简介 ...

  • 令人头疼的分布式事务,1次讲明白!

    ”一般在被问到这样的问题时,我都会回答“要尽量避免使用分布式事务”,这也是 Martin Fowler 所推荐的。 但现实总是残酷的,拆分了微服务之后,分布式事务是非常硬核的需求,是绕不开的,我们依然要想办法搞定它。...

  • 用的 分布式事务 都有哪些?我该用哪个?

    ”一般在被问到这样的问题时,我都会回答“要尽量避免使用分布式事务”,这也是Martin Fowler所推荐的。但现实总是残酷的,拆分了微服务之后,分布式事务是非常硬核的需求,是绕不开的,我们依然要想办法搞定它。但...

  • 常用的 分布式事务 都有哪些?我该用哪个?

    ”一般在被问到这样的问题时,我都会回答“要尽量避免使用分布式事务”,这也是Martin Fowler所推荐的。但现实总是残酷的,拆分了微服务之后,分布式事务是非常硬核的需求,是绕不开的,我们依然要想办法搞定它。但...

  • 分布式事务解决方案

    根据微服务架构的鼻祖 Martin Fowler 的忠告,微服务架构中应当尽量避免分布式事务。 分布式事务的讨论主要聚焦于强一致性和最终一致性的解决方案。

  • 达达平台的物流场景

    如下图所示,将最初庞大的数据库按业务拆分成不同的业务数据库,每个系统仅访问对应业务的数据库,避免或减少跨库访问。 下图是垂直拆分后,数据库主库的压力,可见磁盘IO使用率已降低了许多,高峰期IO响应...

  • 对于架构的深入探讨

        微服务真正的崛起是在 2014 年,相信阅读此文的大多数读者,也是从 Martin Fowler 与 James Lewis 合写的文章《Microservices: A Definition of This New Architectural Term》中首次了解到微服务的。...

  • HR-XML(可扩展人力资源标准)简介

    HR-XML(可扩展人力资源标准)简介Flyspace (flyspace@x263.net)      2003年12月12日  标准出处:http://www.hr-xml.org标准简介:什么是HR-XML联盟?HR-XML联盟是一个独立的非盈利机构,其宗旨是发展和促进有关XML细分部分的一系列方法,从而实现电子商务和与人力资源有关的数据交换自动化。与人力资源相关

  • xCBL简介

    关于xCBL        XML普通商业库(xCBL) 是不断完善中的XML标准。xCBL是支持健壮的、可重用的创作的文档架构,可以促进全球贸易进程。       xCBL作为”mother code”,是能够为所有参与电子商务的群体理解的语言。       xCBL的可协作性使得分布在世界各地的商务活动可以很容易的在多个领域间交换信息资源。       xCBL定义了购买者

  • 可扩展客户信息语言 (xCIL) 简介

    可扩展客户信息语言 (xCIL) 简介              flyspace(王金辉) 粗译       参考原文:http://www.oasis-open.orgxCIL xCIL定义了可以通过标准格式描述客户核心信息的基本结构,可以应用于CRM/e-CRM,客户信息系统,数据处理(分析、匹配、验证、核对等),客户数据仓库,薪资系统,员工信息系统等。xCIL引用了以下

  • XForms入门

    2 XForms入门本章简单描述XForms,但并未全部描述Xforms的所有功能。 For XForms完整标准的描述, 请参考后续文档。以下小节提供了嵌入XHTML文档的XForms应用程序的完整实例,实例在E.1 XForms In XHTML。2.1 从表述中分离目的或意图典型的表单由意图(或目的)等与数据集合组成,意图通过创建允许用户提供必需信息的交互式表述实例化, 完成表单

  • XForms实现(一)

    XForms实现:XForms 1.0 Public Test Suite 在W3C网站上可以获得。 X-Smiles X-Smiles 是Helsinki University of Technology 开发的基于Java的XML浏览器,提供 XForms Candidate Recommendation版本的部分支持, 使得XForms在客户端应用和XHTML、SMIL、SV

  • 什么是XForms?

    什么是XForms?当前的Web表单的设计无法从表单的表述中分离表单的目的或用途,然而XForms, , 由分别描述表单行为和样式的独立单元组成,这就允许柔性表述选择, 包含经典的XHTML表单,附加到XML表单定义中。下面的图例说明XForms Model如何定义单一的独立的XML表单,以及如何能够处理多样的标准或私有的用户界面: Xforms用户界面 提供了用以替代目前的X

  • 果壳处理器研究小组(Topic基于RISCV64果核处理器的卷积神经网络加速器研究)详细文档+全部资料+优秀项目+源码.zip

    【资源说明】 果壳处理器研究小组(Topic基于RISCV64果核处理器的卷积神经网络加速器研究)详细文档+全部资料+优秀项目+源码.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

  • JSP学生学籍管理系统(源代码+论文+开题报告+外文翻译+答辩PPT)(2024x5).7z

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于计算机科学与技术等相关专业,更为适合;

Global site tag (gtag.js) - Google Analytics