為什麼要使用NoSQL資料庫

2021-07-08 19:21:09 字數 926 閱讀 8296

工作中遇到的挑戰:

1,高併發讀寫

web2.0**,資料庫併發負載非常高,往往達到每秒上萬次的讀寫請求

2,高容量儲存和高效儲存

web2.0**通常需要在後台資料庫中儲存海量資料,如何儲存海量資料並進行高效的查詢往往是乙個挑戰

3,高擴充套件性和高可用性

隨著系統的使用者量和訪問量與日俱增,需要資料庫能夠很方便的進行擴充套件、維護

傳統關係型資料庫的瓶頸:

1,無法應對每秒上萬次的讀寫請求,硬碟io此時也將變為效能瓶頸

2,表中儲存記錄數量有限,橫向可擴充套件能力有限,縱向資料可承受能力也是有限的,面對海量資料,勢必涉及到分庫分表,難以維護

大資料查詢sql效率極低,資料量到達一定程度時,查詢時間會呈指數級別增長

3,難以橫向擴充套件,無法簡單地通過增加硬體、服務節點來提高系統效能

對於需要24小時不間斷提供服務的**來說,資料庫公升級、擴充套件將是一件十分麻煩的事,往往需要停機維護,資料遷移,為了避免服務間斷,如果**使用伺服器集群,則根據集群策略,需要相應的考慮主從一致性、集群擴充套件性等一系列問題

nosql資料庫的優點:

1,海量資料下,讀寫效能優異

2,資料模型靈活

3,資料間無關係,易於擴充套件

nosql資料庫分類:

1,鍵值儲存資料庫

代表資料庫:redis

適用場景:會話資訊,使用者配置資訊,購物車

2,列儲存資料庫

代表資料庫:bigtable,cassandra,hbase

適用場景:事件記錄,內容管理,部落格平台

不適合需要acid事務的場合

3,文件型資料庫

代表資料庫:mongodb

代表資料庫:neo4j

為什麼要使用NoSQL資料庫

工作中遇到的挑戰 1,高併發讀寫 web2.0 資料庫併發負載非常高,往往達到每秒上萬次的讀寫請求 2,高容量儲存和高效儲存 web2.0 通常需要在後台資料庫中儲存海量資料,如何儲存海量資料並進行高效的查詢往往是乙個挑戰 3,高擴充套件性和高可用性 隨著系統的使用者量和訪問量與日俱增,需要資料庫能...

為什麼要使用NoSQL

前面 為什麼要使用nosql 和 關聯式資料庫還是nosql資料庫 兩篇從大體上介紹了為什麼要用nosql,何時該用nosql。經常有朋友遇到困惑,看到nosql的介紹,覺得很好,但是卻不知道如何正式用到自己的專案中。很大的原因就是思維固定在mysql中了,他們問得最多的問題就是用了nosql,我如...

我們為什麼要使用NOSQL非關聯式資料庫

隨著網際網路web2.0 的興起,非關係型的資料庫現在成了乙個極其熱門的新領域,非關聯式資料庫產品的發展非常迅速。而傳統的關聯式資料庫在應付web2.0 特別是超大規模和高併發的sns型別的web2.0純動態 已經顯得力不從心,暴露了很多難以克服的問題,例如 1 high performance 對...