内存数据库
1. FastDB
⁃ FastDB不支持client-server架构因而所有使用FastDB的应用程序必须运行在同一主机上;
⁃ Fastdb假定整个数据库存在于RAM中,并且依据这个假定优化了查询算法和接口。
⁃ fastdb没有数据库缓冲管理开销,不需要在数据库文件和缓冲池之间传输数据。
⁃ 整个fastdb的搜索算法和结构是建立在假定所有的数据都存在于内存中的,因此数据换出的效率不会很高。
⁃ Fastdb支持事务、在线备份以及系统崩溃后的自动恢复。
⁃ fastdb是一个面向应用的数据库,数据库表通过应用程序的类信息来构造。
2. Memcached
⁃ Memcached是一种基于Key-Value开源缓存server系统,主要用做数据库的数据高速缓冲,并不能完全称为数据库。
⁃ memcached的API使用三十二位元的循环冗余校验(CRC-32)计算键值后,将资料分散在不同的机器上。当表格满了以后,接下来新增的资料会以LRU机制替换掉。由于 memcached通常只是当作缓存系统使用,所以使用memcached的应用程式在写回较慢的系统时(像是后端的数据库)需要额外的程序更新memcached内的资料。
⁃ memcached具有多种语言的客户端开发包,包括:Perl、PHP、JAVA、C、Python、Ruby、C#。
3. Redis
⁃ Redis是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcached这类key-value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了C++、Java、Python,Ruby,Erlang,PHP客户端。