《服務器的中間件之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.snjht.com/jiaocheng/9336.html