主流数据库和主流缓存服务器的特性与功能对比
名称 | 类型 | 数据存储选项 | 查询类型 | 附加功能 |
---|---|---|---|---|
Redis | 使用内存存储 (in-memory)的非 关系数据库 | 字符串、列表、集合、散列 表、有序集合 | 每种数据类型都有自 己的专属命令,另外还 有批量操作(bulk operation)和不完全 (partial)的事务支持 | 发布与订阅,主从复制 (master/slave replication), 持久化,脚本(存储过程, stored procedure) |
memcached | 使用内存存储的键值缓存 | 键值之间的映射 | 创建命令、读取命令、 更新命令、删除命令以 及其他几个命令 | 为提升性能而设的多线 程服务器 |
MySQL | 关系数据库 | 每个数据库可以包含多个 表,每个表可以包含多个行; 可以处理多个表的视图 (view);支持空间(spatial) 和第三方扩展 | SELECT > INSERT、 UPDATE、DELETE、 函数、存储过程 | 支持ACID性质(需要使 用InnoDB),主从复制和 主主复制(master/master replication) |
PostgreSQL | 关系数据库 | 每个数据库可以包含多个 表,每个表可以包含多个行;可以处理多个表的视图;支持空间和第三方扩展;支持可定制类型 | SELECT、INSERT > UPDATE、 DELETE. 内置函数、自定义的存储过程 | 支持ACID性质,主从复 制,由第三方支持的多主(multi-masterreplication) |
MongoDB | 使用硬盘存储 (on-disk)的非关系文档存储 | 每个数据库可以包含多个 表,每个表可以包含多个无 schema ( schema-less )的 BSON文档 | 创建命令、读取命令、 更新命令、删除命令、 条件査询命令等 | 支持 map-reduce 操作, 主从复制,分片,空间索引 (spatial index) |