6.常见的NoSQL及区别
02.常见的NoSQL及区别
1. 常见的NoSQL数据库
|临时性键值存储|永久性键值存储|面向文档的数据库|面向列的数据库|
|-|-|-|-|-|
|Memcached|Tokyo Tyrand|MangoDB|Cassandra|
|Redis|Flare|CouchDB|HBase|
||ROMA||HyperTable|
||Redis|||
2. 区别
1,Memcached
挥发性(临时性)的键值存储
一般作为关系型数据库的缓存来使用
具有非常快的处理速度
由于存在数据丢失的可能,所以一般用来处理不需要持久保存的数据
用于需要使用expires时(需要定期清除数据)
使用一致性散列(Consistent Hashing)算法来分散数据
2,Tokyo Tyrant
持久性的键值存储
用来处理需要持久保存,高速处理的数据
具有非常快的处理速度
用于不需要定期清除的数据
使用一致性散列(Consistent Hashing)算法来分散数据
3,Redis
兼具Memcached和Tokyo Tyrant优势的键值存储
擅长处理数组类型的数据
具有非常快的处理速度
可以高速处理时间序列的数据,易于处理集合运算
拥有很多可以进行原子操作的方法
使用一致性散列(Consistent Hashing)算法来分散数据
4,MongoDB
面向无需定义表结构的文档数据
具有非常快的处理速度
通过BSON的形式可以保存和查询任何类型的数据
无法进行JOIN处理,但是可以通过嵌入(embed)来实现同样的功能
使用sharding(范围分割)算法来分散数据