非关系型数据库的特点
关系型数据库(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 |
网友评论