《服務(wù)器的中間件之NoSQL》要點(diǎn):
本文介紹了服務(wù)器的中間件之NoSQL,希望對您有用。如果有疑問,可以聯(lián)系我們。
NoSQL最常見的解釋是non-relational,或者not only SQL,從字段意思上就可以看出,它是指非關(guān)系型數(shù)據(jù)庫的統(tǒng)稱.
隨著大型網(wǎng)站分布式架構(gòu)的發(fā)展,使用傳統(tǒng)關(guān)系型數(shù)據(jù)庫在以下幾個方面顯得力不從心:
1,對數(shù)據(jù)庫高并發(fā)讀寫
隨著分布式架構(gòu)和微服務(wù)的流行,數(shù)據(jù)庫的負(fù)載非常高,如果是1w+/s的查詢需求還勉強(qiáng)頂?shù)米?但是對于1w+/s的寫操作,關(guān)系型數(shù)據(jù)庫的性能就非常低.
2,海量數(shù)據(jù)的存儲和查詢
當(dāng)每天產(chǎn)生上億條的數(shù)據(jù),對于關(guān)系型數(shù)據(jù)庫來說,在一張上億條記錄的數(shù)據(jù)內(nèi)外查詢,性能是非常低的.
3,高擴(kuò)展性和高可用性
對于關(guān)系型數(shù)據(jù)庫來說,升級和擴(kuò)展非常困難.
NoSQL的出現(xiàn),正是辦理上面這幾個問題的.
NoSQL共有四類:key/value數(shù)據(jù)庫,文檔型數(shù)據(jù)庫,列存儲數(shù)據(jù)庫和圖數(shù)據(jù)庫.在項(xiàng)目中最常用的還是以Memcached和redis為代表的key/value數(shù)據(jù)庫,和MongoDb為代表的文檔型數(shù)據(jù)庫.
key/value數(shù)據(jù)庫代表:Memcached和Redis.
文檔型數(shù)據(jù)庫代表:MongoDb.
既然NoSQL是補(bǔ)充關(guān)系型數(shù)據(jù)庫的不足的,所以它的的優(yōu)勢就非常明顯:
1,處置海量數(shù)據(jù).
2,易擴(kuò)展,由于它的非關(guān)系性.
3,高可用,好比redis可以組成集群,提供7*24小時服務(wù).
那么,NoSQL是不是就沒有缺點(diǎn)了呢?不是的,好比它沒有關(guān)系型數(shù)據(jù)的事務(wù).
CouchDB、Redis、MongoDB、Riak、Membase、Neo4j、Cassandra、HBase
1,NoSQL并不能代替關(guān)系型數(shù)據(jù)庫,只能說用來補(bǔ)充關(guān)系型數(shù)據(jù)庫的不足,核心的業(yè)務(wù)還是得使用關(guān)系型數(shù)據(jù)庫,由于它的ACID特性.
2,對于大數(shù)據(jù)的處置,可以研究更好的框架ES(ElasticSearch).
歡迎參與《服務(wù)器的中間件之NoSQL》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/9336.html