尽可能减少系统中的时序约束。当你想添加一个约東,使某个物品或对象在用户的两个动作之间维持某个状态时,放松业务原则中的约束。由于大多数RDBMS的ACID属性,扩展具有时序约束的系统非常因难。
在需要添加约東时,例例如让物品从用户看到它们直到用户购买它们都存在,要认真考虑。虽然某些特殊情况可能会令客户失望,但是弥补客户比起不能扩展来说容易得多。
在数学和机器学习(人工智能)领域,有一套约東满足问题(CSP),其中的对象必须满足某些约束。CSP通常复杂度很高,需要启发式搜索和组合式搜索方法结合才能解决的。两个经典的CSP难题是数独游戏和地图着色问题。数独游戏的目标是填写一个大九宫格,每行每列都有9个单元格,大九宫格可以分为小九宫格,要在每个小九宫格中填入1到9的数字,使得大九宫格每一行和每一列的数字都不重复。地图着色问题是对地图进行着色,使相邻的地区具有不同的颜色。
CSP问题还会衍生出时序约束满足问题(TCSP),其中变量表示的是事件,约束表示两个事件之间可能的时序关系。这类问题的目标是确保变量间的约束,决定满足约束的各种场景。对变量强制实行本地一致性,可以确保问题中的所有节点、弧和路径都满足约東。机器学习领域和计算机科学中的很多问题都可以建模为TCSP,如机器视觉、调度、平面布局设计、SaS系统中的用例等,都可以看作是TCSP。
常见的SaS应用中的时序约束的例子是用户购买一个物品。用户浏览该物品,把它放入购物车并结算,这些操作都需要一些时间。有人认为,考虑到绝对的最佳用户体验,无论这个物品是否存在,都要在整个过程中使它保持统一的状态。要实现这一点,就需要在用户关掉该页面,或者放弃了购物车,或者结算之前,把该物品在数据库中标识为“扣押”的状态。如果我们站点的用户数不多,这种方法简单实用。对用户来说,在把物品加入购物车之前,浏览了100个或更多的物品是很常见的。我们的一个客户声称,他们的用户在把一个物品加入购物车之前,要浏览500多个检索结果。对于这种情况,我们的应用可能需要几个数据库的读副本,使得更多的人能够检索和浏览物品,而不是购买物品。这样就产生了问题,大多数 RDBMS难以保持节点间的所有数据完全一致。即使数据库的读副本或者从数据库在数据一致性上只有几秒钟的差别,还是会产生特殊情况,例如两个用户都想查看某个物品,而它只剩下最后一个。后面我们会来解决这个问题,但是首先让我们看看为什么数据库会造成这个问题。
造成RDBMS难以进行分布式扩展的属性是一致性。CAP定理,又称为布鲁尔定理,是以计算机科学家 Eric Brewer的名字命名的,它描述了在分布式环境中设计应用的三点核心要求,但这三点要求不可能同时满足。这三点要求用缩写CAP表示。
一致性(Consistency)--客户端发现一组操作同时发生了
可用性(Avalability)一一在收到计划中的响应后,任何操作都要终止。
分区容忍性(Partition Tolerance)-即使个别组件不可用,操作也会完成。
这个问题的解决方案叫做BASE,是解决CAP的架构的缩写,代表基本可用(Basic Available)、软状态( Soft State)和最终一致性(Eventually Consisten)通过放松、一致性的ACID属性,在扩展性方面可以得到更大的灵活性。采用BASE架构可以使数据库最终达到一致。这可能只需要几分钟,甚至几秒钟,但在前面的例子中我们看到了,如果应用程序希望能够“锁定”数据,那么即使几毫秒的不一致也会造成问题。
放松时序约束可以重新设计我们的系统、从而使它能够达到最终致性。用户刚浏览过一个物品,不能确保该物品还存在。只有把该物品放入购物车,应用才会锁定数据,锁定操作会在主写入副本或主数据库中执行。由于我们具有ACID属性、所以可以确保如果交易完成了,就可以把该物品的记录标志为“锁定的”、然后用户就可以继续放心购买了因为该物品已经为他们保留了。而对其他浏览该物品的用户来说,它则可能还有,也可能没有了。
另一个常常发现时序约束的应用领域是转移物品(钱)或在用户间通信。在单一数据库中,很容易确保用户A把钱、消息或物品转移到了用户B的账户。把数据分布到多个数据副本上,使得保持这种一致性变得很困难。解决这种问题的方法是不要希望对即时转移操作有时序约東。让用户A在看到用户B转给他的钱之前等待几分钟,是完全可以接受的原因很简单,转移物晶的双方通通常不会在系统中同步转移物品。显然与同步通信不同,如聊天。你很容易在网站设计系统中加人时序约束,因为看来,这能提供最好的客户体验。但是,在添加时序约東前,最好考虑一下这样做产生的长期问题,因为这种约東有可能使得系统扩展变得很困难。
12月去越南芽庄旅游有什么气温变化
越南芽庄是越南南部海岸线上的一个海滨城市,享有美丽的沙滩、清澈的海水和温暖的气候。每年的12月,是许多游客选择前往芽庄旅游的时间。然而,对于那些次来到这里的游客,他们可能会对这个时节的气温变化感到困惑。因此,本文将为您提供有关12月去越南芽庄旅游的气温变化,以及如何为这个季节的旅行做好准备的相关信息。 1. 12月的气温变化 12月是越南芽庄的旅游旺季,这个月的天气通常是温暖的,但是也有可能出现...
西安网站建设公司详解透析网站建设框架 一、概念 框架(Frames)的概念*先是在Navigator 2.0中被引入的,它能够在同一个浏览器窗口中同时显示多个网页设计,多个网页之间存在相互的关系。 框架与表格不同,它们较大的区别在于每个框架的框里都可以包含一个独立的网站设计,每一个页面都可以独立于其它页面而翻动或改变。可以说,每一个框架就是一 个迷你的浏览器。合理地运用框架可以使一个页面显示得更加好、更具有视觉上吸引力、更宜于导航。然...
企业网站设计体验设计满足消费者全面获取信息的需要 体验设计满足消费者全面获取信息的需要 。目前关于陶瓷服饰配件设计的书还很少, 针对网购环境的陶瓷服饰品网页体验设计更是不足。从文化宣传上来看, 网上商城一般以展示产品外观尺寸为主, 少有产品生产工艺、文化信息、佩带规则等知识的介绍。比如在一个卖青花陶瓷饰品的页面你并不能看到关于青花的相关文化知识介绍。然而人们买一个文化产品时, 最开始可能是关注它的外形和色彩, 但如果他确定想买为已有时, 就会有更...
深圳宝安达华杰进出口代理和虎网科技签订网站建设事宜 达华杰选用虎网站企业商务型网站案例,其功能具备实用型所有配置外、特别值得关注的是增设了SEO深度优化,不管是内页还是标题都能够独立和个性化设置关键词和长尾词,更适合进行全站seo优化。达华杰是经深圳市宝安区工商局审核的正规企业,统一社会信用代码:91440300772724455J。同时经国家工信部和广东省通信管理局审核通过ICP备案;备案号:粤ICP备11094180号。达华杰坐落于深圳市宝安区...
网站建设哪些是必须具备的功能呢? 互联网时代的迅速发展,使得越来越多的人开始关注网络这一重要渠道, 网站建设 也为更多的企业商家所熟知,并开始建立自己的网站,为企业能够搏得更好的发展空间,同时也就促进的网站建设技术的快速发展,出现了各式各样的网站类型。对于这些不同类型的网站来说,有哪些功能是必须要具备的呢? 一、后台功能 为了方便企业对网站的管理和运营, 网站建设 时建立一个方便操作的后台是少不了的。特别是对于一些对网站不...
更适合的网站建设-云服务器 如今互联网都在谈论云技术,而且云技术已经被广泛使用,云的时代已经来了,您的网站上云了吗? 云你可能觉得陌生,其实云就在你身边,小企业也能用上云!对于想要建网站,提高灵活性的企业来说,既能提供成熟运维管理又能在服务上进行创新的云建站才是最佳选择。 安全、稳定有保障 云建站所使用的集群云主机,网站稳定,数据不丢失、更可靠; 严格的内容把控系统,不受垃圾网站牵连,运行更安全,优化效果更...