Amazon云计算AWS之[4]非关系型数据库服务SimpleDB和DynamoDB
简介[*]非关系型数据库服务重要用于存储结构化的数据,并为这些数据提供查找、删除等基本的数据库功能。AWS中提供的非关系型数据库重要包括SimpleDB和DynamoDB
非关系型VS关系数据库
传统的关系数据库非关系型数据库数据模型对数据有严酷的束缚key和value可以使用任意的数据类型数据处理满意CAP原则的C和A,在P方面很弱满意CAP原则的A和P,在C方面较弱接口层以SQL语言对数据进行访问的,提供强大的查询功能,并便于在各种关系数据库间移植通过API操纵数据,支持简单的查询功能,且由于差别数据库之间API的差别而造成移植性较差 https://img-blog.csdnimg.cn/direct/6390aadbeb3f447fba36ae929bb43207.png
SimpleDB
[*]SimpleDB基本结构,包含域、条目、属性、值等概念
https://img-blog.csdnimg.cn/direct/dcd8b8745657494ab00c8220aca144b7.png
域
[*]域是用于存放具有一定关联关系的数据的容器,此中的数据以UTF-8编码的字符串形式存储。
[*]每个用户账户中的域名必须是唯一的,且域名长度为3~255个字符。
[*]每个域中数据的大小具有一定的限制。
[*]域的划分会为数据操纵带来一些限制,是否划分域需要综合多种因素考虑。
条目
[*]条目对应着一条记录,通过一系列属性来描述,即条目是属性的集合。
[*]在每个域中,条目名必须是唯一的。
[*]SimpleDB中不需要事先定义条目的模式,即条目由哪些属性来描述。
[*]操纵上具有极大的灵活性,用户可以随时创建、删除以及修改条目的内容。
属性
[*]属性是条目的特征,每个属性都用于对条目某方面特性进行概括性描述。
[*]每个条目可以有多个属性。
[*]属性的操纵相对自由,不消考虑该属性是否与域中的其他条目相关。
值
[*] 值用于描述某个条目在某个属性上的具体内容
[*] 一个条目的一个属性中可以有多个值。举例:某类商品除颜色外其他参数完全一致,通过在颜色属性中存放多个值来使用一个条目表现该商品,而不需要像关系数据库中那样创建多条记录。
[*] SimpleDB的树状组织方式,可以表现SimpleDB对多值属性的支持。
https://img-blog.csdnimg.cn/direct/27db97d9bf1449baa7d460a0ff8925a9.png
SimpleDB的使用
[*]SimpleDB与其他AWS组件综合使用的方式
https://img-blog.csdnimg.cn/direct/ba9bf841ad1f44cdaa74ae29a96aa4ab.png
[*]限制:SimpleDB中每个属性值的大小不能超过1KB。
[*]导致:SimpleDB存储的数据范围极其有限。
[*]办理:将相对大的数据存储在S3中,在SimpleDB中只保存指向某个特定文件位置的指针。
DynamoDB
[*]DynamoDB是Amazon在SimpleDB之后的非关系型数据库服务。它在设计上既连续了SimpleDB的优点,也办理了SimpleDB中存在的部分题目。
DynamoDB的特点
[*]DynamoDB以表为基本单位,表中的条目同样不需要预先定义的模式。
[*]DynamoDB中取消对表中数据大小的限制,用户设置任意大小,并由体系主动分配到多个服务器上。
[*]DynamoDB不再固定使用最终一致性数据模型,而是答应用户选择弱一致性大概强一致性。
[*]DynamoDB还在硬件上进行优化,接纳固态硬盘作为支撑,并根据用户设定的读/写流量限制预设来确定命据分布的硬盘数量。
SimpleDB VS DynamoDB
[*]SimpleDB和DynamoDB都是Amazon提供的非关系型数据库服务。
[*]SimpleDB:限制每张表的大小,更适合于小规模复杂的工作。主动对全部属性进行索引,提供强大的查询功能。
[*]DynamoDB:支持主动将数据和负载分布到多个服务器上,不限制存储在单个表中数据量的大小,适用于较大规模负载的工作。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]