1. 程式人生 > 實用技巧 >大型資料庫設計 學習筆記(一)chapter 引言

大型資料庫設計 學習筆記(一)chapter 引言

不參加考試,交一份報告。
教材:
① Database Principles,Programming, and Performance(在效能方面做的非常工程化,內容實際,但是英文閱讀體驗不太流暢)
② Database System
③Concepts(6th Edition) (標準教材)
④Database System Implementation(2th Edition)

大型資料庫設計與實現

(一)主要學習內容:

1.第一部分 資料模型與資料庫系統
Object-Relational SQL
弱點:冗餘

2.第二部分 資料庫管理系統實現技術
【本門課的重點】
Indexing——索引(B+樹)

如果不使用索引,會拖慢資料庫執行的速度(資料庫優化的過程中最重要的結構)
【學碩的報告是關於這一部分的,而且需要程式設計】

② Query Processing——查詢優化器(很大程度上影響相應速度)(另一部分的原因是資料庫的架構有問題)

3.第三部分 資料庫系統體系結構
DATABASE System Architecture
Parallel and Distributed Databases

4.第四部分 資料庫新應用與新技術
資料湖,大資料的下一個變革
(資料的形式多種多樣,資料的規模也越來越大)

(二)課程目標

面對海量資料壓力,企業級資料庫系統應該能夠應對:
1) 效能調優:查詢,操縱;

2) 架構優化:設計,儲存。

(三)主流資料庫產品

DB2

1)中國的銀行大多數使用這一產品;
2)DB2適合範圍廣泛的系統;技術先進,側重關鍵應用,電子商務,商務智慧(IBM DB2 Intelligent Miner)和資訊整合(IBM DB2 Warehouse Manager)等核心應用
3)和Oracle一樣,擁有多個應用系統。

弱點:
開放性不好。它產生在 主機 上,IBM的主機一臺會過一千萬。效能非常穩定,主機的作業系統叫做OSZ,分行的小型機的作業系統叫做AS100,這些作業系統是針對機器的體系結構開發的,它們的程式語言是micro,所以是完全封閉的。

這兩個作業系統寫出來的資料,它只生成檔案。生成的檔案可以存放在多個磁碟上。 在UNIX上接入多個磁碟陣列,將本身磁碟上的內容對映到這些磁碟上。

Oracle【IBM開發】

1979年6月10日,全球第一個商用SQL關係資料庫Oracle2 由RSI公司正式推出。

Sybase

Sybase公司是1984年成立的,屬於後起之秀;
它推出了支援企業範圍的“C/S體系結構”的資料庫;
1987年推出的Sybase SQL Server。

MySQL開發原始碼系統

只使用於中小型網站,用於網站後臺。

PostgreSQL【推】

開發原始碼資料DBMS;
適用於系統級研究;
在國外非常熱,許多產品在投入市場之前會將資料投放在上面;
它由全球資料庫開發,版權協議是BSD ,便於商業開發;
PostgreSQL擁有大型商用DBMS 裡大多數特性:
① 事務,子查詢,觸發器,檢視和複雜的鎖等等;
② 使用者定義型別,繼承,規則和多版本並行控制以減少鎖的爭議。

國產資料庫 OceanBase 雲資料庫

它是阿里巴巴和螞蟻金服100%自主研發的金融級分散式關係資料庫;

經過八年多的時間,從解決淘寶的收藏夾海量資料儲存業務走到今天支撐支付寶的所有核心業務;

在金融行業首創“三地五中心”城市級故障自動無損容災新標準。(容災是運維方向。運維將成為一個行業。)

(四)TPC_C基準測試【世界最權威的基準測試】

  1. 資料庫分為兩類:OLTP 和 OLAP
    1) OLTP聯機交易處理系統——帶有實時交易,一般民生有關;
    2) OLAP

  2. 每個資料庫廠商都試圖向客戶證明自己的系統性能最好,處理能力最強,但資料庫廠商各自的效能測試資料都沒有足夠的說服力。

  3. TPC-C作為一個OLTP聯機交易處理系統的benchmark是世界最權威的測試基準;

  4. TPC-C要求被測資料庫必須滿足資料庫事務的ACID【A原子性(要麼不做,要麼全做)、C一致性、I隔離性、D永續性】;

① 隔離性為可序列化隔離級別;兩個併發執行的事務,在執行的過程中不被彼此看到。
② 永續性要求能夠抵禦任何單點故障等;
③ TPC-C規定被測試資料庫的效能與資料量成正比。
【(報告要關於B+樹,寫完的程式需要被測試,建立的索引資料至少要有一萬行,用TPC-C )
(寫程式來生成一百萬行的資料)】

④ TPC-C要求被測資料庫寫事務的結果必須在一定時間內資料落盤。(不得出現資料不一致問題)
1) 對於具備chenkpoint功能的書庫,chekpoint的間隔不得超過三十分鐘;checkpoint資料持久化的時間不得超過chenckpoint間隔。
2) 一旦chenkpoint發現了資料不一致問題,checkpoint就會強制資料庫暫停服務。

  1. TPC_C要求被測資料能夠以平穩的效能長期地執行。
    ① 去掉啟動預熱(ramp up)和結束降速(ramp down)時間後,被測資料至少要效能平穩地執行8小時(steady state).

(五)A刊與頂會(領域相關)

紅色是A刊,黑色是頂會。

在這裡插入圖片描述

(六)資料庫的結構

在這裡插入圖片描述

① Instance——例項:
你當前資料庫執行所需要的上下文環境。
它所代表的空間就是一個記憶體空間,誰都可以訪問。
② Database——儲存環境:
a) Data files (資料)
b) Contron files
c) Redo log files(用於資料庫恢復)
③ Parameter file 引數檔案:
a) 通過它來調整資料庫的引數。