数据库使用相关

数据库使用相关

DynamoDB和SimpleDB的区别
熟悉Amazon AWS的朋友应该知道SimpleDB。细心的朋友还会发现,自DynamoDB上线以后,在AWS首页的Database列表中,只能看到RDS和DynamoDB,DynamoDB已经替换了SimpleDB原来在这个列表中的位置,似乎SimpleDB已被打入冷宫
SimpleDB是AWS上的第一个NoSQL数据库服务,AWS团队也在博客上详数SimpleDB几个致命的缺点,正是这些缺点导致AWS开发全新的数据库服务。
SimpleDB有单表限制。SimpleDB也有类似于Table的东西叫做Domain,每个Domain最多只能保存10GB的数据,而DynamoDB并没有单表存储的任何限制。虽然SimpleDB提供的Schema Free可以提高开发者的效率和灵活性,但10GB这种无法扩展的限制妨碍了很多开发者的使用,使得很多开发者采用了其他NoSQL解决方案。
性能不稳定。SimpleDB以简单为设计目标,SimpleDB并不需要用户指定Primary Key,也不需要用户创建索引,会默认对所有Attribute创建索引。然而这种简洁性也带来了一些副作用:如果用户插入的一条数据带有非常多的Attribute,SimpleDB就需要去更新所有Attribute的索引,而且不管用户将来是否需要。真是所谓的:用或者不用,索引就在那里。正是由于默认对所有Attribute创建索引,整个Domain才会有10GB这么奇怪的限制,以避免数据量变得比较大时,创建索引的过程会变得极慢无比,根本不能忍受。而DynamoDB因为有了Provisioned Throughput的限制以及采用了固态硬盘,可以保证每个请求的性能是非常稳定而且高效的。
一致性问题。SimpleDB设计时采用的是最终一致性模型,而DynamoDB读数据时用户可以选择弱一致性或者强一致性,对用户而言可以根据业务特征来进行选择,毕竟强一致性在逻辑上更容易让用户接受。
在Schema上,两者都不需要固定Schema,但value类型不够丰富,在API设计上DynamoDB继承了SimpleDB的风格,请求的参数个数显得比较臃肿,好在有不同语言的SDK,方便了用户的开发。
DynamoDB不是SimpleDB 2.0,但DynamoDB也吸收了SimpleDB以及其他NoSQL数据设计思想的精华,相信会有不少用户会采用DynamoDB作为他们的NoSQL解决方案。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值