1. 程式人生 > 其它 >初步瞭解資料庫

初步瞭解資料庫

資料庫簡介

  1. 資料庫,簡而言之就是電子化的檔案櫃,儲存電子檔案的地方,使用者可以對檔案中的資料進行增刪改查等操作
  2. 所謂“資料庫”系以一定方式儲存在一起、能予多個使用者共享、具有儘可能小的冗餘度、與應用程式彼此獨立的資料集合。
  3. https://db-engines.com/en/ranking(資料庫排行榜)

資料庫管理

非關係型資料庫(No SQL:Not only SQL)

  1. 非關係型資料庫的特點
  2. 不是否定關係型資料庫,而是作為補充,現在也有部分替代的趨勢
  3. 關注高效能,高併發,靈活性,忽略和上述無關的功能。
  4. 現在也在提升安全性和使用功能。
  5. 典型產品:Redis(持久化快取,兩個半天)、MongoDB(最接近關係型資料 的NoSQL)、Memcached。
  6. 管理不適用SQL管理,而是用一些特殊的 API 或 資料介面。
  7. NoSQL的分類、特點、典型產品
  8. 鍵值(KV)儲存:Memcached、Redis
  9. 列儲存(column-oriented):HBASE(新浪,360)、Cassandra(200臺伺服器叢集)
  10. 文件資料庫(document-oriented):MongoDB(最接近關係型資料庫的NoSQL)
  11. 圖形儲存(Graph):Neo4j

關係型資料庫

  1. 特點
  2. 二維表
  3. 典型產品 Oracle傳統企業,MySQL是網際網路企業
  4. 資料存取是通過SQL(結構化查詢語句)
  5. 最大特點,資料安全性方面強(ACID)

資料庫相關產品

Oracle

  1. Oracle資料庫版本介紹:7--8i--9i--10g—11g--12c
  2. 市場份額第一,趨勢遞減
  3. 市場空間,傳統企業
  4. 傳統企業也在網際網路化

MYSQL

  1. MySQL資料庫版本介紹:5.0--5.1--5.5--5.6--5.7--8.0
  2. 市場應用於中、大型網際網路公司
  3. 市場空間:網際網路領域第一
  4. 同源產品:MariaDB、perconaDB
  5. 發展趨勢明顯

其他公司產品

SQL Server(微軟)

  1. 微軟和sysbase合作開發的產品,後來自己開發,windows平臺;3,4線小公司,傳統行業在用。

DB2(IBM)

  1. 市場佔有量小,目前只有:國有銀行(人行、中國銀行、工商銀行等)、中國移動應用。
  2. 注:廣泛應用在大型網際網路公司的資料庫:PostgreSQL、MongoDB、Redis

MySQL

發展史

  1. 1979年,報表工具Unireg出現。
  2. 1985 年,以瑞典David Axmark 為首,成立了一家公司(AB前身),IASM引擎出現。
  3. 1990年,提供SQL支援。
  4. 1999-2000年,MySQL AB公司成立,並公佈原始碼,開源化。
  5. 2000年4月BDB引擎出現,支援事務。
  6. 2008年1月16日,Sun(太陽微系統)正式收購MySQL。
  7. 2009年4月20日,甲骨文公司宣佈以每股9.50美元,74億美元的總額收購Sun電腦公司,MySQL 轉入Oracle 門下。
  8. 2013年6月18日,甲骨文公司修改MySQL授權協議,移除了GPL。但隨後有訊息稱這是一個bug。

特點

  1. 開源
  2. 社群版免費
  3. 簡單
  4. 方便可靠
  5. 穩定
  6. 安全
  7. 社群活躍

mysql產品線的介紹

  1. 3.26--5.2版本

    正宗後代;Centos5、6中預設有5.1版本;Centos7中預設是MariaDB

  2. 5.4--5.7 ,8.0版本

    借鑑社群好的貢獻,進一步開發的版本;主流版本:5.5 5.6 5.7

  3. MySQL Cluster 6.0 版本&更高

    類似於Oracle RAC,硬體要求高;一般各大網站沒有人用。

  4. mysql產品線(派生產品)

    派生版本有Drizzle、MariaDB、Percona Server及OurDelta等。

附錄一
企業生產場景選擇MySQL資料庫建議:
1)穩定版:選擇開源的社群版的穩定版GA版本
2)產品線:可以選擇5.1或5.5 網際網路公司主流5.5,其次是5.1和5.6
3)選擇MySQL資料庫GA版釋出後6個月以上的GA版本。
4)要選擇前後幾個月沒有大的BUG修復的版本,而不是大量修復BUG的集中版本
5)最好向後較長時間沒有更新發布的版本
6)要考慮開發人員開發程式使用的版本是否相容你選的版本
7)作為內部開發人員開發測試資料庫環境,跑大概3-6個月的事件
8)優先企業非核心業務採用新版本的資料庫GA版本軟體
9)向DBA高手請教,或者在及技術氛圍好的群裡和大家一起交流,使用真正的高手們用過的好用的GA版本產品
10)若是沒有重要的功能BUG或效能瓶頸,則可以開始考慮作為任何任務資料服務的後端資料庫軟體

附錄二
什麼是Oracle RAC?
RAC是real application clusters的縮寫,譯為“實時應用叢集”, 是Oracle新版資料庫中採用的一項新技術,是高可用性的一種,也是Oracle資料庫支援網格計算環境的核心技術。
Oracle RAC主要支援Oracle9i、10g、11g,12C版本,可以支援24 x 7 有效的資料庫應用系統,在低成本伺服器上構建高可用性資料庫系統,並且自由部署應用,無需修改程式碼。
在Oracle RAC環境下,Oracle整合提供了叢集軟體和儲存管理軟體,為使用者降低了應用成本。當應用規模需要擴充時,使用者可以按需擴充套件系統,以保證系統的效能。