Nosql (非关系数据库)
代表数据库:redis / hbase /mongoDB /CouchDB /Neo4J
存储数据使用的是数据结构化存储方法的集合,意味着数据的存储可以是文档、集合、键值对、XML等等,当然用得最多、最熟悉的还是通过键值对的这种方式
优势:
易扩展:因为存储数据方式的特殊性,所有导致数据之间是没有任何关联性,所以就容易扩展,在架构层面上存在扩展的可能
大数据、高性能、高并发、维护方便:数据库结构简单,所以读写操作很简单
高可用:结构变化多
灵活的数据模型
缺点:
没有通用的sql语法支持
非关系数据库没有关系,没有强大的事务关系,没有保证数据的完整性和安全性
查询方面效率不高
缓存就是一个简单的Nosql,同时缓存也是解决高并发的有效手段
Sql(关系性数据库)
代表数据库:Oracle/Mysql/SQL Server
主要的特点是:数据表、字段之前存在关系
ACID特性:原子性、一致性、隔离性、持久性
优点:
易于维护,使用方便
有通用的sql语句
能够使用复杂的语句查询
缺点:
在读写操作性能很差,尤其是在海量的数据、高并发等等使用条件,问题尤其严重,数据库的读写性能实际就是IO性能
因为数据和数据是有关系的,底层是运行了大量的算法,大量算法会降低系统的效率,会降低性能
遇到海量的数据,读写、查询、维护等等都会很困难