Java 开发 2.0: 使用 Amazon SimpleDB 进行云存储,第 1 部分:开始使用 SimpleDB 和 Amazon SDK
2010-08-11 00:00:00 来源:WEB开发网在整个系列中,我和您了分享大量非关系型数据存储,统称为 NoSQL。在一篇最近的文章中,我向您展示了一个面向文档的数据存储(CouchDB)与面向模式的关系型数据库的巨大区别。此外,CouchDB 的整个 API 是 REST 式的,且支持不同的查询方式:JavaScript 中定义的 MapReduce 功能。很显然,这是对传统 JDBC 的一个很大突破。
我最近还写了 Google 的 Bigtable 相关内容,它不是一种关系型 或面向文档的数据解决方案(且它偶尔不支持 JDBC)。Bigtable 就是所谓的键 / 值存储。也就是说,它是 无模式的,一般支持您存储的任何内容,不管是一个停车罚单实例、比赛列表还是比赛中的参赛者。Bigtable 的无模式形式提供了大量灵活性,因而支持快速开发。
Bigtable 不是惟一可供我们选择的键 / 值数据存储。Amazon 有自己的基于云的键 / 值存储式 Amazon SimpleDB。Bigtable 是通过 Google App Engine 提供的一个抽象公开给 Java 开发人员的,而 Amazon SimpleDB 是通过 web 服务界面公开的。因此,您可以通过 web 和 HTTP 操作 SimpleDB 数据存储。Amazon 的 Web Service 基础设施之上的绑定使得我们可以自己选择语言来使用 SimpleDB,包括 PHP、Ruby、C# 和 Java 语言。
这个月,我将通过 Amazon 的官方 SDK 向您介绍 SimpleDB。我将使用另一个比赛相关示例展示这个而强大的、基于云的数据存储更加不同的一面:字典式搜索。
SimpleDB 简介
在底层,SimpleDB 是一个可大规模伸缩、用 Erlang 编写的高可用数据存储。从概念上讲,它就像 Amazon 的 S3。但是 S3 有对象位于 bucket 中,而 SimpleDB 在逻辑上被定义为包含项目的域。SimpleDB 也允许项目包含属性。将一个 域看作是 S3 中的一个 bucket 或关系意义中的一个表(或更准确地讲,Bigtable 的 “kind” 概念)。不过要注意,不要将关系性投射到 SimpleDB 的概念中,因为它最终会像 Bigtable 一样无模式。域可以有多个项目(类似于行),且项目可以有多个属性(类似于关系型表中的列)。
- ››JavaScript拖拽原理的实现
- ››javascript事件列表解说
- ››Javascript代码优化工具UglifyJS
- ››使用脚本恢复WinXP系统的用户登录密码
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››Java Bean属性值动态设置
- ››JavaScript Confirm 失效的解决办法
- ››使用phpMyadmin创建数据库及独立数据库帐号
- ››使用Zend Framework框架中的Zend_Mail模块发送邮件...
- ››JavaScript页面内拖拽原理分析
- ››使用cout标准输出如何控制小数点后位数
- ››使用nofollow标签做SEO的技巧
更多精彩
赞助商链接