關係型資料庫(mysql和oracle):指採用了關係模型來組織資料的資料庫,關係模型指的就是二維表模型,關係型資料庫就是由二維表以及表與表之間的聯絡組成;常見的關係型資料庫有oracle、sqlserver、mysql
先來看一下關係型資料庫的常見概念
關係:關係是一張表,像上圖那樣的一張表,
元組:表中的每行(即資料庫中的每條記錄)就是乙個元組,也稱記錄,
屬性:二維表中的每列就是屬性,在資料庫中被稱為字段;資料庫之間列無聯絡,行有聯絡
域:屬性的取值範圍,資料庫中每一列的取值限制
關鍵字:一組可以唯一標識元組的屬性,稱為主鍵優點
1、資料之間有關係,進行資料的增刪改查的時候是非常方便的
2、容易理解,結構類似於常見的**,非常容易理解;
3、易於維護:豐富的完整性大大減少了資料冗餘和資料不一致的概率
4、關係型資料庫是有事務操作的,保證資料的完整性和一致性。
5、使用方便,sql語句非常的成熟
缺點1、因為資料和資料是有關係的,底層是執行了大量的演算法,這會降低系統的效率,會降低效能
2、面對海量資料的增刪改查的時候會顯的無能為力,**每天產生的資料量是巨大的,在一張包含海量資料的表中查詢,效率非常低
3、海量資料對資料進行維護變得非常的無力
使用場景:適合處理一般量級的資料(銀行轉賬和錢)
為了處理海量資料,非關聯式資料庫設計之初就是為了替代關係型資料庫的關係,有四大分類:鍵值(redis)、列儲存資料庫(hbase)、文件型資料庫(mongodb)、圖形資料庫(graph)
mongodb:面向文件的資料庫,使用json風格的資料格式。它非常適合於**的資料儲存、內容管理與快取應用,並且通過配置可以實現複製與高可用性功能。
redis鍵值儲存
這是個開源、高階的鍵值儲存。由於在鍵中使用了hash、set、string、sorted set及list,因此redis也稱作資料結構伺服器。這個系統可以幫助你執行原子操作,比如說增加hash中的值、集合的交集運算、字串拼接、差集與並集等。redis通過記憶體中的資料集實現了高效能。此外,該資料庫還相容於大多數程式語言。
優點:1、海量資料的增刪改查是可以的
2、海量資料的維護和處理非常輕鬆
3、無須經過sql層的解析,讀寫效能很高
4、基於鍵值對、資料沒有耦合性,容易擴充套件
5、儲存資料的格式豐富多樣,有key-value、文件形式、形式,
缺點:1、資料和資料沒有關係,他們之間就是單獨存在的
2、非關聯式資料庫沒有關係,沒有強大的事務關係,沒***資料的完整性和安全性
3、不提供sql支援,學習和使用的成本很高
使用場景:適合處理海量資料,保證效率,不一定安全(統計資料,例如微博資料)
關係型資料庫VS非關係型資料庫
1.概念 關係型資料庫是指採用了關係模型來組織資料的資料庫。簡單來說,關係模式就是二維 模型。主要代表 sql server,oracle,mysql,postgresql。2.優點 1 容易理解,二維表的結構非常貼近現實世界,二維 容易理解。2 使用方便,通用的sql語句使得操作關係型資料庫非常方...
關係型資料庫vs非關係型資料庫
資料的儲存形式 關係的處理形式 下面是乙個e r圖,是多個模型一起用的情況 安全 因為儲存在磁碟中,不會說突然斷電資料就沒有了 容易理解 建立在關係模型上 但不節省空間 因為建立在關係模型上,就要遵循某些規則,好比資料中某字段值即使為空仍要分配空間 效率高 因為儲存在記憶體中 但不安全 斷電丟失資料...
關係型資料庫 VS 非關係型資料庫
一 關係型資料庫?1.概念 關係型資料庫是指採用了關係模型來組織資料的資料庫。簡單來說,關係模式就是二維 模型。主要代表 sql server,oracle,mysql,postgresql。2.優點 1 容易理解,二維表的結構非常貼近現實世界,二維 容易理解。2 使用方便,通用的sql語句使得操作...