cuiyi's blog(崔毅 crazycy)

记录点滴 鉴往事之得失 以资于发展
数据加载中……

NoSQL非关系型数据库学习(二)

Gartner分析师Merv AdrianTwitterRT了一条关于NoSQL数据库评选的消息,他认为这就像是在对比你更喜欢苹果、鸡尾酒还是西兰花,它们都有不同的应用场景,对比NoSQL产品是没有意义的。比如MongoDBCassandra就没有什么可比性,它们的共同点只是都叫做NoSQL数据库而已,它们的应用场景非常不同。

 

下面还是根据学习,对现在比较热门的MangoDB和Memcached以及Redis做个简单的学习:

MangoDB(document database, 硬盘型)
a. 基于磁盘的数据库,只是缓存热点数据在内存中。
b. 文档型的非关系型数据库,
    优势是查询功能强大,可存储海量数据。
c. 可替换MySQL等关系型数据库;
    在内存足够的情况下,读写性能不错,可省去Cache这一层

MemcachedRedis(key value store, 内存型)
a.内存型数据库,数据保存在内存中,通过TCP直接存取; 或者说是全内存Cache
   优势是速度快,并发高,缺点是数据类型有限,查询功能不强,一般做缓存。
b. Key Value Store
c. 全内存

Memcached vs Redis
a. 都是Key Vale, Memory Cache
b. Memecahced是 multiple-thread; 适合多核CPU的应用。
    Redis是 single-thread.
    如果再多数据结构基础上支持多线程,加锁可能是个问题(待深入学习验证)
c. Redis具有持久化机制,可以定期将内存的数据持久化到硬盘上
d. Redis支持的数据类型更多
e. Redis 具备binlog功能,将所有操作写入日志,以便redis出现故障时,可通过binlog进行恢复。
f. Redis支持Virtual Memory,可限定内存大小,当数据超出阀值,就通过类似LRU的算法将最不常用的数据保存到硬盘的页面问题中。

 

posted on 2014-01-13 12:03 crazycy 阅读(493) 评论(0)  编辑  收藏 所属分类: JavaEE技术DBMS


只有注册用户登录后才能发表评论。


网站导航: