一、NoSQL数据库存在“键值存储”,“文档型数据库”,“列存储数据库”等
临时键值:Memcached,(Redis)
永久键值:Tokyo Tyrant,Flare,ROMA,(Redis)
文档:MongoDB,CouchDB
列:Cassandra,HBASE,HyperTable
1.键值(Key/Value)存储
优:处理速度快
缺:基本只能通过键查询获取数据
根据数据保存方式可以分为临时性、永久性、两者兼具。
1.1 临时性
数据存在内存中
数据可能丢失
保存读取速度非常快
1.2 永久性
数据存在硬盘,性能差点
数据不会丢失
保存读取速度也很快
1.3 两者兼具 Redis
Redis先保存到内存中,满足条件则写入硬盘
可以进行非常快的保存和读取
保存到硬盘的数据不会丢失
特别适合用于处理数组类型的数据
2.面向文档的数据库
不可以使用多表JOIN查询和不具备事务处理能力
2.1.不需要定义表结构
2.2.可以使用复杂的查询条件
3.面向列的数据库
普通关系型数据库是面向行的,面向列的数据库,可以对大量行少数列进行读取,对所有行的特定列进行同时更新
3.2.高拓展性
3.3.因为面向列和面向行的数据库存储的思维方式有很大不同,所以应用十分困难