Nosql資料庫介紹及與關係型資料庫的比較

2021-09-01 13:19:42 字數 694 閱讀 2846

nosql = not only sql,非關係型資料庫

nosql儲存的是非關係型資料,像文件啊,影象啊,很明顯這些大的資料單台伺服器是不夠儲存的,所以它支援高可擴充套件性,分布式計算。常用於分布式系統。

nosql資料庫的型別:鍵值資料庫(redis)、列族資料庫(hbase)、文件資料庫(mongodb)、影象資料庫(neo4j)、xml資料庫(ba***)

nosql資料庫的三大理論基石:cap,最終一致性,base

乙個分布式系統不可能同時滿足這三個指標,一般來說我們認為 cap 的 p 總是成立,故剩下的 c 和 a 無法同時做到。

當處理cap的問題時,有幾個明顯的選擇:

宣告:放棄分割槽容忍性(p)就是放棄使用分布式系統。

一致性和可用性,為什麼不可能同時成立?

答案很簡單,因為可能通訊失敗(即出現分割槽容錯),大多數分布式系統都分布在多個子網路。每個子網路就叫做乙個區(partition)。分割槽容錯的意思是,區間通訊可能失敗。比如,一台伺服器放在中國,另一台伺服器放在美國,這就是兩個區,它們之間可能無法通訊。一般來說,分割槽容錯無法避免。

base的基本含義是基本可用、軟狀態和最終一致性

最終一致性根據更新資料後各程序訪問到資料的時間和方式不同,又可以分為:

應用場景:電信、銀行等領域的關鍵業務系統,需要保證強事務一致性

應用場景:網際網路企業、傳統企業的非關鍵業務(比如資料分析)

關係型資料庫與非關係型資料庫(NoSQL)

1.關係型資料庫 mysql oracle sqlserver,acess.特點 sql 結構化的查詢語言 如下圖為關係型資料庫圖示 關係型資料庫存在的問題 1.儲存在硬碟上,讀寫慢 2.保持acid 事務原則,事務四項基本原則 難擴充套件 如何解決?非關係型資料庫 2.非關係型資料庫 優點 一致性...

關係型資料庫與NoSQL資料庫

一 關係型資料庫 目前我們常用的資料庫一般是關係型資料庫,比如oracle mysql sql server。1 定義 基於關係模型 二維表 所提出的一種資料庫。實際場景 學生與系的關係如下 乙個學生必定屬於某乙個系,因此我們可以把圖中學生與系的關係抽象成三個表 這三個表所構成的就是一種簡單的關係型...

redis介紹(非關係型資料庫NOsql)

非關係型資料庫nosql not noly sql 使用c語言編寫 效能好,快 開源 免費。記憶體。在記憶體運算元據,僅次於cpu.永續性 把資料從記憶體發到硬碟裡面。k v key value redis的應用場景 1.資料的告訴快取和web會話快取 session cache 2.排行榜應用。時...