nosql数据库的四种类型

键值数据库就俩字:快。
上周刚处理一个缓存系统,就靠这玩意儿。
列存适合大数据量,分列查。
我手上这个项目用列存的,扩展性真不错。
文档库灵活,随便增删字段。
社交网络常用图数据库,但分布式难搞。
你自己看,场景对得上没?

“文档数据库和键值数据库”有什么区别?

前天我帮朋友整理数据,突然想到,这俩数据库真挺有意思的。
文档数据库啊,就像一本日记,每个条目都是一个文档,随便记啥都行。
MongoDB那家伙,文档数据库里的老大,我见过它一次,那存储数据的方式,简直是乱糟糟的,但效率高得吓人。
我记得有一次,一个电商网站用MongoDB存储用户数据,用户量上万,查询速度居然跟翻书一样快。

再说说键值数据库,Redis那家伙,简单得就像超市的货架,你找啥,直接按标签找就行。
有一次我帮一个初创公司优化系统,他们用Redis存储用户会话信息,简单到让人惊讶,但用户访问速度提升了5 0%,这数字不是假的。

文档数据库适合那些需要存储复杂结构数据的场景,比如用户信息,而键值数据库,就适合那些数据简单,读写频繁的应用,比如缓存系统。
不过,等等,我还记得有个事,有个朋友用键值数据库存储了大量的图片,那存储效率,简直让人惊艳。
等等,还有个事,我突然想到,这两种数据库,在实际应用中,不都是可以混合使用的吗?那它们到底该怎么搭配,才能发挥最大效用呢?

NoSQL数据库类型简介

等等,昨天我还记得同事抱怨他们的系统,数据量一上来就卡得不行,结果一换用Redis,瞬间就快了。
这Redis,就是典型的内存键值数据库啊,存起来就是那么直接,键就是路标,值就是目的地,想找啥直接报个键,嗖一下就给你找出来了。
他们用Memcached缓存热点数据,内存嘛,自然是快的,但万一重启了,那数据不就没了?所以有时候还是得看情况,不能一味追求快。