關聯式資料庫,結構嚴謹、符合關係理論,可以儲存結構化資料;支援比較複雜的資料關係關聯查詢;支援事務,可以保障資料安全;支援sql語言做操作。
nosql: 結構簡單、健值對關係,而且大多數都是直接存記憶體的,所以具有很高的效能;而且結構簡單支援水平擴充套件;大多數都是開源,可以免費試用。
資料型別
我們知道redis支援有幾類的資料結構包括字串、雜湊,列表、資料集和有序數集合等資料型別,而mongodb則支援更多更豐富是資料型別,還支援索引,比較接近於關係型資料庫,支援豐富的查詢語句(大多數sql語句都有類似的語句表達,雖然比較彆扭)。
資料儲存
mongodb存採用的檔案儲存,比較適合大資料量儲存,依靠os虛擬記憶體,採用映象檔案儲存;記憶體佔用率比較高。redis資料儲存在記憶體中,對記憶體要求較高,支援資料持久化到檔案。
集群性mongodb支援主從結構,複製集集群。其中官方推薦複製集群,具有自動故障恢復,自動分片,auto sharding機制。redis支援主從,但是嚴重依賴持久化的快照,而且增量恢復做的不好,很多時候恢復主從需要全量快照複製
事務和一致性
mongodb不支援事務,redis支援一定的事務
所以選擇來看,mongodb適合作為替代關聯式資料庫比如mysql sqlserver等作為線上資料庫用,而redis還主要適合用於做快取。
關係型資料庫和非關係型資料庫
關係型資料庫 mysql oracle等 非關係型資料庫 nosql hbase,mongodb,redis等 優勢 可以在乙個表以及多個表之間做複雜的資料查詢 支援事務,保持資料的一致性。優勢 基於鍵值對,不需要經過sql解析,資料之間沒有耦合,易水平擴充套件。資料儲存在快取中,查詢速度快。可以儲...
關係型資料庫和非關係型資料庫
關聯式資料庫是資料項之間具有預定義關係的資料項的集合。這些項被組織為一組具有列和行的表。表用於儲存有關要在資料庫中表示的物件的資訊。表中的每列都儲存著特定型別的資料,字段儲存著屬性的實際值。表中的行表示乙個物件或實體的相關值的集合。表中的每一行可標有乙個稱為主鍵的唯一識別符號,並且可使用外來鍵在多個...
關係型資料庫和非關係型資料庫
關係型資料庫 採用了關係模型來組織資料的資料庫 代表 sql server,mysql,oracle 優點 容易理解,二維表的結構貼近現實世界 使用方便,通用的sql語句使得操作關係型資料庫非常方便 易於維護,資料庫的acid屬性,大大降低了資料冗餘和不一致性 缺點 讀寫效能差,尤其是海量資料的高效...