SQL和NoSQL的区别和优缺点

SQL和NoSQL的区别和优缺点

关系型数据库:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、MariaDB、Sybase、PostgreSQL、OceanBase、SqLite等。

非关系型数据库:Cloudant、MongoDB、Redis、HBase、Memcached等。

区别

  1. 关系型数据库:建立在关系数据模型的基础上(由一张张二维的表和表之间的关系组成),借助集合代数等运算处理数据,比如使用了选择、投影、连接、并、交、差、除、增删查改等数学方法来实现对数据的存储和查询。可以用SQL语句在一个或者多个table中做复杂的数据查询。
  2. 非关系型数据库:可以是键值对(key, value)、文件、图片等,无需SQL解析,性能非常高,不适合复杂查询,用于超大规模数据的存储。

优缺点

  1. 关系型数据库:易于维护,可以用SQL做复杂的查询,安全性高。读写性能差,高并发读写下磁盘IO大,表结构固定故而不灵活,
  2. 非关系型数据库:性能非常高,数据无耦合,易于横向扩展。不支持SQL,无事务处理,数据结构复杂造成复杂查询较为困难,

评论