一、优势
(1)大数据量,高性能
NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。关系型数据库(例如 MySQL〉使用查询缓存。这种查询缓存在更新数据后,缓存就是失效了。在频繁的数据读写交互应用中。缓存的性能不高。NoSQL的缓存性能要高的多。
(2)灵活的数据模型
NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是一个噩梦。尤其在快速变化的市场环境中,用户的需求总是在不断变化的。
(3)高可用
NoSQL在不太影响性能的情况,就可以方便的实现高可用的架构。
NoSQL能很好的解决关系型数据库扩展性差的问题。弥补了关系数据(比如 MysQL)在某些方面的不足,在某些方面能极大的节省开发成本和维护成本。
MySQL和 NoSQL都有各自的特点和使用的应用场景,两者结合使用。让关系数据库关注在关系上,NoSQL关注在存储上。
(4)低成本
这是大多数分布式数据库共有的特点,因为主要都是开源软件,没有昂贵的License成本
二、劣势
(1) 无关系,数据之间是无联系的;
(2) 不支持标准的SQL,没有公认的NoSQL标准;
(3)没有关系型数据库的约束,大多数也没有索引的概念,因此性能高;
(4)没有事务,不能依靠事务实现ACID.因此性能高;
(5)没有丰富的数据类型(数值,日期,字符,二进制,大文本等。