表中给出了NoSQL和关系数据库( Relational DataBase Management System, RDBMS )的简单比较,对比指标包括数据库原理、数据规模、数据库模式、查询效率、一致性、数据完整性、扩展性、可用性、标准化、技术支持和可维护性等方面。从表中可以看出,关系数据库的突出优势在于,以完善的关系代数理论作为基础,有严格的标准,支持事务 ACID 四性,借助索引机制可以实现高效的查询,技术成熟,有专业公司的技术支持;其劣势在于,可扩展性较差,无法较好地支持海量数据存储,数据模型过于死板,无法较好地支持Web 2.0应用,事务机制影响了系统的整体性能等。NoSQL数据库的明显优势在于,可以支持超大规模数据存储,灵活的数据模型可以很好地支持Web 2.0应用,具有强大的横向扩展能力等;其劣势在于,缺乏数学理论基础,复杂查询性能不高,一般都不能实现事务强致性,很难实现数据完整性,技术尚不成熟,缺乏专业团队的技术支持,维护较困难等。
NoSQL和关系数据库的简单比较
比较标准 | 关系数据库 | NoSQL | 备注 |
---|---|---|---|
技术支持 | 高 | 低 | 关系数据库经过几十年的发展,已经非常成熟,Oracle等大型厂商都可以提供很好的技术支持 NoSQL在技术支持方面仍然处于起步阶段,还不成熟,缺乏有力的技术支持 |
数据库原理 | 完全支持 | 部分支持 | 关系数据库有关系代数理论作为基础 NoSQL没有统一的理论基础 |
数据规模 | 大 | 超大 |