什么是NoSQL?
NoSQL(Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型数据库。
非关系型数据库兴起:
1.对数据库高并发读写的需求
(一瞬间很多用户访问:商场网站的秒杀、火车抢票)
2.对海量数据的高效率存储和访问的需求
(类似QQ、Facebook、Twitter这种网站,每天几亿客户同时在线,每个人传5张图片…关系型数据库是很难应付的。)
3.对数据库高扩展性和高可用性的需求
(数据库横向扩展:新业务开展,需要新增相关大量数据信息。)
当前主流NoSQL产品:Redis 、MongoDB
NoSQL数据库显著特点:
①易扩展
NoSQL数据库都是去掉关系型数据库的关系型特性。数据之间无关系,这样就非常容易扩展。也在无形之中,在架构的层面上带来了可扩展的能力。
②大数据量,高性能。
NoSQL数据库都具有非常高的读写性能,尤其是在大数据量下。得益于它的无关系性,数据库的结构简单。
③灵活的数据模型
NoSQL数据库无需事先为存储的数据建立字段,随时可以存储自定义的数据格式。
④高可用
NoSQL数据库在不太影响性能的情况下,就可以方便的实现高可用的架构。
比如:Cassandra、HBase
缺点: 快——是因为直接将数据放内存,直接操作内存。
一般这么使用: NoSQL数据库和关系型数据库配合着用,短时大量访问的秒杀、需要性能提升的放NoSQL数据库里,基本的还是放在关系型数据库里。