not only sql,不僅僅值sql,而是一種全新的資料庫理論。key-value可以理解為no relational,既非關係型性資料庫
關係型資料庫和非關係型資料庫不是對立,而是相輔相成的,
nosql資料庫有特殊的結構,將資料庫儲存到記憶體裡面的,
從效能的角度來講,nosql資料庫的效能優於關係型資料庫。
從安全性角度考慮,關係型資料庫優於nosql資料庫。
所以在實際的專案開發中nosql和關係型資料庫是一起使用的,達到效能和安全雙保證
redis
鍵值對儲存,特點:查詢資料塊
內容快取,主要用於處理大量資料的高訪問負載,也用於一些日誌系統等等。
colunmn列式儲存
hbase
將同一列的資料放在一起,查詢非常快
document文件儲存
mongodb
經典用於web專案中,與keyvalue類似,比如mongodb主要應用在爬蟲
graph圖結構儲存
neo4j
用於社交網路
易擴充套件
當一台機器不夠用了,很容易新增乙個新的伺服器,只要配置好環境之後,自動使用。大資料量、高效能
讀寫速度快,nosql基本都是記憶體資料庫,比硬碟儲存要快很多,查詢資料快靈活性
nosql無需事先為 要儲存的資料 建立字段,隨時可以儲存自定義的資料格式,在關係型資料庫新增欄位和刪除欄位是非常麻煩的。高可用
一台機器宕機出問題了,不會影響其他的機器關聯式資料庫理論:acid
分布式系統:cap
相關理論參考:
是選擇Oracle,MySQL還是NoSQL?
oracle全才,無論olap還是oltp,無論是鎖定機制還是事物支援,無論是內建函式還是外部可擴充套件功能,都比較全面。mysql oltp型選手,但由於缺少 hash join,以及分析函式相對較少,所以olap方面功能相對欠缺,但對事務的支援以及鎖定機制都比較齊全。nosql k v 型選手,...
Redis redis事務基礎
在執行指令的過程中,多條連續執行的指令會被干擾 打斷 插隊。redis事務就是將預定義命令包裝成乙個整體 乙個佇列 在執行時,一次按照新增順序依次執行,中間不會被打斷或者干擾。乙個佇列中,一次性 順序性 排他性的執行一系列命令 對於對個客戶端同時操作同一組資料,並且這一組資料在操作修改後不適於繼續操...
Redis redis基本資料結構之List
redis中的list資料結構是鏈表型的,類似於linkedlist。所以它的插入效率非常高,時間複雜度為o 1 它的查詢效率較慢,時o n 但其實redis內部,list結構又不是乙個簡單的鍊錶,因為linkedlist的每乙個節點都要儲存上乙個節點和下乙個節點的指標,相對來說比陣列型的列表更佔空...