Amazon SimpleDB (一) 简介

Amazon SimpleDB 是一个非关系型数据库,可认为是一种NoSQL数据库,它内部帮你将数据进行多个区域的存储(副本),用来支持高并发的读取,更新之类的操作只能在中央数据节点进行,但是一般在几秒钟之内就能将变化传播到其它节点。从这可以看出,SimpleDB是提供的是最终一致性。

但是SimpleDB在进行读操作的时候有一个选项(ConsistentRead=true)来告诉是执行强一致性读取,SimpleDB便只能去中央数据节点读取,很显然,这样肯定会牺牲一些效率。

SimpleDB内部使用密度存储稍低的驱动器存储器,所以SimpleDB更适合存储小型,碎片化的零散数据。可以使用Amazon S3来存储大型的数据元或文件。这里有一个使用场景,可以使用S3存储真正的数据,用SimpleDB存储这些数据的索引。

理解了上边这些,下边看一下SimpleDB的数据模型。首先一定要知道它并不像关系型数据库那样有模式的概念,它的模式非常灵活。

从数据结构来看看它的数据模型,数据结构一般为:

map<string, map<string, set<string> > >

如果你看了这个你就懂它的存储摸型,恭喜你~ 如果你还不明白我们这里再解释一下,Amazon SimpleDB 数据模型由域、项目、属性和值组成,域是由属性-值对描述的项目集合。

域你可以理解为表,项目可以理解为表中的一条记录,属性就是列,值就很好理解了。注意SimpleDB的域有10GB的限制,所以得自己分区以免超过此限制。如果不想有此限制,可以使用Amazon的另一种NoSQL,DynamoDB,说多了,我们在回来,如果是这样,那为什么是set<string>呢,因为SimpleDB的数据模型属性可以关联多个值,所以就是set,而不是string,这样带来了极大的灵活性。

原文:http://blog.csdn.net/hongchangfirst/article/details/25535447

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst

Amazon SimpleDB (一) 简介

时间: 2024-10-14 04:49:03

Amazon SimpleDB (一) 简介的相关文章

Amazon SimpleDB (二) 使用

关于使用,这是一个heloworld教程,首先我们创建一个域domain,相当于一个表. 注意我们并不能做域之间的连接操作,单次查询都只能针对一个域,不能跨域,这是SimpleDB的一个限制,所以开发者应当规划好,别选错了域.另外所有的存储都是string,UTF-8编码的. 你可以用Java,Python,ruby的开发包,这里不多讲了,这里只列举http请求和响应,以REST方式为例. 1 先创建一个domain https://sdb.amazonaws.com/ ?Action=Crea

Amazon DynamoDB简介(一)

DynamoDB的数据是存储在SSD(Solid State Drive,固态硬盘),这样可在预测的低延迟响应时间之内,存储和访问任何规模的数据,另外SSD 还具有很高的 I/O 性能,能够处理大规模请求工作负载.我们来看看DynamoDB的不适合的使用场景:如果需要存储大量数据,但这些数据的访问频率很低,则 DynamoDB 可能不太适合. DynamoDb的数据模型是无模式的,可认为是简单的key-value模式.不过特殊之处在于它的主键可以是单属性的哈希键或复合的哈希-范围键.例如,单属性

mogodb(1) 简介

1 引言 NoSQL,全称是"Not Only Sql",指的是非关系型的数据库.这类数据库主要有这些特点:非关系型的.分布式.开源的.水平可扩展的.原始目的是为了大规模web应用,这场全新的数据库革命运动早期就有人提出,发展至2009年趋势越发高涨.非关系型的数据存储通常的应用如:模式自有.支持简易复制.简单的API.最终的一致性(非ACID).大容量数据等.它的种类繁多,如列式数据库(Hadoop/Hbase.Cassandra.Hypertable.Amazon SimpleDB

Amazon DynamoDB, 面向互联网应用的高性能、可扩展的NoSQL数据库

DynamoDB是一款全面托管的NoSQL数据库服务.客户能够很easy地使用DynamoDB的服务.同一时候享受到高性能,海量扩展性和数据的持久性保护. DynamoDB数据库是Amazon在2012年1月18日公布的. 它融入了亚马逊在大规模非关系型数据库和云计算领域积累的多年丰富经验.事实上早在2007年.亚马逊就以前公布了一篇论文.深入讨论了AmazonDynamo所使用的设计理念和实现技术,而且讨论了怎样在大规模扩展的同一时候提供高可靠的数据保护的问题. 最初的Dynamo设计基于一系

[转]Amazon DynamoDB – a Fast and Scalable NoSQL Database Service Designed for Internet Scale Applications

This article is from blog of Amazon CTO Werner Vogels. -------------------- Today is a very exciting day as we release Amazon DynamoDB, a fast, highly reliable and cost-effective NoSQL database service designed for internet scale applications. Dynamo

开源大数据处理系统/工具大全

本文一共分为上下两部分.我们将针对大数据开源工具不同的用处来进行分类,并且附上了官网和部分下载链接,希望能给做大数据的朋友做个参考.下面是第一部分. 查询引擎 一.Phoenix 贡献者::Salesforce 简介:这是一个Java中间层,可以让开发者在Apache HBase上执行SQL查询.Phoenix完全使用Java编写,代码位于GitHub上,并且提供了一个客户端可嵌入的JDBC驱动. Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的J

大数据工具集详

查询引擎 一.Phoenix 贡献者::Salesforce 简介:这是一个Java中间层,可以让开发者在Apache HBase上执行SQL查询.Phoenix完全使用Java编写,代码位于GitHub上,并且提供了一个客户端可嵌入的JDBC驱动. Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的JDBC结果集.直接使用HBase API.协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒. Ph

(转)一共81个,开源大数据处理工具汇总

[思路网注] 本文一共分为上下两部分.我们将针对大数据开源工具不同的用处来进行分类,并且附上了官网和部分下载链接,希望能给做大数据的朋友做个参考. 本文一共分为上下两部分.我们将针对大数据开源工具不同的用处来进行分类,并且附上了官网和部分下载链接,希望能给做大数据的朋友做个参考.下面是第一部分. 查询引擎 一.Phoenix 贡献者::Salesforce 简介:这是一个Java中间层,可以让开发者在Apache HBase上执行SQL查询.Phoenix完全使用Java编写,代码位于GitHu

[转载] 一共81个,开源大数据处理工具汇总(上)

原文: http://www.36dsj.com/archives/24852 本文一共分为上下两部分.我们将针对大数据开源工具不同的用处来进行分类,并且附上了官网和部分下载链接,希望能给做大数据的朋友做个参考.下面是第一部分. 查询引擎 一.Phoenix 贡献者::Salesforce 简介:这是一个Java中间层,可以让开发者在Apache HBase上执行SQL查询.Phoenix完全使用Java编写,代码位于GitHub上,并且提供了一个客户端可嵌入的JDBC驱动. Phoenix查询