WEB开发网
开发学院软件开发Java Java 开发 2.0: 使用 Amazon SimpleDB 进行云存储... 阅读

Java 开发 2.0: 使用 Amazon SimpleDB 进行云存储,第 1 部分:开始使用 SimpleDB 和 Amazon SDK

 2010-08-11 00:00:00 来源:WEB开发网   
核心提示:在整个系列中,我和您了分享大量非关系型数据存储,Java 开发 2.0: 使用 Amazon SimpleDB 进行云存储,第 1 部分:开始使用 SimpleDB 和 Amazon SDK,统称为 NoSQL,在一篇最近的文章中,因为它最终会像 Bigtable 一样无模式,域可以有多个项目(类似于行),我向您展示了

在整个系列中,我和您了分享大量非关系型数据存储,统称为 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 一样无模式。域可以有多个项目(类似于行),且项目可以有多个属性(类似于关系型表中的列)。

1 2 3 4 5 6  下一页

Tags:Java 开发 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接