首页
/
每日頭條
/
科技
/
數據庫系關系數據庫
數據庫系關系數據庫
更新时间:2025-01-06 10:45:23

數據庫系關系數據庫?簡單來說區别在于數據庫軟件是否負責維護數據間的關系,今天小編就來聊一聊關于數據庫系關系數據庫?接下來我們就一起去研究一下吧!

數據庫系關系數據庫(簡單認知關系型數據庫和菲關系型數據庫)1

數據庫系關系數據庫

概要

簡單來說區别在于數據庫軟件是否負責維護數據間的關系。

關系型數據庫是依照實體-關系模型建立起來的,它包括兩個部分:一是數據庫部分,負責數據的保存和索引,讓你完成增删改查操作;另一個是關系部分,利用數據表把數據按行的形式組織起來,檢查每個字段的數據類型、長度甚至取值範圍,利用外鍵約束數據表之間的關系,利用事務機制确保數據庫操作的 ACID 特性。

非關系型數據庫全部或者部分放棄了實體-關系模型,它們隻負責保存數據,并不組織數據表,也不約束表間關系,關系的部分交由開發人員自己來完成。比如 mongodb 用 JSON 序列化的方式保存數據,雖然也有表的概念,但是結構可以随時擴展調整,而無需更新既有數據。比如 LevelDB 是一個 Key-Value 數據庫,重視寫入性能而非讀取性能。 Redis 提供了 Key-Value 、 List 、 Set 、 Sorted Set 等多種數據結構模型。 Cassandra 則使用面向列的數據模型。

關系型數據庫設計之初是為了給國防、金融、政府及企業管理使用,對數據一緻性要求極高,再加上當年存儲成本高昂,業界努力的方向也是确保事務安全和減少數據冗餘。實體-關系模型提供了簡單易學、健壯可靠,相對通用的軟件數據建模方法,自然成為各種數據庫軟件的基礎模型。非關系型數據庫早就存在,但是因為缺乏必要的數據一緻性保障而未能流行。直到 SNS 時代,社交網絡應用對數據的一緻性要求相對較低,對數據處理的實時性要求和大并發處理能力方面的要求非常高。通過放棄一緻性檢查和事務機制,非關系型數據庫一般比關系型數據庫擁有更好的性能,而且也不局限于實體-關系模型,能有更靈活的數據模型和操作方式供開發人員使用。

未來的趨勢是兩者結合, PostgreSQL 作為老牌的 RDBMS 開始提供 JSON 等更靈活的數據字段, Redis 等典型的 NOSQL 系統也開始提供 atom 操作接口。

不存在哪種數據庫更好,請按自己的實際業務場景結合起來使用。

把數據庫想象成一個箱子。你往 Oracle 型箱子放東西前必須用盒子裝起來(盒子即是表),而且規定了一個盒子裡隻能放規格一緻的東西(表中的記錄都擁有相同的字段)。你往 MongoDB 型箱子放東西時就沒那麼多限制了,隻管放就行了,怕太亂就也用盒子裝起來(盒子即是集合),但沒有規格一緻的限制(集合中的記錄可以有不同的字段)。

簡單來講就是範式化與非範式化。

比較

1.實質。

非關系型數據庫的實質:非關系型數據庫産品是傳統關系型數據庫的功能閹割版本,通過減少用不到或很少用的功能,來大幅度提高産品性能。

2.價格。

目前基本上大部分主流的非關系型數據庫都是免費的。而比較有名氣的關系型數據庫,比如Oracle、DB2、MSSQL是收費的。雖然Mysql免費,但它需要做很多工作才能正式用于生産。

3.功能。

實際開發中,有很多業務需求,其實并不需要完整的關系型數據庫功能,非關系型數據庫的功能就足夠使用了。這種情況下,使用性能更高、成本更低的非關系型數據庫當然是更明智的選擇。

非關系型數據庫的優勢:

1. 性能

NOSQL是基于鍵值對的,可以想象成表中的主鍵和值的對應關系,而且不需要經過SQL層的解析,所以性能非常高。

2. 可擴展性

同樣也是因為基于鍵值對,數據之間沒有耦合性,所以非常容易水平擴展。

關系型數據庫的優勢:

1. 複雜查詢

可以用SQL語句方便的在一個表以及多個表之間做非常複雜的數據查詢。

2. 事務支持

使得對于安全性能很高的數據訪問要求得以實現。

對于這兩類數據庫,對方的優勢就是自己的弱勢,反之亦然。

但是近年來這兩種數據庫都在向着另外一個方向進化。例如:

NOSQL數據庫慢慢開始具備SQL數據庫的一些複雜查詢功能的雛形,比如Couchbase的index以及MONGO的複雜查詢。對于事務的支持也可以用一些系統級的原子操作來實現例如樂觀鎖之類的方法來曲線救國。

SQL數據庫也開始慢慢進化,比如HandlerSocker技術的實現,可以在MYSQL上實現對于SQL層的穿透,用NOSQL的方式訪問數據庫,性能可以上可以達到甚至超越NOSQL數據庫。可擴展性上例如Percona Server,可以實現無中心化的集群。

雖然這兩極都因為各自的弱勢而開始進化出另一極的一些特性,但是這些特性的增加也會消弱其本來具備的優勢,比如Couchbase上的index的增加會逐步降低數據庫的讀寫性能。所以怎樣構建系統的短期和長期存儲策略,用好他們各自的強項是架構師需要好好考慮的重要問題。

示例-mysql 與mongodb的比較

參考前文:Mysql和MongoDB性能對比及應用場景分析

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
vivoy71手機發燙怎麼辦
vivoy71手機發燙怎麼辦
1、點擊進入i管家。2、點擊打開【省電管理】。3、點擊選擇一種省電方式,即可減輕手機的發燙。
2025-01-06
三七高産如何栽培
三七高産如何栽培
1、選地整地。選擇坡度在10度左右的緩坡地種植最好,緩坡地排水比較通暢,不會積水,土壤最好是落葉多腐殖質的土壤,最好以前沒種過茄果類蔬菜,以種植過黃豆的土地最好。在翻土之前可以全田撒草,燒田消毒殺菌殺蟲。翻地施入一畝施有機肥2000斤。耕地,平整土地,要做畦,最好寬有1.2米,長根據地形決定,2、種...
2025-01-06
網易雲音樂怎麼取消關注
網易雲音樂怎麼取消關注
以Iphone12,ios14,網易雲8.0.30為例。1、打開網易雲音樂,然後點擊上方“我的”選項。2、進入到“我的”界面,找到左上方的“頭像”打開。3、進入到個人主頁界面,點擊左邊的“關注”這兩個字。4、在彈出的界面中選擇一個你想要取關的人,然後點擊他的頭像。5、找到“發私信&rdquo
2025-01-06
計算機傳輸介質中傳輸最快的是什麼
計算機傳輸介質中傳輸最快的是什麼
以華為MateBookX,win10為例:光纖。計算機網絡中常用的傳輸介質中傳輸速度最快的是光纖。計算機網絡是指将地理位置不同的具有獨立功能的多台計算機及其外部設備,通過通信線路連接起來,在網絡操作系統,網絡管理軟件及網絡通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統。計算機網絡的分類與一般的事物分類方法一樣,可以按事物所具有的不同性質特點(即事物的屬性)分類。計算機網絡通俗地講就是由
2025-01-06
按揭買車到上牌最快幾天
按揭買車到上牌最快幾天
1、貸款買車上牌時間從貸款申請開始計算大概需要10個工作日左右,從下款開始計算大概需要5個工作日左右。2、申請貸款到下款需要5天,主要是貸款機構的審核工作。下款到上牌需要5天。主要是登記、交稅及領牌照的工作。
2025-01-06
Copyright 2023-2025 - www.tftnews.com All Rights Reserved