天天看點

NoSQL簡介

關系型資料庫代表MySQL。

非關系型資料庫就是NoSQL。

對于關系型資料庫來說,是需要把資料存儲到庫、表、行、字段裡,查詢的時候根據條件一行一行地去比對,當量非常大的時候就很耗費時間和資源,尤其是資料是需要從磁盤裡去檢索。

NoSQL存儲原理非常簡單(典型的資料類型為k-v)(key-value),不存在繁雜的關系鍊,比如mysql查詢的時候,需要找到對應的庫、表(通常是多個表)以及字段。

NoSQL資料可以存儲在記憶體裡,查詢速度非常快。

NoSQL在性能表現上雖然能優于關系型資料庫,但是它并不能完全替代關系型資料庫。

NoSQL因為沒有複雜的資料結構,擴充非常容易,支援分布式。

關系型資料庫: 資料庫中的各個表是有關系的。

非關系型資料庫: 獨立的,一個key對應一個value。

NoSQL因為沒有複雜的資料結構,擴充非常容易,支援分布式。是以擴充也比較容易。如果你的A伺服器受到瓶頸,增加伺服器讓讓其繼續緩存呗,因為不像關系型資料庫需要互相關聯,NoSQL直接橫向擴充即可!

mysql隻有通過主主,主從,多主多從針對從進行負載均衡。或者就是分庫分表,前提是關聯的資料庫不可以分開,不關聯的資料庫可以分開。

k-v形式的:memcached、redis 适合儲存使用者資訊,比如會話、配置檔案、參數、購物車等等。這些資訊一般都和ID(鍵)挂鈎,這種情景下鍵值資料庫是個很好的選擇。

文檔資料庫:mongodb 将資料以文檔的形式儲存。每個文檔都是一系列資料項的集合。每個資料項都有一個名稱與對應的值,值既可以是簡單的資料類型,如字元串、數字和日期等;也可以是複雜的類型,如有序清單和關聯對象。資料存儲的最小機關是文檔,同一個表中存儲的文檔屬性可以是不同的,資料可以使用XML、JSON或者JSONB等多種形式存儲。

列存儲 Hbase

圖 Neo4J、Infinite Graph、OrientDB

本文轉自Grodd51CTO部落格,原文連結:http://blog.51cto.com/juispan/2067517,如需轉載請自行聯系原作者