1.键 值 对 存 储。
Memcached提供了相当高的读写性能,一般情况下,都足够应付应用的性能要求。但是基于内存的Memcached缓存的总数据大小受限于内存的大小。
当前如日中天、讨论得异常火热的Nosql数据库Redis又为我们提供了功能更加强大的内存存储功能。跟Memcached比,Redis的一个key的可以存储多种数据结构Strings、Hashes、Lists、Sets、Sorted sets。Redis不但功能强大,而且它的性能完全超越大名鼎鼎的Memcached。Redis支持List、hashes等多种数据结构的功能,提供了更加易于使用的api和操作性能,比如对缓存的list数据的修改。
同样,其他一些Nosql数据库也提供了内存存储的功能,所以也适合用来做内存缓存。比如Tokyo Tyrant就提供了内存hash数据库、内存tree数据库功能,内存tree数据可根据key的顺序进行遍历。你可以通过使用其提供的兼容Memcached协议或自定义的协议来使用。
2.面 向 文 档 的 数 据 库。
MongoDB:
a.无需定义表结构,可以像关系型数据库那样进行复杂查询等操作。并且可以添加索引。数据以BSON(JSON的二进制)形式存储。
b.table–>>Collection
记录–>>document
c.有”只要能够通过关系型数据库进行的处理,MongoDB同样也可以完成。”的幻觉。
d.Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写sql语句,直接调用方法就可以轻松的实现CRUD操作。
e.适用:
表中字段不确定时,如问卷。
字段可能发生流动变化,如分析结果数据。
详情请见:http://www.programmer.com.cn/4199/
3.面 向 列 的 数 据 库。 HBase:HBase是一个分布式的、面向列的开源数据库就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。