李文軒 2019-06-21
聲明:這是本人學(xué)習(xí)極客時間的SQL必知必會的筆記,有侵權(quán)請聯(lián)系我。
DBMS
- DataBase Management System,數(shù)據(jù)庫管理系統(tǒng)
- DBMS是多個數(shù)據(jù)庫加上管理程序
DB
- DataBase,數(shù)據(jù)庫
- 多個數(shù)據(jù)表的集合
DBS
- DataBase System,數(shù)據(jù)庫系統(tǒng)。
- 一個大的概念,包括數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)以及數(shù)據(jù)庫管理人員DBA
DBMS類型
- 關(guān)系型(Relational):
- 建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫,SQL就是關(guān)系型數(shù)據(jù)庫的查詢語言
- 熱門:Oracle、MySQL、SQL Server、PostgreSQL
- 文檔型(Document):
- 管理文檔。在此數(shù)據(jù)庫中,文檔作為處理信息的基本單位,一個文檔就是一條記錄。
- 熱門:MongoDB
- 搜索引擎(Search Engine):
- 優(yōu)勢在于采用了全文搜索的技術(shù),核心原理是“倒排索引”
- 熱門:Elasticsearch、Splunk、Solr
- 鍵值型(Key-Value):
- 通過 Key-Value 鍵值的方式來存儲數(shù)據(jù),其中 Key 和 Value 可以是簡單或者復(fù)雜的對象。Key是唯一的標識符,優(yōu)點是查找速度快;缺點則是無法像關(guān)系型數(shù)據(jù)庫一樣自由使用條件過濾。若不知數(shù)據(jù)在哪里,就要遍歷所有的鍵,這樣會消耗大量的計算。所以鍵值型的數(shù)據(jù)庫大部分使用場景在內(nèi)容緩存上。
- 熱門:Redis
- 列存儲(Wide Column):
- 將數(shù)據(jù)按照列存儲到數(shù)據(jù)庫中,優(yōu)點是可以大量降低系統(tǒng)的I/O,適合與分布式文件系統(tǒng);缺點在于功能相對有限。Oracle、MySQ、SQL Server都是采用行式存儲(Row-based)。
- 列式存儲能降低系統(tǒng)的I/O,是因為列式存儲是把一列的數(shù)據(jù)都串起來進行存儲,然后再存儲下一列。這樣做,相鄰的數(shù)據(jù)的數(shù)據(jù)類型都是一樣的(即每列的數(shù)據(jù)類型),因此更容易壓縮。壓縮之后,在讀取時,可以只讀取需要的列到內(nèi)存中;這樣可以大量降低系統(tǒng)I/O
- 熱門:Cassandra、HBase