改变未来的九大算法第八章中文翻译教材.docx

改变未来的九大算法第八章中文翻译教材.docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 数据库:追求一致性 “数据!数据!数据!”他不耐烦地喊道。“就如同我不能没有粘土去造砖”。——阿瑟柯南道尔 《福尔摩斯探案集》之《铜山毛榉的冒险》 试想下面的让人晦涩的例子。一个人从办公桌上拿起一张印轧的纸(支票簿),写上几个数字,再加上华丽的署名。他从册子上把这张纸撕下来装到一个信封里,拿起另外一片纸(邮票)粘在信封上。最后他拿着信封走出家门放到路上的邮箱里。 21世纪之前任何人不可避免都要月供,像电话费、电费、信用卡费等等。之后,在线支付和网上银行系统出现了。新系统的方便和简单让预先纸质工具显得繁琐和效率低下。 是什么样的科技催生了这样巨大的转变呢?最显而易见的答案是互联网时代的到来,如果没有互联网任何形式的在线通信都行不通。另一个惊人的技术是公众密码学,已经在第4章中谈论过。如果没有公众关键密码,敏感的金融信息不能安全地在网上传输。然而这里至少还有另一个对网上交易极其重要的技术:数据库。虽然大多数的电脑用户并没有清晰地意识到,但事实上所有的网上交易都要通过复杂的由70年代以后的电脑科学家陆续研发的数据库技术。 数据库体现在交易过程的两个主要方面:效率和可靠性。数据库通过允许成千上万的用户同时进行交易而没有任何冲突和矛盾的算法来保证效率,通过保证数据能不论电脑组件(如硬盘)出现故障(总是导致严重的数据丢失)而完整地保存的算法来提供可靠性。网上银行是典型的需要很高效率(不出现任何错误和矛盾地同时服务很多客户)和很好可靠性的应用。所以回归正题后我们将经常用网上银行做例子。 本章我们会了解三个关于数据可的基础的、美丽的想法:提前日志记录、两阶段提交和相关联的数据库。这些想法数据库在储存特定格式的重要信息方面使数据库占据了绝对优势地位。一般地,我们都试着去关注每个想法的核心,找到一个单独的让它工作的技巧。提前日志记录催生了“代办事项列表法”,它最先被应用。然后我们转向两阶段提交协议,在这里叫简单却实用的“准备-提交法”。最后我们用“虚拟表”的相关数据库来描述这个??界。 在学习这些技巧之前,先让我们清理干净数据库的究竟是什么的疑惑。事实上,即使在电子科技领域“数据库”也可以泛指不同的东西,所以不能给出单一的正确的定义。但大多数专家同意数据库的主要特性,它能区分其他的储存信息的方式,就是数据库中的信息都有预定义的存储结构。 为了理解什么是“存储结构”,先让我们看它的对立面——一个没有存储结构的例子: Rosina ,35岁,他的朋友是Matt,26岁。Jingyi 37岁,Sudeep 31岁,Matt,Jingyi和Sudeep 是好朋友。这是社交网站典型的信息,像Facebook或者Myspace,需要统计它的会员。当然,这些信息不会没有规则地存储。下面是以结构化形式存储的同样的信息: 电脑科学家把这种结构叫表。表的每一行包含同一件事物的信息,每列包含特定类型的信息,如年龄或姓名。一个数据库通常包含很多表,这里为了简单只用了一张表。 显然,用结构化的表格来操作数据对人和电脑来说都更有效率,比起没有结构化的零散的字符(上面的例子)来表述信息。而且数据库除了好用还有更多方便的东西。 我们探寻数据库世界应该从一个新的概念开始:一致性。我们不久将发现数据库的使用者始终无法摆脱一致性——有很充分的理由。简单来说一致性意味着数据库中的信息不能相互冲突。如果出现了冲突,就使数据库管理员产生最难受的恶梦——不一致性。但不一致第一次是怎么出现的?试想表中前两行稍微变动,如下 你能指出问题所在吗?显然第二行的信息和第三行的信息出现矛盾。这就是不一致开始出现的例子。 为了假想一个更严重的实例,把朋友改成配偶。我们会总结道A和B结婚,但B却嫁给了C——一个在很多国家都不合法的情形。 实际上,这种类型的不一致容易避免当添加新数据的时候。电脑在遵循规则方面做的很好,很容易地就能设置数据要按照规则“如果A和B结婚,则B一定和A结婚”。如果有人要添加违反规则地信息,他们将受到错误信息然后本次添加失败。所以保证一致性要依据简单的规则而不是其的聪明的技巧。 但还有其他类型的不一致需要更多的巧妙的解决办法。我们来看一个。 交易和代办事项列表法 交易可能是数据库中最重要的想法。但为了搞清楚它是什么,为什么它很 必要,我们需要接受关于电脑的两个事实。第一个你可能不太熟悉:电脑程序崩溃——程序崩溃时,电脑忘记了它在做的所有东西。只有被保存在电脑的文件系统的信息能够保留下来。第二个看似模糊实则重要:电脑的储存装置如硬盘设备和闪存设备,能够即时写入一小段数据——典型值是500字。(如果你对科技术语感兴趣,我谈到的是硬盘的扇形区的大小,为512比特。对于闪存,相关的叫页面大小,也有几百或上千比特。)作为电脑用户,我们从不关注这些设备即时存储的微小的体长限制,因为现代设

文档评论(0)

舞林宝贝 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档