如何权衡了Amazon DynamoDB和SimpleDB

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

AWS于2012年1月18日发布的一看到这个名稱,很多人都会想起2007年Amazon发表的Dynamo论文人们经常将这篇论文与Google的BigTable相提并论,这在当时带来了相当大的影响很多产品都借鉴了Dynamo的思想,比如Cassandra 那什么是DynamoDB呢?按照AWS CTO Werner Vogels的说法:“DynamoDB是一个性能好、可靠高且具有可扩展性的NoSQL云数据库服务DynamoDB集15年分布式非关系性数据库开发之精粹,又通过內部使用考验是AWS团队精心打造的产品。”本文将通过DynamoDB的特性、数据模型以及API来进行深入的介绍。 从官方文档来看DynamoDB有以下几个特性。 穩定的性能保证为了保证高性能,DynamoDB采用固态硬盘(SSD)进行存储对于一般的请求,DynamoDB在十毫秒内就可以完成而且处理请求的速度不会随著数据量的增加而减慢。 读/写流量限制预设(Provisioned Throughput)这个概念和我们经常接触的按带宽收费非常相像,用户必须指定对数据库的读/写带宽Amazon會按用户设置的读/写带宽收费。但与传统的带宽收费不同用户可以随时通过控制台或者API更改数据库的读/写流量的限制。 自动扩容DynamoDB不会對用户的数据规模大小做任何限制,后台会默默地把用户的数据分布到各个机器上去 强一致性。用户可以通过参数指定要读的数据是否需要一致性这里需要注意的是,如果读的数据全是要求强一致性的话那么在设置读流量上限时需要设置成实际读流量的两倍。 完全分咘式无中心化架构。一个表上的数据可以分布到几百台机器上 Schema free。都叫NoSQL了Schema必须free。 和Amazon Elastic MapReduce深度整合在EMR上可以调用DynamoDB的数据进行MapReduce,并将计算结果保存到S3同时也可以用EMR对DynamoDB做备份。 容灾容错、完善的监控、安全、物美价廉、管理方便,这些都是云服务应该做到的 大家第一眼看箌Provisioned Throughput时,都会觉得这个概念比较别扭为什么要给自己限制读/写流量呢?但仔细分析之后大家会发现Provisioned Throughput是迫不得已的做法而且前三个特性其實也与之有着不可分割的关联。 DynamoDB是一个共享型的数据库云服务所谓共享型的数据库云服务,是指一台机器上的CPU、内存及磁盘资源会给多鼡户使用共享型服务最大的问题在于资源的公平性,如何保证一个用户对资源的使用不会影响到其他用户例如,用户A在DynamoDB上保存了10GB的数據假设这10GB数据全部保存在同一台机器上,而且这台机器的读性能只有1GB/秒此时,如果用户每秒要读1GB数据必然会影响到其他用户对同台機器上的数据访问,因为一台机器的吞吐量是固定的这样就没有办法做到每个用户每个请求都有稳定的性能保证。正如各种MySQL共享服务会根据用户预购买的数据空间来限定每秒的请求数来解决资源公平性一样DynamoDB利用Provisioned Throughput来解决资源公平性。如果用户的读/写请求量变大就得提高讀/写请求的带宽上限,付更多的钱DynamoDB同时会根据用户购买的带宽将数据分散到更多的机器上。目前单表最多支持10000个1KB读/写(相当于10MB/s的读写),单用户最多20000个1KB读/写(相当于20MB/s的读写)如果需求增加,则需要填表单独申请同时还有更多详细的规定,具体详见用户手册(其实所囿的规定都是受到资源公平性以及后台具体实现的约束)

我要回帖

更多关于 两者权衡 的文章

 

随机推荐