本文的观点根据佐佐木达也著、罗勇译的《NoSQL数据库入门》一书提取并整理。
一、memcached
关系型数据库缓存、音乐视听排行网站、外部API缓存。
缓存数据的粒度:将互相关联的数据汇集起来,通过一个键进行缓存,这种方式更好。若数据粒度较小,缓存清楚管理十分繁琐。
利用memcached进行外部api缓存:
减少开发时的过度访问:由于不清楚数据的结构和操作方法往往需要多次取出相同的数据进行尝试,可以把外部api的响应缓存到memcached,然后从memcached读取数据,可以减少外部api的不必要的负荷,放心进行重复操作。
尽量把数据缓存到memcached中
有效利用expires(失效时间)
二、Tokyo Tyrant
在每个页面显示访问量。
三、Redis
时间线(Time Line)形式的Web应用、查询历史记录。
四、MongoDB
调查问卷数据的保存、解析数据的存储。
与MySQL进行比较的NoSQL数据库的性能对比
memcached | Tokyo Tyrant(mem) | Tokyo Tyrant | Redis | MongoDB | |
插入 | 快速 | 快速 | 非常快速 | 非常快速 | 较快速 |
查询 | 快速 | 快速 | 非常快速 | 非常快速 | 速度相同 |
将MySQL数据库NoSQL化的方法:插件HandlerSocket。
HandlerSocket特征:
可以高速完成单纯数据的插入和读取处理。
可以使用SQL或者handlerSocket对同一数据进行访问。
可以通过独立的协议直接访问MySQL的数据。
不支持事务处理。