《服务器的中间件之NoSQL》要点:
本文介绍了服务器的中间件之NoSQL,希望对您有用。如果有疑问,可以联系我们。
NoSQL最常见的解释是non-relational,或者not only SQL,从字段意思上就可以看出,它是指非关系型数据库的统称.
随着大型网站分布式架构的发展,使用传统关系型数据库在以下几个方面显得力不从心:
1,对数据库高并发读写
随着分布式架构和微服务的流行,数据库的负载非常高,如果是1w+/s的查询需求还勉强顶得住,但是对于1w+/s的写操作,关系型数据库的性能就非常低.
2,海量数据的存储和查询
当每天产生上亿条的数据,对于关系型数据库来说,在一张上亿条记录的数据内外查询,性能是非常低的.
3,高扩展性和高可用性
对于关系型数据库来说,升级和扩展非常困难.
NoSQL的出现,正是办理上面这几个问题的.
NoSQL共有四类:key/value数据库,文档型数据库,列存储数据库和图数据库.在项目中最常用的还是以Memcached和redis为代表的key/value数据库,和MongoDb为代表的文档型数据库.
key/value数据库代表:Memcached和Redis.
文档型数据库代表:MongoDb.
既然NoSQL是补充关系型数据库的不足的,所以它的的优势就非常明显:
1,处置海量数据.
2,易扩展,由于它的非关系性.
3,高可用,好比redis可以组成集群,提供7*24小时服务.
那么,NoSQL是不是就没有缺点了呢?不是的,好比它没有关系型数据的事务.
CouchDB、Redis、MongoDB、Riak、Membase、Neo4j、Cassandra、HBase
1,NoSQL并不能代替关系型数据库,只能说用来补充关系型数据库的不足,核心的业务还是得使用关系型数据库,由于它的ACID特性.
2,对于大数据的处置,可以研究更好的框架ES(ElasticSearch).
欢迎参与《服务器的中间件之NoSQL》讨论,分享您的想法,维易PHP学院为您提供专业教程。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/9336.html