1.1 Key-Value 存储系统简介

来源:互联网 发布:视频后期制作的软件 编辑:程序博客网 时间:2024/05/16 14:43
Key-Value Store 是当下比较流行的话题,尤其在构建诸如搜索引擎、IM、P2P、游戏服务器、
SNS 等大型互联网应用以及提供云计算服务的时候,怎样保证系统在海量数据环境下的高性
能、高可靠性、高扩展性、高可用性、低成本成为所有系统架构们挖苦心思考虑的重点,而
怎样解决数据库服务器的性能瓶颈是最大的挑战。
按照分布式领域的CAP 理论(Consistency、 Availability、Tolerance to network Partitions 这三
部分在任何系统架构实现时只可能同时满足其中二点,没法三者兼顾)来衡量,传统的关系
数据库的ACID 只满足了Consistency、Availability,因此在Partition tolerance 上就很难做得好。
另外传统的关系数据库处理海量数据、分布式架构时候在Performance、Scalability、
Availability 等方面也存在很大的局限性。
而Key-Value Store 更加注重对海量数据存取的性能、分布式、扩展性支持上,并不需要传统
关系数据库的一些特征,例如:Schema、事务、完整SQL 查询支持等等,因此在分布式环
境下的性能相对于传统的关系数据库有较大的提升。

Key-Value 数据库分为很多种类,具体如下图:


这些Key-Value 数据库,有的是用C/C++编写的,有的是用Java 编写的,还有的是用Erlang
编写的,每个都有自己的独到之处,我们从中挑选一些比较有特色且应用广泛的产品学习和
了解一下。

原创粉丝点击