现实中的开放源码云计算,第 2 部分: 针对云进行开发
2010-02-04 00:00:00 来源:WEB开发网当针对 Google App Engine 创建一个应用程序时,仅需创建应用程序源代码以及需要用到的静态资源(比如图片)。您无法控制应用服务器或数据访问。对此,有一个很好的解释:App Engine 提供高度可伸缩的解决方案。不过,您需要理解 App Engine 所提供的基础架构。Google 提供了一个 API(Google Query Language)用来访问 App Engine 数据存储。这非常类似 SQL,这样一来,您就能轻松地开始使用数据存储了。这个数据存储不是一个关系数据库,倒更像是一个简单的文件系统。
对数据库的简单访问要比对数据库的查询(通过主键找到一个单一对象)慢一些。关系查询(例如表连接)是允许的,但要通过多个连续查询才能实现。这要比关系数据库上的连接慢得多,因此很难创建一个让数据存储超负荷的查询。
为了充分利用数据存储,我们通常建议对数据进行反常规处理,比如允许相关数据存储在一起并被一起检索。例如,看这样一个例子:我们需要存储用户信息,其中每个用户都可能具有多个电话号码。这是一个典型的一对多的关系,并且通常情况下,在数据库中,都会相应地建立一个用户表及一个电话号码表,其中的电话号码表包括一个指向用户表的外键。您完全可以按同样的方法用 Google 的数据存储建模,但将电话号码封装为用户的一部分(作为一个电话号码的列表或数组),效率会更高。对数据存储的单一查询就可以返回您所需要的任何东西。
Google App Engine 并不是使用这个模型的惟一云计算平台。Amazon 的平台 SimpleDB 也以同样的方式工作。您可以在 EC2 上运行 MySQL、Postgres 或任何其他数据库,但 SimpleDB 最简单易用,并可提供某些可伸缩性方面的优势(当不允许连接时,水平伸缩会更容易)。Ning 是另一个专用平台,也提供类似的访问模式。
- ››开放的云让业务更“闪亮”
- ››开放源码 CMS 入门,第 1 部分: 下载、安装和开始...
- ››开放源码 CMS 入门,第 2 部分: 通过 Eclipse 构建...
- ››开放源码 CMS 入门,第 3 部分: 构建定制存储
- ››开放源码 CMS 入门,第 5 部分: 为 Jakarta Slide...
- ››开放源码 CMS 入门,第 6 部分: 为 Jakarta Slide...
- ››现实中的开放源码云计算,第 1 部分: 并不是所有云...
- ››现实中的开放源码云计算,第 2 部分: 针对云进行开...
- ››现实中的开放源码云计算,第 3 部分: 管理云
- ››开放标准、开放源码和 Domino 6: 通过 Python 和 ...
- ››源码演示:java写吞食蛇游戏
- ››开放源码-SMTP发信客户端 for Java
更多精彩
赞助商链接