1. 程式人生 > >Mysql之關係型資料庫和非關係型資料庫

Mysql之關係型資料庫和非關係型資料庫

一、關係型資料庫
  1. 定義:採用了關係模型來組織資料的資料庫
  2. 常用概念:
    關係:可以理解成二維表,一個關係名就是表名
    屬性:二維表中的列
    元組:行
    域:屬性的取值範圍
    關鍵字:一組可以唯一識別元組的屬性

二、關係型資料庫的優點

  1. 容易理解
  2. 容易操作,使用方便(SQL語言)
  3. 易於維護 ,豐富的完整性。大大減低了資料冗餘和資料不一致的概率。(理解來說就是有關係的資料比較容易查詢處理?)

三、關係型資料庫的瓶頸

  1. 網站的高併發讀寫請求對傳統的關係型資料庫是一個很大的問題
  2. 讀寫效率低:
  3. 擴充套件性和可用性:資料庫最難進行橫向擴充套件,沒有辦法像web server和appserver那樣通過新增更多的硬體和服務點來擴充套件效能和負載能力。對資料庫進行升級和資料遷移是非常難受的事情,常常需要停機處理。

四、關係型資料庫的特點

資料庫事物必須具有ACID特性

  1. A(Atomic):原子性,就是事務只有在執行成功時才能改變資料庫結構,只要一環節出錯就不會對資料庫造成任何的影響。
  2. C(consistency):一致性。就是事務使資料庫從一個一致性狀態變換到另一個一致性狀態。(比如A和B的金錢總額是500,不管他們兩個怎麼分配,怎麼轉賬,他們兩個人的總額還是500)
  3. I(isolation):隔離性。就是多個併發任務執行時,其中任一個任務都感受不到其他的任務正在進行。
  4. D(Durability):永續性。就是指一個事務一旦被提交,其對資料庫中的資料的改變是永久性的。即使提交的時候,資料庫是處於故障狀態,也不會丟失提交事務的操作。

五、Mysql的體系結構

  1. Connetctors:不同語言中和SQL的互動