1. 程式人生 > >關係型資料庫與非關係型資料庫的區別和介紹

關係型資料庫與非關係型資料庫的區別和介紹

什麼是關係型資料庫?

  • 關係型資料庫是依據關係模型來建立的資料庫。
  • 所謂關係模型就是“一對一、一對多、多對多”等關係模型,關係模型就是指二維表格模型,因而一個關係型資料庫就是由二維表及其之間的聯絡組成的一個數據組織。
  • 關係型資料可以很好地儲存一些關係模型的資料,比如一個老師對應多個學生的資料(“多對多”),一本書對應多個作者(“一對多”),一本書對應一個出版日期(“一對一”)
  • 關係模型是我們生活中能經常遇見的模型,儲存這類資料一般用關係型資料庫
  • 關係模型包括資料結構(資料儲存的問題,二維表)、操作指令集合(SQL語句)、完整性約束(表內資料約束、表與表之間的約束)。

常見的關係型資料庫:

Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access、MySQL

關係型資料庫的特點:

安全(因為儲存在磁碟中,不會說突然斷電資料就沒有了)、

容易理解(建立在關係模型上)、

但不節省空間(因為建立在關係模型上,就要遵循某些規則,好比資料中某欄位值即使為空仍要分配空間)

什麼是非關係型資料庫?

  • 非關係型資料庫主要是基於“非關係模型”的資料庫(由於關係型太大,所以一般用“非關係型”來表示其他型別的資料庫)
  • 非關係型模型比如有:
    • 列模型:儲存的資料是一列列的。關係型資料庫以一行作為一個記錄,列模型資料庫以一列為一個記錄。(這種模型,資料即索引,IO很快,主要是一些分散式資料庫)

常見非關係模型資料庫:

  • 列模型:Hbase
  • 鍵值對模型:redis,MemcacheDB
  • 文件類模型:mongoDB

非關係型資料庫的特點:

效率高(因為儲存在記憶體中)、

但不安全(斷電丟失資料,但其中redis可以同步資料到磁碟中),現在很多非關係型資料庫都開始支援轉存到磁碟中。