是玩具还是未来?重塑传统数据库的云
发布时间:2021-06-26 12:03:48 所属栏目:大数据 来源:互联网
导读:你有一些要保存的数据。在过去,答案很简单:安装一个正式的数据库,把数据输入其中,然后在让计算机为你整理各种东西的同时,把你的时间花在给数据库制造商开据
你有一些要保存的数据。在过去,答案很简单:安装一个正式的数据库,把数据输入其中,然后在让计算机为你整理各种东西的同时,把你的时间花在给数据库制造商开据金额不菲的支票上。现在,事情不是那么呆板了。新一波令人激动的新工具正在把“db”这两个字母附加在许多摆脱传统关系型模型的代码上。老数据库管理员称它们为“玩具”,暗示来自这些自以为了不起的年轻人的荒唐事存在着可怕的危险。而这些自以为了不起的年轻人不理会这些警告,因为新工具好得和速度快得足以满足他们的需要。 因为有意忽视由老一代数据库大师们的惨痛教训得来的许多规则,这些新的非关系型数据库引起人们的注意。由于所有的Web设计人员都梦想开发一种需要一间塞满机器的大房间来保存所有用户的所有数据的新东西,因此规则需要被改变,甚至被打破。 第一个需要废除的东西就是庄严古老的JOIN。硬盘空间价格昂贵,一个好的规格化专家才能把数据保存在有限的硬盘空间中。问题是当数据分布在多台机器上时,JOIN速度变得非常非常慢。现在硬盘空间是那么的便宜,而且许多数据模型不能从标准化中得到好处。JOIN很容易遭遗弃。 下一个新规则是开始使用像“最终一致性”这样的句子。Amazon的SimpleDB文档资料包含这个不精确的承诺:“一致性通常在数秒钟内达到,但是高系统负载或网络分区可能会增加这个时间”。当新的小人物谈论群集中的所有计算机如何找出时间来复制数据并在机器状态良好和可供使用时提供一致和答案时,他们真正惹恼了那些有怪癖的老人。立即的一致性与最终的一致性之间的这种区别有着深刻的哲学含意,取决于数据有多重要。当听到这些新数据库的新闻时伸手去拿救心药的老程序员们通常是为希望确保一天工作结束时账户平衡的银行编写程序。毕竟,如果在一次失败的数据库交易后少了一文钱,银行的那些才华横溢的领导人就不能转过身来把现金“投资”到次级抵押贷款中。 但是,即使一些交易失败许多现代网站却仍将毫不停顿地继续前进。(我经常看到Facebook上的小故障,但地球毕竟不会因此停止转动。)这些网站中没有一个关心账目是否像银行的账目那样平衡——他们实际上不需要传统数据库的威力。 为了让人们了解不断增加的非关系型数据库,我选择了其中一些并利用它们开发了一些测试应用。这个领域令人吃惊地多样化,虽然这类产品是那么的精干――以致它们实际上只有不超过3条的命令:插入(Insert)、更新(Update)和删除(Delete),还有一些数据库只可作为服务来使用。 Amazon SimpleDB SimpleDB是Amazon大举进军云计算服务行动的最先进的、最像云的组件之一。一旦登录和得到秘密口令后,你就可以向SimpleDB 发送Web服务XML,它将为你保存数据――只要你按计费表上显示的费用付费。你不需要考虑安装任何东西或备份什么。Amazon为你把所有这些工作隐藏在它的Web服务墙后。 SimpleDB在这些数据对之上提供两层分级。顶级是“域”,第二级是“条目”。你在选择域和条目名后,再输入数据对。SimpleDB特性比较丰富的API包括对数据分类,甚至统计与查询匹配的条目的数量。你甚至可以编写把没有以某个串开头的值排除在外的查询。对于使用SQL Server 或Oracle的人来说,这可能听起来算不了什么,但一些这类低费用数据库不能对结果集合中的数据进行分类。 SimpleDB旨在与Amazon的Simple Storage Service (S3)的一起使用,因为数据对中的每个值的长度限制在1,024字节。这对于许多串来说足够了,但对于许多内容引擎就不够了。因此你需要保存指向S3中数据的指针。SimpleDB中有一些像Java Persistence Architecture扩展的库,这些库跨两个云,为你处理这种指针戏法。 另一些限制会导致你开始利用多个调用来完成类似JOIN这样的工作。每个查询只能运行5秒。答案只能容纳250个条目。每个条目只能有250个数据对。一些人半开玩笑地用“description1”、“description2”和“description3”这样的词把许多值串在一起。目前还有很多突破类似限制的简单的办法,但它们开始让你置疑SimpleDB是使你的生命变得更容易,还是更困难。 Amazon开始重新编写API以取得更多和更好的认证功能。到2009年9月,调用SimpleDB(以及其他一些服务)将通过SSL进行,从而提供安全性和认证。此外,Amazon还将加强签名机制。 (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |