免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3251 | 回复: 0

Martin Fowler论21世纪的软件设计 [复制链接]

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2013-04-08 09:40 |显示全部楼层
  
无模式(Schemaless)数据结构不易为人所理解,重要的是当我们在NoSQL数据库中使用这些数据结构的时候如何权衡它的优缺点。在最近的一次公司活动中, Martin Fowler 就无模式数据结构 和 NoSQL与一致性进行了讨论。

无模式数据结构:

无模式通常被视为NoSQL数据库的一个重大优势,而Martin认为这一领域不易被大家充分理解,同时他介绍了无模式的不同方面以及使用无模式数据结构的优缺点。

Martin讨论的重点是即使在无模式的结构中,依然存在着模式。为了查询数据和寻找信息,你必须理解数据,从而有了一个隐式模式(Implicit Schema),即数据的定义,比如代码。与此相对的是关系数据库中的模式,该模式只接受恰当的数据,这是一种显式模式(Explicit Schema)。

Martin在结束讨论时声称,即使在某些情况下无模式非常有用,但大多数时候 “隐式模式==坏事(Bad Thing)”,并推荐使用显式模式从而使数据拥有一个清晰的描述。但是他同样也指出模式并非固定的存储模式;它可以在同一契约下具有更多的形式,例如一个数据访问层或XML模式。

NoSQL与一致性

在本次演讲中Martin着眼于NoSQL数据库一致性的两个方面。

逻辑一致性涉及在一个数据库中工作时如何保持数据一致性。对于大多数NoSQL数据库(图形数据库除外)来说,使用聚集(aggregate)(来自领域驱动设计中的一个概念,即在同一时间存储的一个对象群集)是避免数据不一致的一个显著方式。

当描述同一数据在多个不同地点的复制一致性时,Martin介绍了CAP 理论。而数据一旦通过网络完成复制后,他将该问题简化为如何在一致性和可用性之间做出选择。他强调了这并非是一个技术问题,这是在一致性和可用性优先级方面的一个业务选择。

最后,Martin以软件设计的价值和技术债务的讨论结束了该次演讲。

查看英文原文:Martin Fowler on Software Design in the 21st Century
                        

本文来自ChinaUnix新闻频道,如果查看原文请点:http://news.chinaunix.net/opensource/2013/0407/2710096.shtml

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP