Woohome 2020-02-14
SQL和NoSQL的区别
SQL | NoSQL |
---|---|
采用关系型的表来存储数据,具有严格的数据模式约束,因此存储数据很难出错 | 采用类JSON格式的文档来存储键值对信息,更加灵活,但也会导致数据不一致问题的发生 |
使用表之前需要先定义表的模式 | 存储数据不需要特定的模式 |
使用规范化来减少数据冗余 | 使用非规范化的标准存储信息,以保证一个文档中包含一个条目的所有信息 |
支持JOIN操作,使用一条SQL语句从多张表中取出相关的数据 | 不支持JOIN操作 |
满足数据完整性约束 | 不满足完整性约束,允许数据不用通过验证就可以存储到任意位置 |
需要自定义事务来保证数据的一致性 | 操作单个文档具备事务性,操作多个文档不具备事务性 |
使用SQL语言 | 使用类JSON |
易于维护但可扩展性差 | 可扩展性好 |