标签为 ‘云计算’
今天六月份Opera为其浏览器发布了一个叫做Opera Unite的新功能,希望通过该功能“再造网络”。这个新功能实际上可以把你的电脑变成一台服务器,其中包括一个聊天软件,一个图片分享软件,一个文件分享软件,一个媒体播放器,其幕后的潜台词是让人们放弃“云计算”,通过电脑和好友直接分享文件。在云计算风行的当下,采用P2P技术的Opera Unite显然有些特立独行,并没有赢得多少青睐。
但是,Opera希望Unite成为Opera浏览器的核心功能之一。今天Opera发布了测试版Opera Unite,并将出现在Opera 10.10中。考虑到目前云计算事故不断,Unite可能有机会挽回一些用户。
Opera Unite测试版
该功能此前几个月一直是独立产品,现在将融入到Opera浏览器中。除了包含上述软件组合之外,一个叫做“冰箱”的软件允许用户在好友的虚拟冰箱上发布便条;另外还包括一个网络服务器,让你可以直接把电脑作为网站主机。
云计算事故让用户警觉;Unite还有机会翻盘?
尽管产品本身换汤不换药,但其潜在用户的看法可能会发生变化。自从该产品发布以来,云计算事故频发:Gmail宕机,在Twitter、Facebook和LiveJournal上同时发威的DDOS攻击。类似事件在数月内连续上演,不禁让人们担心云计算的稳定性,甚至一些电脑极客在使用云计算的同时也通过计算机硬盘备份数据。
Unite这种本地+云计算(服务器)的方式为数据稳定性提供了双保险,或许还可以赢得一些潜在用户。
其它声音:错误不在云计算,云计算仍是趋势
也有人认为云计算故障只不过是成长的烦恼。虽然并不完美,但比家庭和办公室电脑更加安全可靠。
可是说到底,Opera这种旨在改变互联网的技术看上去像是一种倒退。云计算可能会有起有落,但是它是计算的未来,而不是Unite的P2P。
编译:pestwave
这些日子以来,“云计算”这个术语,主要在“网页的未来”这个场景下,用得有些滥了。但是云计算的潜力既不会起始于也不会终止于将个人电脑转变为精简型客户机(thin client)—移动平台也将深受这项技术的影响。至少,市场调研公司ABI Research所给出的分析是这样说的。他们在最近的报告《移动云计算》中提出了这样的理论:云计算不久将成为移动世界中的一股爆破力量,最终会成为移动应用的主导运行方式。
你也许会问:“移动云计算”这个名词到底是什么意思?基本上,它指的是这样一种基础设施,其中的数据存储和数据处理都在移动设备之外完成。如今,已经有了一些很好的移动云计算实例,包括移动Gmail、Google地图以及一些导航应用。但是,今天的大多数应用还是在移动设备上而不是在云里,完成大多数的数据存储和处理。几年之后,这种情况会发生变化。
为什么用移动云计算
如果抱持一种以西方为中心的世界观,有时会很难记住,并非每个人都拥有一部智能手机。世界上还有很多这样的地区,那里使用的主要还是特色手机。虽然随着时间推移,智能手机的市场占有率确实会增加,特色手机也将变得更复杂,但是那些低端手机不会很快退出历史舞台。而正是它们的存在,在帮忙推动移动云计算的潮流。
世界上不仅有更多的用户在使用特色手机,而且具有移动网页应用开发能力的网页开发人员,也比任何其他类型移动设备的开发人员都要多。特色手机本身的功能也因为具有更智能的内置网页浏览器(以及许多可供下载的其他浏览器)而变得更强大,这一点再加上前面那些因素,将对移动云计算的增长产生影响。
移动云计算将会怎样成为一种爆破力量?
ABI 公司相信云计算不久将成为移动世界中的一股爆破的力量,有两个主要原因。首先,仅仅看一下这种技术有能力拥有的用户数:远高于智能手机用户的数目。第二个原因跟如今怎样发布应用程序有关。目前,移动应用是跟某个运营商绑定的。比如说,如果你想使用一个iPhone应用,你首先得跟运营iPhone的移动运营商拉上关系。如果你想用Blackberry 应用,情况同样如此。但是如果有了移动云计算应用,只要能接入网络,你就可以使用这些移动应用。
PaaS公司所采取的动作可能改变一切
当你想到“平台即服务”(PaaS)时,最早跳入你脑海的一家公司可能是Salesforce。利用他们的平台Force.com,商业应用可以“在云中”建立和运行。但是如今,Salesforce并不是世界上唯一的大PaaS公司—亚马逊网页服务(AWS)和谷歌应用引擎是另外两个可能对这种潮流产生巨大影响的平台。
目前,有50多万开发者在使用AWS,谷歌应用引擎上面也有45 000个应用。现在设想一下,如果这两个公司跟Force.com一道突然开始奋力推销自己的移动产品,情况会怎样。如今,AWS和谷歌应用引擎都还没有这样做,Salesforce提供的移动产品也仅限于智能手机(Windows Mobile、Blackberry 和 iPhone)。但是当这些公司觉得建立移动网站跟建普通网站同样容易时,移动革命就会在你掌握中了。
但是人们喜欢应用!
我们说“移动云计算”是未来的趋势,言下之意并不是说:手机里面将充满在各种浏览器中都可以浏览的网站的链接,而不是那些特别的可下载的应用,其中有些你甚至还能购买到。相反,移动应用将以这两种格式同时存在。至于可下载的应用本身,它们看来还将是典型的移动应用—-终端用户甚至注意不到差别。但是,会有差别的—-只是它会在后端。移动应用会开始将你的数据储存到云里而不是在移动设备上,应用也将变得更强大,因为处理能力也全权交给云去负责了。
第一个具有云计算能力的移动应用,有可能是商业上集中关注的移动生产力应用(business-focused mobile productivity applications),因为合作、数据共享、多任务以及调度都是其中的关键因素。不过,对消费者而言,导航和地图应用将是这种趋势下最显著的实例。此外,如今已经有些专业应用开始以移动云应用方式工作了—比如,Schlage 提供了一种遥控式无钥匙门禁系统,可以让你在远方处于移动状态时对家里进行控制。你可以放别人进入你的家里,可以控制你的电灯、空调和摄像系统等等。在你的iPhone应用商店(iPhone app store)中也有一些应用,可以用来遥控你的个人电脑和DVR。
潜在的问题
当然,也有一些潜在的问题可能会阻碍移动计算的这一大转变。最显著的问题就是并非到处都能获得快速的移动互联网接入。比如,在美国,3G在市区之外的覆盖就是参差不齐的,会导致间歇式连接和慢网速的问题。世界其他地方的情况可能更糟糕。
但是,有些新技术,比如进行本地缓存的HTML5之类,可以帮助移动云应用克服这类问题。而且甚至存在这种可能,有朝一日浏览器—至少在某些地区—也会被另一种可以更好地提供移动网页访问的技术完全取代。ABI Research 提到了 OMA 智能卡网站服务器 这样的倡议,特别是一种增强型SIM卡,可以直接连接到运营商,将应用推送给手机。还有一种叫 TokTok的技术,可以让人们通过语音接入Gmail和Google日历之类的网络服务。有了这种支持语音的搜索,移动用户可以直接跟位于网络边界的服务端进行交流,而不必启动一个网页浏览器,再浏览相关的移动网页。
移动云计算什么时候才能真正启动?
据ABI 说,这种改变距离现在只有几年了。他们说:到2010年,我们将看到一个或所有大PaaS公司推销他们的移动产品。但是首先,开源移动合作组 BONDI的API标准要开始生效。晚些时候,在2011,我们将看到更多的HTML5,OneAPI标准会开始起作用。(OneAPI 涉及到标准化的网络应用,允许开发者一致地访问网络提供商各个功能部分,比如位置服务)。所有这些加在一起将促进朝云计算方向迈进。
这种变化将根据市场的情况,以不同的速度出现。具有更高互联网参与度的地区显然会领跑,具有更高的用户普及率的地区也会如此。这包括了西欧、北美和亚洲的部分地区。其他地区会随后跟进。到2014年,移动云计算将成为占主导地位的应用开发策略。到那个时候,我们的PC机将比现在更像精简型客户机,如今看来我们的手机似乎也将会如此。
(译者:cyberpeacock)
一年前,我们点评了一款名叫Practice Fusion的医疗健康应用程序(link),它是一款面向医生、基于Web的免费EMR(电子医疗记录)系统。本周Practice Fusion宣布得到salesforce.com的一笔金额不详的投资,以及在salesforce.com的云计算平台Force.com推出PHR(病人健康记录)应用程序。有了这些新动态,看来我们应该对Practice Fusion进行一番回顾了。它自己的发展状况如何,同salesforce.com的合作又有何意义?
在初次点评时隔一年之后,Practice Fusion发展势头依然不错。2008年8月,它的产品被宣传为“为医生服务的Google应用”,提供病人管理、日程计划、安全的电子邮件等功能。然而,正如我们在去年那篇文章中指出的那样,Practice Fusion并不是Google Health的竞争者。Practice Fusion主要面向医生,而Google Health和其他大型服务则主要面向病人。
Practice Fusion目前拥有“18000多名用户”,比起一年前的1300名医疗专业人员,增长幅度不可谓不快。产品最初于2007年11月发布,所以它也已经接近两岁了。
云计算是否适合医疗健康领域?
Practice Fusion今天的一篇博文提出了一个问题:“云计算”适合健康信息领域吗?本周早些时候,我们曾报道过云计算如今几乎已经渗透到了科技的每一个角落(link),但仍存在着危险(link)。我们注意到,最近旨在盗取Twitter内部文件的Google Docs入侵便是引人注目的案例(说它引人注目,是因为被窃的文件随后便被发送至一些新闻媒体,其中不乏“火辣”内容)。
但即便有危险存在,Practice Fusion仍声称在医疗健康领域使用云计算的成本收益是显著的,特别是在EMR的小环境内:
“高成本和低可用性被认为是采用医疗信息技术的最大障碍,特别是在电子医疗记录(EHR)系统方面,这些问题导致的EHR低使用率让人忧心。削除这些成本,以及小型医疗机构无法负担的IT维护任务,无疑能扫除推行EHR道路上的壁垒。”
安全保障无疑是云计算潜在的负面问题。但Practice Fusion用几个使用案例表明,云计算较桌面应用具有一些优势:灾难恢复,入侵防护(因为“SaaS软件提供商能够将资源用于解决很多用户无法应付的安全问题”)以及隐私保护。所有这些优势的前提是,像Practice Fusion这样的云计算/SaaS专家拥有更多的技术和资源,并通常能够更好地提供安全保障要求。
这在理论上无疑是妙不可言的,但每一个案例都站在了理论的反方,Twitter文件的被窃也不例外。而这样的案例却数不胜数。
不过,我们相信随着时间推移,云计算会比以往更加安全。毋庸置疑,Practice Fusion是个势头不错的年轻公司。在与Saleforce.com合作以后,他们的未来也得到了保障。
(译者:pavel)
美国联邦政府已经决定为政府部门提供软件作为政府部门的一项服务,并为这些部门提供基于云平台的软件,来发展,测试和设置一些新设备。据“联邦新闻电台”今晨的一篇报道,以上这些计划会在今年九月召开的“政府2.0峰会”上公布细节。
软件运营服务(SaaS) 提供的诸多服务使得政府批准的各项服务,比如电子邮件,生产力运用软件,文档管理和业务流程管理软件的使用顺手可得。这些服务的目的是想让其他政府部门都能使用。更让人激动的是平台的使用也是这个计划中的一部分。据报道,此举的目的是依据联邦“财政部”的政策而定的。
政府机关使用一个政府提供的云平台来建立和布置基于万维网的运用,其前景就像私营企业已经在使用了亚马逊的云计算服务一样让人振奋。通过降低费用,减轻运用管理方面的负担,政府的云项目能够产生一波跨行业运用创新的高潮。至少理论上确实如此。
如果想成为下一个热门运用推广的部门的话,政府就得面的私营技术部门的竞争,私营企业通过那些规模较大企业的努力,已经对这个特殊的领域深入研究过,并为那些推广者提供了使WEB运用服务产生极大财富的可能性。
还有值得关注的是:在政府的新推出的云平台上,以及在此平台和联邦“政府数据”站点进行运用服务而产生的数据之间还需整合。一个所谓的跨部门的公共数据已经进行了分类,作为后续使用的推广样板。创立一个互为受益的生态发展系统似乎是件雄心勃勃,前程似锦的事情,但是远非那么容易可以做到的。对数据库有帮助的云方式的数据运用服务让其他发展商把数据重新汇聚到这个平台上,创立许多新的运用服务,同时也把新数据提供给政府的数据目录,这会成为可能吗?这真有点太过完美,难以成真。
有关政府云项目的更深度的观察,请看今天“联邦新闻电台”网站中Jason Miller撰写的文章。
(译者:到处看看)
Tonido对云计算的整个概念大加挞伐,称其是“正常世界里的异类”(link)。
在一个虚拟计算、云服务器技术、上网本和web应用程序占据了创业经济大部分份额的时代,Tonido团队决定为用户搭建一个在本机上拥有、存储和运行所有程序和数据的平台。Tonido的产品是一个包含音乐、文件分享程序和综合性工作软件的P2P应用套件,这些软件没有一个是要求用户在线使用的。Tonido还出售自己的微型本地服务器,价格为100美元。这样一个开源、跨平台的应用和数据安全产品是否物有所值?对于那些对隐私过敏的用户,它似乎还不错。如果是我们这些人使用呢?
Tonido的功能和优点列表让我们想起了右翼国家人权人士的教条。“我们笃信很多公司掌握着所有人的数据在长期上是无益的,可能会引起严重的隐私问题并削弱人们的自由。”网站上写道。
位于达拉斯的软件公司CodeLathe(即Tonido的母公司)在其博客上写道:“当前的趋势背离了逻辑和正常规律。一方面,计算机功能变得强大,个人存储设备更加廉价。但我们仍然将自己数据的监管权交给那些寻求利润的公司,这些公司的市场总值恰恰取决于它们的服务器中有多少客户数据,以及它们从客户数据中能获得多少价值。”
抛开道德以及匿名用户信息的重要商业和社会价值不谈,使用Tonido的好处是显而易见的:你的数据不用经过其他公司的服务器。从隐私和数据所有权的角度来说,这是件不错的事。而且Tonido套件是开源的,下载绝对免费。
尽管网站许诺Tonido将“释放你电脑中未开发的潜能”,但人们之所以在网上中运行应用程序、在云中存储文件,首要原因就是这样做能解放系统资源。近年来,将网络功能转移到在线平台上不是影响甚微,就是一败涂地,Opera’s Unite和Joost两例便是典型。
Tonido带来的另一个担忧是数据备份。对于云服务,备份诸如博客文章和图片这样的在线信息已经成为热点,但备份个人电脑信息从来就没有引起过关注。Tonido如何改变这种状况?存储在个人机器上的信息容易受到硬件故障的影响,而存储在网络上的信息则取决于服务公司的成败。
存储在Tonido应用程序上的数据不会出现在搜索引擎的索引上;对很多个人和企业(比如我)来说,这算不上什么好处。
还有,比起全球通用电邮或是接近通用的iTunes和Word,还不那么有名的Tonido要求参与分享的各方都得下载安装Tonido。Tonido的应用套件数量也还很有限(app store)。
所以,尽管Tonido的应用界面美观(截图)且不收取费用,但用户却得牺牲掉方便,换来数据的那么一点点安全。Tonido值不值得这种交换,还得让用户自己决定,但从过去几年的趋势来看,Tonido没有乐观的理由。
(译者:pavel)
位于加州的云计算公司3Tera今日宣布即将推出AppStore,AppStore是一个云计算组件市场,用户能在此找到可扩缩的成品组件,通过免费、试用或是付费方式使用。
我们在2006年写道,AppLogic允许“网络公司通过浏览器就可以管理、衡量所有的应用程序、服务器和存储空间”。AppStore提供 AppLogic布署的软件协议栈,其目录涵盖一切类型的组件和程序,从网络和服务器组件到存储解决方案,从管理工具到监视工具,一应俱全。
“3Tera AppStore的采用,使得我们建立起一个软件提供者社区,他们的产品在‘云’中唾手可得,有求必应。”3Tera的总裁巴里·X·林恩说。
AppStore用户可以从软件销售商手中取得预配置的成品组件,其中很多是免费版或试用版,也有是按使用付费的。数据中心的设计者和顾问则可以封装和发布即时可用的应用基础架构,并完善集群方案、高可用性、故障恢复、根据需求扩缩容、自动备份和安全防护等性能。
AppStore最初的一些销售商包括CohesiveFT,Layer 7 Technologies,SOASTA,Tap In Systems和Zeus Technology。 3Tera公司仍在寻找其他基础架构和软件销售商,以便为AppSotre的2009 Q3测试版及时提供软件订阅。
(译者:pavel)
亚马逊网络服务(Amazon Web Services)今天宣布对亚马逊弹性计算云(EC2)的新特性进行公测。据称,新特性使得用户可以使用云资源来进行简单和自动的监控、测量和流量控制。
“在用户对新特性的要求中,监控云资源、自动测量容量和有效调整流量首当其冲。”亚马逊EC2的总经理彼得·德桑蒂斯说,“这些功能使得用户可以更好地控制他们的AWS资源,创造出性能更优、弹性更强、耗费更低的设计。”
新特性包括三方面。亚马逊云监测(CloudWatch)是一项监控AWS云资源的网络服务,自动测量(Auto Scaling)允许EC2的容量根据需求增大或减小,弹性负荷调节(Elastic Load Balancing)则在各EC2计算实例之间分配流量。
CloudWatch使亚马逊的用户可以了解到资源使用、操作性能和总体需求状况,包括CPU使用、磁盘读写和网络流量等指标。自动测量保证EC2在流量高峰时增容以维持其性能,在流量较低时减容以节省成本,此特性对于使用率波动频繁的程序来说尤其适用。弹性负荷调节则允许程序出错,它能够在资源池中探测出运行不正常的实例,并引导信息流通过正常实例前进,直到不正常实例被修复。
亚马逊希望这些特性可以改善程序性能、降低成本,为开发者和企业家提供更多的方便。CloudWatch和弹性负荷调节是收费的,而自动测量不收取额外费用,这些特性已经在美国投入使用,不久也将对欧盟开放。
(译者:pavel)
华盛顿大学宣布了两个新的研究项目,这两个项目将会运用谷歌,微软,亚马逊和IBM这类互联网公司的云计算平台。根据基因工程新闻(Genetic Engineering News)上面的新闻,华盛顿大学已经获得国家科学基金会的拨款,成立的项目将用来做海洋气候的模拟以及对空间天文照片的分析。这些项目都将使用云计算来对“科技领域里变得的越来越普遍的大量数据集”进行检验跟互动。
华盛顿大学的这几个项目都顺应了网络时代的几个主要趋势:迁移到网络上的和网络上新产生的数据越来越多;而且我们也看到人们越来越多的使用网络技术来分析和理解此类数据。
这不仅只发生在科技领域。正如Marshall Kirkpatrick在今天早上有关社交媒体检测工具(link) 的文章中所阐明的那样, 我们看到在消费者网络(Consumer Web)领域也上演着同样的好戏。他在文章中写道,如今数据挖掘工具正变得越来越大众化,使用的也越来越广泛,这点跟Web2.0时代在线发布工具的普及 化过程很相似。华盛顿大学即将使用的云计算服务器的价格相对便宜,使用也要简单。网络平台将可以让数据挖掘以及前所未见的规模进行。这些项目也可以访问一 个云数据中心,这个数据中心是2007 年时候在谷歌,IBM和六个学术机构的合作下建立的,主要是做教学之用。
数据的海洋和数据的天空
华盛顿大学电子科技(eScience)学员的研究人员Bill HOwe阐明了云计算给他的海洋气候模拟研究项目所带的冲击。跟之前运行单个模拟以验证单个的假定不同,他说,气候学家现在可以运行长期的模拟,然后通过过滤数以万G的结果数据发现其中的规律。
华盛顿大学天 文学助理教授Andrew Connolly说,对于他的空间天文图片的分析项目,云计算可以让云端信息的存储和处理更加便利,而且也可以让这些信息在网上使用。他称之前科学家使用 望远镜观测,记录下数据后,然后再对单个照片进行详细的分析,现在“天文望远镜可以不间断的记录高解析度的照片,提供的信息要比之前多上许多倍。”该 项目可以让数据的收集自动化,而且数据可以更大范围的提供给其他科学家使用和分析。
数据丰富——而且有用
有人称当前这个网络时代为Web3.0,这是一个数据及其丰富的时代。当用户产生海量的内容时,同样的情况也会在Web2.0时代上演。而且世界上各地的各种传感器正快速的将海量数据倾倒到网络上。华盛顿大学计 算机科学与工程的教授Ed Lazowska指出“传感器技术的快速革新正在将所有的学科从信息贫乏状态转变成数据富裕状态,”他称“但是真正的挑战是利用现代的云计算资源(像亚马 逊网页服务)和现代计算科学的进步(像数据挖掘和机器学习)来研究这些海量的数据。”他称这一新的计算科学将会越来越普遍,并将带来巨大的冲击。“
我们总是很乐意看到网络给我们现实世界带来的正面冲击——尤其对给这类意义重大的科研项目所带来的冲击。
(译者:Moon.Wong)
云计算大概算是过去一年里最流行的术语之一了。在2008年,从网络邮件到网络存储以及基于网络 的应用程序,每个网络服务都戴上了一顶叫做“云服务”的帽子。不过,尽管有数以百万计的用户在使用这些网络服务,我们似乎还没能完全相信把资料保存在这个 “云”里会比保存在我们自己的电脑上更安全更稳定。
你信赖云计算吗?
为了调查大众对这个问题的回答,我们在社交聚合网站(同时也是新型讨论版)FriendFeed 上提问。 出乎意料的是,尽管FriendFeed的用户大多是勇于尝试新技术的人,我们在那里得到的答案也还是很不一致。对于“你是否信赖云计算?”这个问题,大 多数人的回答要不就是简洁明了的一个“no”,要不就是回答“有可能”或者“有时候”相信,然后解释一通理由。换句话说,人们对云计算的信赖因对象而异, 因用途而异。
对很多人来说,“云”并不见得比他们自己电脑里的硬盘更值得信赖。尽管事实上那些基于网络的服务,比如google的Gmail, Calendar, 和 Picasa,是由google公司那数以万计的服务器中的一部分来运行的,但是人们还是会有一种担心,觉得不储存在自己电脑上的数据总是有丢失的风险。
很多人回答说,他们对储存在网上的重要数据也存一份本地备份。其他人则认为云存储与本地数据存储的结合才是云服务的理想模式。William Steward 说:”据我所知,Evernote 就不只把数据存放在云里,它同时在我的两个笔记本电脑里都存有备份。”
为什么不信?
看上去是否信赖云计算不是一个简单的二选一问题。 有人说,对于那些非关键数据,云已经足够可靠了;但对于那些需要保密的私密通讯,比如企业级的那些,云就不太可靠了。还有人说,信赖云服务是危险的,尤其 考虑到有些一度火爆的网络服务最近都关闭服务了,比如 I Want Sandy, Pownce, Google Notebook, 以及 Jaiku。
Todd McKinney考虑得很周全。他在评论里写道:”绝大多数数据现在还不能算是储存在云里,因为它们只是在某单个公司的服务器里而已。” 他这句话的意思是说,当你向云里存数据的时候应该有某种内建的冗余方式。”当有一天Facebook删除你的帐号却无法删除你帐号里的数据的时候,我们才 能开始考虑信赖云,” Todd 说.
Todd 的这个设想确实是云计算应该努力去实现的一个未来。存储在网络上的数据不应该只存在于一个地方。数据一旦存到云上,就应该可以从任何地方访问,而且任何一个公司都没有权利删除。
我们要什么?
达到这目标并不容易。当你向 Flickr, SmugMug, Picasa, 或 SkyDrive 上传照片的时候,能不能做到让照片也同时出现在 Facebook? 现在还做不到,但这是 Microsoft’s Live Mesh 的一个尚未实现的承诺(请看 这个视频 - 长度半小时,演示了Live Mesh和Twitter以及Facebook的衔接) 看上去很诱人,不过还没有向公众发布。
至少,某些基本的cross-posting服务、工具或者桌面软件可以带给我们一个新的未来:在那里,只要轻轻一点,我们的本地数据就会被复制到多个云。从这个角度讲,一个能将照片自动同步到 所有 免费网络服务的基本着图片上传工具,或者是一个能在你的电脑、Live Mesh、Google Docs、Zoho以及其他服务之间同步文件的文档上传工具,都将广受欢迎。这样我们就能综合线上线下的优势,保证我们的数据安全地存在于,至少,某个地方。
仅仅给服务贴上“云计算”的标签并不能让用户了解转向云计算到底意味着什么。服务提供商应该让我们看到更强的稳定性和安全性,并提供更多方案把我们 的本地数据和他们的网络服务进行连接和/或同步。直到这一切实现的那一天,我们才会承认云计算的时代终于到来。而在此之前,云计算还只是海市蜃楼。
(译者:HelloMatt)
最近,大量新的非关系式数据库如雨后春笋般出现在云里云外。这其中所释放出的一个关键信息是:“如果想获得丰富而随需应变的可扩展性,你需要一个非关系数据库。”
如果这是真的,那么这是不是一个迹象,表明曾经强大的关系式数据库终于在它的盔甲上出现了裂缝?关系数据库的日子是不是到头了?该隐退了?在本文中,我们将检视当前这种在特定情况下摆脱关系数据库的趋势,并分析这对于关系数据库的未来意味着什么。
关系数据库已过而立之年。在此期间,短暂爆发过一些所谓终结关系数据库的革命。当然,最终都失败了,丝毫没有动摇到关系数据库的主导地位。
先了解一些背景
一个关系数据库基本上就是一个表(实体)集合。表由列和行(变量集)构成。这些表存在约束,相互之间定义了关系。关系数据库使用SQL进行查询,结果集通过访问一个或多个表的查询生成。单个查询里被访问到的多个表,一般是利用在表关系列里定义的范式被“连接”到一起的。 规范化 是关系数据库使用到的一种数据结构模型,能保证数据一致性并消除数据冗余。
关系数据库在 关系数据库管理系统 (RDBMS)的帮助下得以促进。我们今天所使用的绝大部分数据库系统都是RDBMS,包括 Oracle, SQL Server, MySQL, Sybase, DB2, TeraData等等。
关系数据库占据统治地位的原因并非微不足道的。它们持续提供了简单性、健壮性、灵活性以及性能的最佳组合,并带来了通用数据管理的兼容性。
不过,为了实现这一切,关系数据库的内部不得不复杂得难以置信。举个例子说,一个相对简单的SELECT语句可能有着上百条执行路径,优化程序在运行时必须进行评估。这一切都被隐藏起来,对用户都是不可见的,RDBMS通过使用类似基于代价的算法来决定最佳响应请求的“执行计划”。
关系数据库的问题
尽管RDBMS为数据库用户提供了简单性、健壮性、灵活性、性能、可扩展性以及兼容性的最佳组合,但它在其中每个领域里的性能,不一定就优于其他追求某一项好处的独立替代方案。迄今为止这不是太大的问题,因为RDBMS的普遍优势已经压制了开疆拓土的需求。不过,如果你的确存在着通用关系数据库无法满足的要求,替代的方案则总可以填补这些壁龛。
今天,形势略有不同。对于数量不断增长的应用程序而言,上述的其中一项好处变得越来越重要;虽仍被视为特殊,但正迅速成为主流,以至于对于不断增长的数据库用 户来说,其在重要性方面已经开始侵蚀掉其它的好处了。这项好处就是可扩展性。随着越来越多如Web服务之类承受大规模工作负荷的应用的发行,其对可扩展性 的需求,首先有可能会改变得非常迅速,其次会变得无比庞大。第一种场景下,如果你只有一个龟缩在一所房子内的服务器中的关系数据库,情况将难以管理。举个例子,如果你的负载一夜之间增加了2倍,你能用多快的速度去升级硬件?第二种情况下,一般的关系数据库是也很难管理的。
关系数据库是 能很好地扩展,但通常只能单台服务器节点上进行扩展。一旦单节点的能力抵达上限,你就得通过多服务器节点来往外扩展来分发负载。这时候关系数据库的复杂性 就开始影响其潜在的扩展规模了。试图扩展到成百上千个节点,而不是几个,将导致不堪复杂性之重负,这一特点使得RDBMS在大型分布式系统平台市场里的生 存能力被大幅削减。
为了让云服务变得可行,供应商不得不突破这种限制,因为一个缺乏可扩展的数据仓储的云平台根据就不能算一个平台。因此,为了能向客户提供的一个可扩展的空间去存放应用数据,供应商实际上只有一种真正的选择。他们不得不实现一种新型的关注于可扩性的数据库系统,而牺牲掉关系数据库所带来的其他好处。
这些努力,再加上那些已有的特殊供应商,已经带来了一种新型的数据库管理系统。
新品种
这种新型的数据库管理系统通常被称为键/值存储。实际上,尚无正式的名字,因此你可能会看到它被称为面向文档的、面向互联网的、面向属性的、 分布式数据库 (尽管这也可以是关系式的)、共享排序数组、 分布式哈希表以及键/值数据库。虽然每个名字都指出了这种新方案的某种特征,但都是基于一个主题的派生,这个主题就是我们将要命名的键/值数据库。
不关你怎么称呼它,这个“新型”的数据库其实已经在某些普通关系数据库不合适的特殊应用里使用了很长时间了。不过如果没有Web和云应用所带来的扩展性的话,它很可能还得继续呆在深闺大院里。现在的挑战是我们得弄清楚,究竟是它还是关系数据库更适合于特定应用。
关系数据库和键/值数据库从根本上来说是完全不同的,分别被设计用于满足不同的需求。迄今为止,一项一对一的比较能有助于你理解这种差异性,不过在开始之前,先让我们来看看下面:
没有实体连接
键/值数据库是 面向项目的,这意味着所有与项目有关的数据都被存储进该项目中。一个域(你可以把它视为表)可以包含大量不同的项目。比如说,一个域里可以同时包含客户项 目和定单项目。这意味着在一个域内,不同项目间的数据通常是重复的。这在实践上是可行的,因为磁盘空间相对廉价。但这个模型允许一个单一的项目包含完所有 相关数据,就可以通过消除对多表的数据连接的需求来改善可扩性。而在关系数据库中,那样的数据需要被连接到一起,以便能重组为相关属性。
不过虽然在关系数据库中 的需求在键/值数据库已大为减少,有些东西还是不可避免的。那些关系一般存在于核心实体之间。比如说,定单系统会有这样一些项目,其中包含有客户、产品及 定单的数据。 这些是否在相同或不同的域都是无关紧要的;但是当客户下单时,你大概不会想把客户和产品的属性都放进同一张定单里吧。
相反,定单需要包含相关键值指向客户和产品。尽管这在键/值数据库是完全可行的,这些关系却不会在数据模型本身内进行定义,因此数据库管理系统是无法强制要求这些关系的数据一致性的。这意味着你可以删除客户及其已订购产品。确保数据完整性的责任完全落在了应用的身上。
键/值存储:优点
有两点键/值数据库是明显优于关系数据库的。
云的最佳搭档
第一个好处是它们简单,并因此比关系数据库伸缩起来要自如得多。如果你正在打算把一个内部系统聚拢起来,试图把预期中规模庞大的扩展需求交给数据仓储背后那数十上百台服务器去处理,那么就请考虑一下键/值存储。
由于键/值数据库简单,且动态可扩,它们也是提供多用户、web服务的 平台数据存储的供应商的选择。这种数据库提供了相对廉价的设计存储平台,并拥有庞大的扩充潜力。用户通常只需用多少就给多少,而其需求增长时配额能随之而 增。与此同时,供应商能基于总用量动态扩充平台,整个平台的大小几乎不受限制。(译者:最典型的就是各种所谓支持多少G的邮箱应用了)
编码得心应手
关系数据库模型和应用代码对象模型通常是以不同方式建立起来的,这导致了不兼容性。开发人员通过将代码映射到关系模型去克服这种不兼容性。这个过程一般被称为 对象-关系映射,基本上等于是“管道”代码,没有直接明确的价值,却耗费掉了应用开发的大量时间和精力。另一方面,许多键/值数据库在结构中保留的数据,与底层代码中的对象类的映射关系却要直接得多,从而显著减少了开发时间。
其它一些支持这种数据存储的理由,比如“关系数据库相比之下更为笨拙(不管这意味这什么)”等,则不太令人信服。不过在跳上这趟键/值数据库的列车之前,请先考虑一下它的缺点。
键/值存储: 缺点
关系数据库固 有的约束保证数据在最低层次拥有完整性。违反完整性约束的数据在物理上进不了数据库中。这些约束在键/值数据库中是不存在的,因此确保设计完整性的责任全 部落到了应用程序的肩上。但是程序会经常出现Bug。在一个设计得当的关系数据库里,Bug通常不会导致数据完整性问题;但是在键/值数据库里的bug就 很容易引起数据完整性问题。
关系数据库另 一项关键的好处就是它强迫你经过一个数据建模的过程。如果做得好,这个建模过程所创建出的数据库的逻辑结构,就应该是映射它所要包含的数据,而非映射应用 程序的结构。然后数据从某种程度上就变得是独立于应用的,意味着其他应用同样也能使用统一数据集,从而应用逻辑的改变不会影响到底层的数据模型。而键/值 数据库要实现这一过程的话,就要以类的建模实践替代关系数据建模,以便在数据的自然结构基础上创建出通用的类。
还有别忘了兼容性。面向云的数据库不像关系数据库, 并没有多少办法去共享标准。尽管它们都有着类似的概念,却各有着自己的API、特定的查询接口及特性。因此,你真的要信任你的供应商,因为就算你对服务不 满意也覆水难收了。还有,由于目前所有的键/值数据库均处于测试阶段,这种信任的风险可比对老派的关系数据库要高的多。
分析上的限制
在云内,键/值数据库一般是多租户的, 这意味这许多用户和应用将使用同一系统。为了防止任一进程导致共享环境过载,大部分云数据存储严格限制了单一查询可能导致的总影响效应。举个例子,在 SimpleDB里,你不能执行过程超过5秒钟的查询。而在Google的AppEngine Datastore里,任何查询结果都不允许超过1000条。
这些限制对于你的面包-奶油式的应用逻辑(添加、更新、删除、获取少量内容)而言不成问题。但是当你的应用取得成功的时候会发生什么呢?你已经攫取 了许多用户,获得了大量数据,现在你想为客户创造新价值,或者也许还想利用这些数据产生新的收入。你就会发现自己被严重限制了,甚至连直接的分析型查询都 很困难。在此类平台上,类似追踪(用户的)使用模式、基于用户历史提供建议等事情,即便不是不可能也是非常困难的。
这种情况下,你将不得不实现一个从键/值数据库分 离出来的,独立的分析型数据库,以便执行那样的分析。再想想你该在哪里才能做这样的事情?又该如何去做?是不是应在云上维护它?还是投资于一个现场(译 者:on-site对应于off-site,一般在IT外包中应用)的设施?你和云服务供应商之间的延迟会不会成为问题?你现在的基于云的键/值数据库支 持它吗?如果你的键/值数据库有10亿个条目,可是每秒钟却只能提供1000条结果,这样的查询该执行多久才能完事呢?
归根结底,虽然规模是一项考虑因素,不要把它排在你将数据转换成为资产的能力的前头。如果你的用户,因为竞争对手拥有更酷更人性化的特性而跑掉,这世上的一切扩展性都将一无是处。
云服务竞争者
一些网络服务供应商现在提供了基于即用即付的多租户键/值数据库。大部分都符合我们这里讨论到的标准,但是每一个都有其独特之处,与迄今描述的一般标准有所不同。现在让我们看看这些特定的数据库,分别是SimpleDB, Google AppEngine Datastore和SQL Data Services。
亚马逊: SimpleDB
SimpleDB 是一个亚马逊网络服务平台的一个面向属性的键/值数据库。SimpleDB仍处于公众测试阶段;当前,用户能在线注册其“免费”版 –免费的意思是说直到超出使用限制为止。
SimpleDB有几方面的限制。首先,一次查询最多只能执行5秒钟。其次,除了字符串类型,别无其它数据类型。一切都以字符串形式被存储、获取和 比较,因此除非你把所有日期都转为ISO8601,否则日期比较将不起作用。第三,任何字符串长度都不能超过1024字节,这限制了你在一个属性中能存储 [...]













