計算機其實就是存儲/IO/CPU三大件; 而計算說穿了就是兩個東西:數據與算法(狀態與轉移函數)。html
實際生產中,數據表就是數據結構,索引與查詢就是算法。而應用代碼每每扮演的是膠水的角色,處理IO與業務邏輯,其餘大部分工做都是在數據系統之間搬運數據。算法
抽象是應對複雜度的最強武器。操做系統提供了對存儲的基本抽象:內存尋址空間與磁盤邏輯塊號。文件系統在此基礎上提供了文件名到地址空間的KV存儲抽象。而數據庫則在其基礎上提供了對應用通用存儲需求的高級抽象。數據庫
「數據庫」能夠簡單地只是內存中的哈希表/磁盤上的日誌,也能夠複雜到由多種數據系統集成而來。關係型數據庫只是數據系統的冰山一角(或者說冰山之巔),實際上存在着各類各樣的數據系統組件:緩存
架構師最重要的能力之一,就是了解這些組件的性能特色與應用場景,可以靈活地權衡取捨、集成拼接這些數據系統。數據結構
一、存儲管理;二、事務;三、查詢語言;四、效率與性能;架構
數據庫是一個博大精深的領域,存儲I/O計算無所不包。其主要原理也能夠粗略分爲幾個部分:數據模型設計原理(應用)、存儲引擎原理(基礎)、索引與查詢優化器的原理(性能)、事務與併發控制的原理(正確性)、故障恢復與複製系統的原理(可靠性)。 全部的原理都有其存在乎義:爲了解決實際問題。併發
https://www.cnblogs.com/feng9exe/p/10690439.html異步