1. 程式人生 > >數據庫的簡介與類型

數據庫的簡介與類型

1.7 and 了解 忽略 mil 一定的 per 情況 出現

1.1 什麽是數據庫?

簡單的說,數據庫(英文Dtabase)就是一個存放數據的倉庫,這個倉庫是按照一定的數據結果(數據結構是指數據的組織形式或數據之間的聯系)來組織、存儲的、我們可以通過數據庫提供的多種方法來管理數據庫裏的數據更簡單的形象理解,數據庫和我們生活中存放雜物的倉庫性質一樣,區別只是存放的東西不同。

1.2 數據庫的種類

早期比較流行的數據庫模型有三種,分別為層次式數據庫、網絡式數據庫和關系型數據庫。而在當今的互聯網中,最常用的數據庫模型主要是兩種,即關系型數據庫和非關系型數據庫。

1.3 關系型數據庫介紹

(1)關系型數據庫由來

網絡數據庫和層次數據庫很好地解決了數據的集中和共享問題,但是在數據獨立性和抽象級別上仍有很大欠缺。用戶對這兩種數據庫進行存取時,依然需要明確數據的存儲結構,支出存儲路徑。而關系數據庫就可以較好地解決這些問題

(2)關系型數據庫介紹

關系型數據庫模型是把復雜的數據結構歸結為簡單的二元關系(即二維表格形式)。
Oracle 在數據庫領域裏上升到了霸主地位,形成每年高達數百億美元的龐大市場,而MySQL也是不容忽視的數據庫,以至於被Oracle重金收購

1.4關系型數據庫小結

  1. Mysql和Oracle數據庫,互聯網運維最常用的是MySQL
  2. 通過SQL結構化查詢語句存儲數據
  3. 保持數據一致性方面很強,ACID理論

1.5 非關系型數據庫介紹

非關系型數據庫主要是基於“非關系模型”的數據庫(由於關系型太大,所以一般用“非關系型”來表示其他類型的數據庫),非關系型數據庫也被成為NoSQL數據庫,NOSQL的本意是“Not Olnly SQL”
指的是非關系型數據庫,而不是“No SQL”的意思,因此,NoSQL的產生並不是要徹底地否定非關系型數據庫,而是作為傳統關系型數據庫的一個有效補充。NOSQL數據庫在特定的場景下可以發揮出難以想象的高效率和高性能。

1.6 非關系型數據庫誕生背景

隨著互聯網Web2.0網站的星期,傳統的關系型數據庫在應付web2,0網站,特別是對於規模日益擴大的海量數據,超大規模和高並發的微博、微信、SNS類型的web2.0純動態網站已經顯得力不從心,暴露了很多難以克服的問題。

例如:傳統的關系型數據庫IO瓶頸、性能瓶頸都難以有效突破,於是出現了大批針對特定場景,以高性能和使用便利為目的功能特異化的數據庫產品。NOSQL(非關系型)類的數據就是在這樣的情景下誕生並得到了非常迅速的發展

高性能、高並發、對數據一致性要求不高
開源的NoSQL體系,如Facebook的Cassandra,Apache的HBase,也得到了廣泛認同,Redis,mongb也逐漸越來越受到各類大中小型公司的歡迎和追捧

1.7 NOSQL非關系型數據庫小結:

1、NOSQL不是否定關系數據庫,而是作為關系數據庫的一個重要補充
2、NOSQL為了高性能、高並發而生,忽略影響高性能,高並發的功能
3、NOSQL典型產品memcached (純內存),redis(持久化緩存),mongodb(文檔的數據庫)

1.8 非關系型數據庫種類

(1)鍵值(Key-Value)存儲數據庫

k1—>數據
k2—>數據
鍵值數據庫就類似傳統語言中使用哈希表,可以通過key來添加、查詢或刪除數據,因為使用key主鍵訪問,所以會獲得很高的性能及擴展性

鍵值(Key-Value)數據庫主要是使用一個哈希表,這個表中有一個特定的鍵和一個指針指向特定的數據。Key/value模型對於IT系統來說的優勢在於簡單、易部署、高並發

典型產品:Memcached、Redis、MemcacheDB、BerkeleyDB

(2)列存儲(Column-oriedted)數據庫 ======>了解即可,一般公司用不到

列存儲數據庫將數據庫存儲在列族(column family)中,一個列族存儲經常被一起查詢的相關數據。舉個例子,如果我們有一個Person類,我們通常會一起查詢他們的姓名和年齡而不是薪資。這種情況下,姓名和年齡就會被放入一個列族中,而薪資則在另一個列族中。

這部分數據庫通常用來分布式存儲的海量數據,鍵仍然存在,但是他們的特點是指向了多個列。
典型產品:Cassandra,HBase

(3)面向文檔(Document-Oriented)數據庫

面向文檔數據庫會將以文檔的形式存儲。每個文檔都是自包含的數據單元,是一系列數據項的集合。每個數據項都有一個名稱與對應的值,值既可以是簡單的數據類型,如字符串、數字和日期等;也可以是復雜的類型,如有序列表和關系對象。數據存儲的最小單位是文檔,同一個表中存儲的文檔屬性可以是不同的,數據可以使用XML、JSON或者JSONB等多種形式存儲

典型產品:MorgoDB、CouchDB
(4)圖形(Graph)數據庫

數據庫的簡介與類型