更新時間:2022年07月11日18時19分 來源:傳智教育 瀏覽次數:
存儲方式
關系型數據庫采用表的格式進行存儲,數據以行和列的方式進行存儲,讀取和查詢都十分方便。
非關系型數據庫是以數據集的方式進行存儲,即將大量數據都集中在一起存儲,類似于鍵值對、圖結構或者文檔。
存儲結構
關系型數據庫按照結構化的方法存儲數據,在插入數據前需定義好存儲數據的表結構,這使得整張數據表的可靠性和穩(wěn)定性都比較高,但數據表存儲數據后,若要修改數據表的結構就會十分困難。
非關系型數據庫采用的是動態(tài)結構,如果面對大量非結構化數據的存儲,它可以非常輕松的適應數據類型和結構的改變,也可以根據數據存儲的需要靈活的改變數據庫的結構。
存儲規(guī)范
關系型數據庫為了規(guī)范化數據、避免重復數據以及充分利用存儲空間將數據按照最小關系表的形式進行存儲,這使得數據管理變得很清晰、一目了然。不過隨著表數量的增加,表之間的關系會導致數據的管理變得越來越復雜。
非關系型數據庫采用用平面數據集的方式集中存放數據,雖然會出現數據被重復存儲造成浪費存儲空間的情況。但是通常單個數據庫都是采用單獨存儲的形式,很少采用分割存儲的方式,因此數據往往被存儲成一個整體對數據的讀寫提供了極大的方便。
擴展方式
關系型數據庫主要通過提高計算機自身性能緩解存儲與讀寫壓力,即所謂的縱向擴展。因為數據表之間存在著各種關系,所以采用橫向擴展的方式會較為復雜,需要保證具有關聯的數據表在同一服務器。
非關系型數據庫采用數據集存儲數據,這使得數據之間無關聯性,可以分布式存儲,因此可以采用橫向擴展方式來擴展數據庫,也就是說,可以添加更多數據庫服務器到資源池來緩解存儲與讀取壓力。
查詢方式
關系型數據庫是采用結構化查詢語言(即SQL)來對數據庫進行查詢,SQL支持數據庫的CRUD操作,具有非常強大的功能。
非關系型數據庫使用的是非結構化查詢語言(UnQL),UnQL以數據集(如文檔)為單位來管理和操作數據,由于沒有統(tǒng)一的標準,所以每個數據庫廠商提供產品標準是不一樣的。
規(guī)范化
在關系型數據庫中,一個數據實體需要分割成多個部分,然后再對分割的部分進行規(guī)范化,規(guī)范化后再分別存儲到多張關系型數據表中,這是一個復雜的過程。
非關系型數據庫不需要規(guī)范化數據,通常是在一個單獨的存儲單元中存儲一個復雜的數據實體。
授權方式
關系型數據庫包括Oracle、SQLServer、DB2以及MySQL等,除了MySQL以外,大多數的關系型數據庫都是非開源的,若要使用的話,則需要支付高昂的費用。
非關系型數據庫包括Redis、HBase、 MongoDB、 Memcache等都是開源的,使用時不需要支付費用(企業(yè)版除外)。