非关系型数据库SimpleDB


非关系型数据库的特点

关系型数据库(Relational Database Management System 简称 RDBMS)一直是主流的数据库解决方案,但是随着大数据时代的到来,关系型数据库在处理大量数据的时候就显得力不从心了。非关系型数据库(Not Only SQL )应运而生,非关系型数据库实际上是阉割了关系型数据库里面的部分功能,来实现更好的灵活性和扩展性。它的特性如下:

  • 非关系型数据库存储数据的方式是key-value的形式,它和RDBMS相比,没有schema。schma实际上就是对数据的约束,这个约束包括数据的完整性和数据之间的关系。RDBMS由于是以表的形式来存储数据,所有的数据都必须要按照表的结构来套进去,这样势必造成数据的冗余。并且表中的各字段是固定的,增加新的字段的时候需要重建表。
  • 大型文件和缓存的应用数据,数据可能互不相干但是是满足同一个应用需求的,这时使用非关系型数据存储这些数据要容易得多,因为在这些数据之间将不会存在需要进行建模的关联关系。
  • 非关系型数据库是分布式的,它将数据进行分区存储,同时还把数据进行复制,存储在多个地理位置上。能够避免单点故障,同时也方便对数据库进行扩展。
    查询方式简单易用,因为存储的方式简单,所以查询的过程如同一条直线,副作用就是并不支持复杂的查询。

Amazon SimpleDB是一种典型的NoSQL数据库,同与Amazon EC2和亚马逊的S3一样作为一项Web 服务,属于亚马逊网络服务的一部分。Amazon S3 存储原始数据,Amazon SimpleDB 将所有数据视为输入并为所有属性设置索引,使得能够快速查询这些数据。应将大型数据元或文件存储在 Amazon S3 中,而最好将小型数据元素或文件指针(可能指向 Amazon S3 数据元)保存在 Amazon SimpleDB 中。

Amazon SimpleDB 数据模型由域、项目、属性和值组成。域是由属性-值对描述的项目集合。域可以对应地理解为传统数据库里面的表,项目就是表中的一条数据,属性对应表格的列标题,值对应于每个单元格里面的数据。但是,与电子表格不同的是,Amazon SimpleDB 每个单元格关联多个值(例如,对于项目“123”,属性“color”可以是“blue”值和“red”值)。并且SimpleDB里面存储的数据都是字符串格式的。

SimpleDB有如下的限制

储存限制
Attribute Maximum
domains 250 active domains per account. More can be requested by filling out a form
size of each domain 10 GB
attributes per domain 1,000,000,000
attributes per item 256 attributes
size per attribute 1024 bytes
查询限制
Attribute Maximum
items returned in a query response 2500 items
seconds a query may run 5 seconds
attribute names per query predicate 1 attribute name
comparisons per predicate 22 operators
predicates per query expression 20 predicates

你可能感兴趣的:(非关系型数据库SimpleDB)