關係型和非關係型資料庫的區別

2021-09-25 17:24:06 字數 1151 閱讀 4821

常見的資料庫:

關係型資料庫:mysql、sql server、oracle;

(具有豐富的查詢語言、二級索引、強事務、企業級工具整合和完備的生態系統)

非關係型資料庫:mongodb、redis、memcache

(彈性結構、水平擴充套件、集群化部署)

1 儲存方式不同

關係型資料庫:**儲存,容易關聯協作儲存,提取資料方便;

非關係型資料庫:資料儲存集中,像文件、鍵值或圖結構。

2 儲存結構不同

關係型資料庫:結構化資料,結構固定,雖然穩定,但修改較困難;

非關係型資料庫:非結構化資料,動態結構。

3 儲存規範不同

關係型資料庫:為了更高的規範性,把資料分割成最小關係表儲存,節省了空間,但單個操作涉及多個表時,資料管理較為麻煩;

非關係型資料庫:資料可能有較多重複,單個資料庫很少被分隔開。

4 儲存擴充套件不同

關係型資料庫:縱向擴充套件,要提高處理只能使用更快的處理器,擴充套件空間較大,但最終有縱向擴充套件的上限;

5 查詢方式不同

關係型資料庫:使用結構化查詢語句sql;

非關係型資料庫:使用unql,無標準。

(關係型資料庫中的主鍵對應非關係型資料庫中的文件id)

6 事務不同

關係型資料庫:acid(原子性a、一致性c、隔離性i、永續性d)

非關係型資料庫:base(基本可用ba,軟/柔性事務s、最終一致性e)。

7 效能不同

關係型資料庫:為維護資料資料一致性付出了較大代價,面向高併發讀寫能力較差;

非關係型資料庫:為key-value形式,並儲存在記憶體中,一儲存,nosql無需sql解析,提高了讀寫效能。

一般mysql儲存業務資料,因為資料關係複雜,而redis時鍵值形式,及時讀取效率高也沒辦法用,但對關聯少且高頻讀寫的,使用redis能提高併發。

如查詢某個使用者的訂單(至少要用使用者表和訂單表資料)

對於關聯資料一般採用mysql,而商品庫存資訊,只有單張表,但讀取非常頻繁,可以儲存到redis中,下單直接在redis中剪掉庫存,這樣訂單的併發能力能夠提高。

redis和memcache

在複雜資料結構(value值為雜湊、列表、集合、有序集合等複雜資料結構)、資料需要持久化的情況下選擇redis資料庫。

如有侵權,聯絡立刪

關係型和非關係型資料庫的區別

關係型資料庫 mysql和oracle 1.表和表 表和字段 資料和資料存在著關係 優點 1.資料之間有關係,進行資料的增刪改查的時候是非常方便的 2.關係型資料庫是有事務操作的,保證資料的完整性和一致性。缺點 1.因為資料和資料是有關係的,底層是執行了大量的演算法 大量演算法會降低系統的效率,會降...

關係型和非關係型資料庫的區別

當前主流的關係型資料庫有oracle db2 microsoft sql server microsoft access mysql等。非關係型資料庫有 nosql cloudant。nosql和關係型資料庫比較?優點 1 成本 nosql資料庫簡單易部署,基本都是開源軟體,不需要像使用oracle...

關係型和非關係型資料庫

1.資料庫種類 老式 層次式資料庫 網路資料庫和關係型資料庫 新式 關係型資料庫和非關係型資料庫 nosql資料庫 2.關係型資料庫 可表示為二維 訪問關係型資料庫用sql語言 結構化查詢語言 最典型的產品是mysql mariadb是mysql的乙個分支 和oracle 3.非關係型資料庫 nos...