〓數(shù)據(jù)庫(kù)的分類(lèi)〓 數(shù)據(jù)庫(kù)通常分為層次式數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)式數(shù)據(jù)庫(kù)和關(guān)系式數(shù)據(jù)庫(kù)三種;不同的數(shù)據(jù)庫(kù)是按不同的數(shù)據(jù)結(jié)構(gòu)來(lái)聯(lián)系和組織的。 在當(dāng)今的互聯(lián)網(wǎng)中,最常見(jiàn)的數(shù)據(jù)庫(kù)模型主要是兩種,即關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)。 數(shù)據(jù)庫(kù)分類(lèi) 〓關(guān)系型數(shù)據(jù)庫(kù)介紹〓 1、關(guān)系型數(shù)據(jù)庫(kù)的由來(lái) 雖然網(wǎng)狀數(shù)據(jù)庫(kù)和層次數(shù)據(jù)庫(kù)已經(jīng)很好的解決了數(shù)據(jù)的集中和共享問(wèn)題,但是在數(shù)據(jù)庫(kù)獨(dú)立性和抽象級(jí)別上扔有很大欠缺。用戶(hù)在對(duì)這兩種數(shù)據(jù)庫(kù)進(jìn)行存取時(shí),仍然需要明確數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),指出存取路徑。而關(guān)系型數(shù)據(jù)庫(kù)就可以較好的解決這些問(wèn)題。 2、關(guān)系型數(shù)據(jù)庫(kù)介紹 關(guān)系型數(shù)據(jù)庫(kù)模型是把復(fù)雜的數(shù)據(jù)結(jié)構(gòu)歸結(jié)為簡(jiǎn)單的二元關(guān)系(即二維表格形式)。在關(guān)系型數(shù)據(jù)庫(kù)中,對(duì)數(shù)據(jù)的操作幾乎全部建立在一個(gè)或多個(gè)關(guān)系表格上,通過(guò)對(duì)這些關(guān)聯(lián)的表格分類(lèi)、合并、連接或選取等運(yùn)算來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的管理。 關(guān)系型數(shù)據(jù)庫(kù)誕生40多年了,從理論產(chǎn)生發(fā)展到現(xiàn)實(shí)產(chǎn)品,例如:Oracle和MySQL,Oracle在數(shù)據(jù)庫(kù)領(lǐng)域上升到霸主地位,形成每年高達(dá)數(shù)百億美元的龐大產(chǎn)業(yè)市場(chǎng)。 3、關(guān)系型數(shù)據(jù)庫(kù)表格之間的關(guān)系舉例 關(guān)系型數(shù)據(jù)庫(kù)舉例 4、了解關(guān)系型數(shù)據(jù)庫(kù)可以學(xué)習(xí)的課程 課程:【MySQL參考手冊(cè)中文版】 課程是基于MySQL參考手冊(cè)中文翻譯版制作;當(dāng)然其他關(guān)系型數(shù)據(jù)庫(kù)也可以,但是初學(xué)者一般以MySQL為主; 當(dāng)然還需要學(xué)習(xí)查詢(xún)語(yǔ)言——SQL,SQL是所有關(guān)系型數(shù)據(jù)庫(kù)的公共語(yǔ)言; 課程:【SQL基礎(chǔ)課程】 課程介紹了MySQL基礎(chǔ)、常用的操作; 〓非關(guān)系型數(shù)據(jù)庫(kù)介紹〓 1、非關(guān)系型數(shù)據(jù)庫(kù)誕生背景 NoSQL,泛指非關(guān)系型的數(shù)據(jù)庫(kù)。隨著互聯(lián)網(wǎng)web2.0網(wǎng)站的興起,傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)在應(yīng)付web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的SNS類(lèi)型的web2.0純動(dòng)態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問(wèn)題,而非關(guān)系型的數(shù)據(jù)庫(kù)則由于其本身的特點(diǎn)得到了非常迅速的發(fā)展。NoSql數(shù)據(jù)庫(kù)在特定的場(chǎng)景下可以發(fā)揮出難以想象的高效率和高性能,它是作為對(duì)傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的一個(gè)有效的補(bǔ)充。 NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,是一項(xiàng)全新的數(shù)據(jù)庫(kù)革命性運(yùn)動(dòng),早期就有人提出,發(fā)展至2009年趨勢(shì)越發(fā)高漲。NoSQL的擁護(hù)者們提倡運(yùn)用非關(guān)系型的數(shù)據(jù)存儲(chǔ),相對(duì)于鋪天蓋地的關(guān)系型數(shù)據(jù)庫(kù)運(yùn)用,這一概念無(wú)疑是一種全新的思維的注入。 2、非關(guān)系型數(shù)據(jù)庫(kù)種類(lèi) (1)鍵值存儲(chǔ)數(shù)據(jù)庫(kù)(key-value) 鍵值數(shù)據(jù)庫(kù)就類(lèi)似傳統(tǒng)語(yǔ)言中使用的哈希表??梢酝ㄟ^(guò)key來(lái)添加、查詢(xún)或者刪除數(shù)據(jù)庫(kù),因?yàn)槭褂胟ey主鍵訪(fǎng)問(wèn),所以會(huì)獲得很高的性能及擴(kuò)展性。 鍵值數(shù)據(jù)庫(kù)主要使用一個(gè)哈希表,這個(gè)表中有一個(gè)特定的鍵和一個(gè)指針指向特定的數(shù)據(jù)。Key/value模型對(duì)于IT系統(tǒng)來(lái)說(shuō)的優(yōu)勢(shì)在于簡(jiǎn)單、易部署、高并發(fā)。 典型產(chǎn)品:Memcached、Redis、MemcacheDB (2)列存儲(chǔ)(Column-oriented)數(shù)據(jù)庫(kù) 列存儲(chǔ)數(shù)據(jù)庫(kù)將數(shù)據(jù)存儲(chǔ)在列族中,一個(gè)列族存儲(chǔ)經(jīng)常被一起查詢(xún)的相關(guān)數(shù)據(jù),比如人類(lèi),我們經(jīng)常會(huì)查詢(xún)某個(gè)人的姓名和年齡,而不是薪資。這種情況下姓名和年齡會(huì)被放到一個(gè)列族中,薪資會(huì)被放到另一個(gè)列族中。 這種數(shù)據(jù)庫(kù)通常用來(lái)應(yīng)對(duì)分布式存儲(chǔ)海量數(shù)據(jù)。 典型產(chǎn)品:Cassandra、HBase (3)面向文檔(Document-Oriented)數(shù)據(jù)庫(kù) 文檔型數(shù)據(jù)庫(kù)的靈感是來(lái)自于Lotus Notes辦公軟件,而且它同第一種鍵值數(shù)據(jù)庫(kù)類(lèi)似。該類(lèi)型的數(shù)據(jù)模型是版本化的文檔,半結(jié)構(gòu)化的文檔以特定的格式存儲(chǔ),比如JSON。文檔型數(shù)據(jù)庫(kù)可以看作是鍵值數(shù)據(jù)庫(kù)的升級(jí)版,允許之間嵌套鍵值。而且文檔型數(shù)據(jù)庫(kù)比鍵值數(shù)據(jù)庫(kù)的查詢(xún)效率更高。 面向文檔數(shù)據(jù)庫(kù)會(huì)將數(shù)據(jù)以文檔形式存儲(chǔ)。每個(gè)文檔都是自包含的數(shù)據(jù)單元,是一系列數(shù)據(jù)項(xiàng)的集合。每個(gè)數(shù)據(jù)項(xiàng)都有一個(gè)名詞與對(duì)應(yīng)值,值既可以是簡(jiǎn)單的數(shù)據(jù)類(lèi)型,如字符串、數(shù)字和日期等;也可以是復(fù)雜的類(lèi)型,如有序列表和關(guān)聯(lián)對(duì)象。數(shù)據(jù)存儲(chǔ)的最小單位是文檔,同一個(gè)表中存儲(chǔ)的文檔屬性可以是不同的,數(shù)據(jù)可以使用XML、JSON或JSONB等多種形式存儲(chǔ)。 典型產(chǎn)品:MongoDB、CouchDB (4)圖形數(shù)據(jù)庫(kù) 圖形數(shù)據(jù)庫(kù)允許我們將數(shù)據(jù)以圖的方式存儲(chǔ)。實(shí)體會(huì)被作為頂點(diǎn),而實(shí)體之間的關(guān)系則會(huì)被作為邊。比如我們有三個(gè)實(shí)體,Steve Jobs、Apple和Next,則會(huì)有兩個(gè)“Founded by”的邊將Apple和Next連接到Steve Jobs。 典型產(chǎn)品:Neo4J、InforGrid 3、了解非關(guān)系型數(shù)據(jù)庫(kù)可以學(xué)習(xí)的課程 課程:面向文檔數(shù)據(jù)庫(kù)——【mongoDB基礎(chǔ)教程】 Mongo最大的特點(diǎn)是他支持的查詢(xún)語(yǔ)言非常強(qiáng)大,其語(yǔ)法有點(diǎn)類(lèi)似于面向?qū)ο蟮牟樵?xún)語(yǔ)言,幾乎可以實(shí)現(xiàn)類(lèi)似關(guān)系數(shù)據(jù)庫(kù)單表查詢(xún)的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引。 通過(guò)課程了解monggoDB的基本操作、數(shù)據(jù)查詢(xún)、文檔操作、以及一些高級(jí)語(yǔ)法; 課程:鍵值存儲(chǔ)數(shù)據(jù)庫(kù)——【Redis基礎(chǔ)教程】 Redis 是一個(gè)高性能的key-value數(shù)據(jù)庫(kù)。Redis支持主從同步,可執(zhí)行單層樹(shù)復(fù)制。 課程介紹Redis系統(tǒng)的基本配置和使用方法。 課程:列存儲(chǔ)數(shù)據(jù)庫(kù)——【HBASE基礎(chǔ)教程】 HBASE是Hadoop項(xiàng)目的一部分,運(yùn)行于HDFS文件系統(tǒng)之上,為 Hadoop 提供類(lèi)似于BigTable 規(guī)模的服務(wù)。 通過(guò)課程了解HBASE的基礎(chǔ)配置以及使用方法。 ※以上所涉及的課程均可到實(shí)驗(yàn)樓免費(fèi)在線(xiàn)學(xué)習(xí),無(wú)需搭建環(huán)境,文檔引導(dǎo)學(xué)習(xí)~ |
|
來(lái)自: 然并卵書(shū)屋 > 《待分類(lèi)1》