5大數據庫種類,若是你所有在實際項目中用過,絕對是大神!

數據是一個企業的核心資產,幾乎全部的企業應用系統都是圍繞數據來進行的,包括數據的增刪改查,數據對企業,甚至國家來講,有着不可估量的價值,好比,一個企業的全部客戶的信息,一個投資機構的投入和收益信息,BAT公司的應用系統的源代碼,京東的物流配送信息等等。在數據積累中,雖然有些把數據做爲文本文件來保存的,但大多數狀況下,爲了方便地管理和提取數據,通常都會採用數據庫來積累數,隨着技術的發展,業務需求的多樣化,出現了各類各樣的數據庫類型。html

關係數據庫程序員

列式數據庫redis

鍵值數據庫數據庫

圖像圖形數據庫數組

分佈式文檔數據庫網絡

下面分別一一說明其表明的產品以及其主要特色。數據結構

關係數據庫架構

關係型數據一直爲咱們所用,好比Oracle,MySQL,SQL Server,Postgress.保存到關係數據庫的數據必須知足必定要求,用通用的話來講就是知足必定的數據範式,好比主鍵,外鍵,數據的冗餘;舉個例子,學生的信息能夠保存到數據庫中,班級的信息也能夠保存到數據庫中,並且一個班級包括不少學生,他們之間經過外鍵還能夠創建一種1對多的對應關係,這些信息和關係能夠經過關係型數據庫進行存儲,值得注意的是,關係型數據庫,須要預先定義其表結構,並且存儲前須要定義其對應的數據類型或者長度,一旦有新的屬性加入,就要修改其表的結構。傳統的關係型數據庫其實就是行式數據庫,就是一行一行的方式來存儲信息的。分佈式

列式數據庫通常應用於對應大量的字符串數據,實例如HBase,cassandra,Sybase IQ,HP Vertica、EMC Greenplum等。列式數據庫從一開始就是面向大數據環境下數據倉庫的數據分析而產生,主要適合於批量數據處理和即時查詢。下面這2張圖形象的說明了什麼是列式數據庫,什麼是行式數據庫已經二者之間的區別。性能

極高的裝載速度 (最高能夠等於全部硬盤IO 的總和,基本是極限了)

適合大量的數據而不是小數據

實時加載數據僅限於增長(刪除和更新須要解壓縮Block 而後計算而後從新壓縮儲存)

高效的壓縮率,不只節省儲存空間也節省計算內存和CPU,爲何具備高壓縮率呢?由於存儲的數據類型是同樣的。

很是適合作聚合操做。

鍵值數據庫

即Key-Value存儲,簡稱KV存儲。它是NoSQL存儲的一種方式。它的數據按照鍵值對的形式進行組織,索引和存儲。KV存儲很是適合不涉及過多數據關係業務關係的業務數據,同時能有效減小讀寫磁盤的次數,比SQL數據庫存儲擁有更好的讀寫性能。典型的產品有: 亞馬遜的DynamoDB,redis。

圖形數據庫

圖形數據庫不是專門用來存儲圖形圖像的,而是由於其用圖狀結構來維持其數據之間的關係,因此叫作圖形數據庫。Neo4j,Sones就是其典型表明。

在圖數據結構中,只有兩種基本的數據類型 即節點(Node)和關係(Relationship),節點(Node)能夠擁有屬性,關係(Relationship)也能夠擁有屬性 ,屬性都是以鍵值對的方式存儲,節點(Node)與節點(Node)的聯繫經過關係(Relationship)進行創建,他們創建的關係是有方向的。

Neo4j是一個高性能的,NOSQL圖形數據庫,它將結構化數據存儲在網絡上而不是表中。Neo4j也能夠被看做是一個高性能的圖引擎,該引擎具備成熟數據庫的全部特性。程序員工做在一個面向對象的、靈活的網絡結構下而不是嚴格、靜態的表中——可是他們能夠享受到具有徹底的事務特性、企業級的數據庫的全部好處。Neo4j因其嵌入式、高性能、輕量級等優點,愈來愈受到關注。其支持幾乎全部的主流的開發語言

分佈式文檔存儲數據庫

不須要定義,應用靈活,文檔存儲支持對結構化數據的訪問,不一樣於關係模型的是,文檔存儲沒有強制的架構。與關係模型不一樣的是,文檔存儲模型支持嵌套結構。例如,文檔存儲模型支持XML和JSON文檔,字段的「值」又能夠嵌套存儲其它文檔。文檔存儲模型也支持數組和列值鍵。與鍵值存儲不一樣的是,文檔存儲關心文檔的內部結構。這使得存儲引擎能夠直接支持二級索引,從而容許對任意字段進行高效查詢。支持文檔嵌套存儲的能力,使得查詢語言具備搜索嵌套對象的能力,XQuery就是一個例子。MongoDB經過支持在查詢中指定JSON字段路徑實現相似的功能。好比,CouchDB,MongoDB等。

來源:http://www.360linker.com/dsj/761.jhtml

相關文章
相關標籤/搜索