一些数据库和缓存服务器的特性与功能(整理)
一、Redis
类型:使用内存存储的非关系型数据库
数据存储选项:字符串、列表、集合、散列表、有续集和
查询类型:每种数据类型都有直接的专属命令,另外还有批量操作(bulk operation)和不完全(partial)的事物支持
附加功能:发布与订阅,主重复制(master/slave replication),持久化,脚本(存储过程,stored procedure)
二、memcached
类型:使用内存存储的键值缓存
数据存储选项:键值之间的映射
查询类型:创建命令、读取命令、更新命令、删除命令以及其他几个命令
附加功能:为提升性能而设的多线程服务器
三、mysql
类型:关系型数据库
数据存储选项:每个数据库可以包含多个表,每个表可以包含多个行;可以处理多个表的视图;支持空间和第三方扩展
查询类型:select、insert、update、delete函数,存储过程
附加功能:支持ACID性质(需要使用InnoDB),主从复制和主主复制(master/master replication)
四、postgreSQL
类型:关系型数据库
数据存储选项:每个数据库可以包含多个表,每个表可以包含多个行;可以处理多个表的视图;支持空间和第三方扩展;支持可定制类型
查询类型:select、insert、update、delete、内置函数、自定义的存储过程
附加功能:支持ACID性质,主从复制,由第三方支持的多主复制(multi-master replication)
五、MongoDB
类型:使用硬盘存储(on-disk)的非关系文档存储
数据存储选项:每个数据库可以包含多个表,每个表可以包含多个无schema(schema-less)的bson文档
查询类型:创建命令、读取命令、更新命令、删除命令、条件查询命令等
附加功能:支持map-reduce操作。主从复制、分片、空间索引(spatial index)