回覆列表
-
1 # 千年小白
-
2 # 萬匹斯
最主要的幾點區別:
關係型資料庫支援SQL,可用於複雜的查詢,非關係型資料庫不提供sql支援,學習和使用成本較高,資料結構相對複雜,複雜查詢方面稍欠;
關係型資料庫一般是結構化的資料,主要的資料結構是表,所以關係型資料庫有固定的表結構,靈活度稍欠,非關係型資料庫格式靈活,儲存資料的格式可以是key,value形式、文件形式、圖片形式等等,應用場景廣泛。
第三點區別,關係型資料庫讀寫效能比較差,尤其是海量資料的高效率讀寫,非關係型資料庫速度快,nosql可以使用硬碟或者隨機儲存器作為載體。
非關係型資料庫就是沒用遵循關係代數模式的資料庫。舉一些例子:1. 文件資料庫,沒研究過定義,通常mongodb 就是文件資料庫,特點就是資料定義比較靈活。2. Kv資料庫,提供的是kv的資料表示模式。單機的rocksdb,分散式的tikv之類。3. 圖資料庫。資料可以用圖來定義。4. 列式資料庫。hbase之類,這裡可能有爭議,很多人把hbase 定義為列存。
關係型資料庫:所謂關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由IBM的研究員E.F.Codd博士首先提出,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為資料庫架構的主流模型。簡單來說,關係模型指的就是二維表格模型,而一個關係型資料庫就是由二維表及其之間的聯絡組成的一個數據組織。下面列出了關係模型中的常用概念。關係:可以理解為一張二維表,每個關係都具有一個關係名,就是通常說的表名。元組:可以理解為二維表中的一行,在資料庫中經常被稱為記錄。屬性:可以理解為二維表中的一列,在資料庫中經常被稱為欄位。域:屬性的取值範圍,也就是資料庫中某一列的取值限制。關鍵字:一組可以唯一標識元組的屬性。資料庫中常稱為主鍵,由一個或多個列組成。關係模式:指對關係的描述,其格式為:關係名(屬性1,屬性2,…,屬性N)。在資料庫中通常稱為表結構。