DynamoDBNoSQL 数据库
DynamoDB 是 Amazon最新发布的 NoSQL 产品。DynamoDB是一个性能好、可靠高且具有可扩展性的 NoSQL 云数据库服务,DynamoDB集15年分布式非关系性数据库开发之精粹,又通过内部使用考验,是AWS团队精心打造的产品。
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的读写)。如果需求增加,则需要填表单独申请。同时还有更多详细的规定,具体详见用户手册(其实所有的规定都是受到资源公平性以及后台具体实现的约束)。
评论
MinDBJavaScript 数据库
在JavaScript中对你的应用数据进行存储和操作。MinDB提供一个标准的存储接口(StoreInterface)和Redis风格的API,你可以在任何JavaScript环境中使用。示例代码:m
MinDBJavaScript 数据库
0
SednaXML数据库
Sedna是一个原生的XML数据库,提供了全功能的核心数据库服务,包括持久化存储、ACID事务、索引、安全、热备、UTF8等。实现了W3CXQuery规范,支持全文搜索以及节点级别的更新操作。 一些编
SednaXML数据库
0
MangoDB-Python数据库
MangoDB宣称自己是比MongoDB更可靠更快速的版本,而且只有30行代码。下面是来自MangoDB首页上的介绍:MangoDB是最快的数据库之一,它允许你存放任意类型的数据,没有任何IO瓶颈。如
MangoDB-Python数据库
0
CodernityDBNOSQL 数据库
CodernityDB是一个开源的纯Python实现的、无第三方依赖、支持多平台的NoSQL数据库。关键特性:纯Python开发支持多索引快速(每秒将近10万的写入和超过10万的get操作,详情请看S
CodernityDBNOSQL 数据库
0
Redis-v8NoSQL 数据库
Redis-v8是一个基于GoogleV8JavaScript引擎构建的NoSQL数据库,特点是高性能、易用。目前只在MacOSX和CentOS6.3平台上测试过。
Redis-v8NoSQL 数据库
0
nessDBK-V数据库
nessDB是一个小巧、高性能的、支持Redis协议的K-V数据库,使用标准C开发,支持Linux,*BSD,OSXandSolaris系统,无第三方依赖。描述: *使用Bloomfilter检查数据
nessDBK-V数据库
0