
大數(shù)據(jù)數(shù)據(jù)庫技術(shù)簡介與分類分析
說起大數(shù)據(jù)生態(tài),不得不提大數(shù)據(jù)生態(tài)系統(tǒng)圖,而大數(shù)據(jù)行業(yè)卻不斷的發(fā)生著巨變,目前的這張圖應(yīng)該還算比較新了。
創(chuàng)業(yè)者們蜂擁至這個行業(yè),這個行業(yè)正變得越來越擁擠。Hadoop似乎已經(jīng)奠定了其作為整個大數(shù)據(jù)生態(tài)系統(tǒng)的關(guān)鍵部分,Spark是另一個基于內(nèi)存計算的開源分布式計算框架,它試圖填補Hadoop的弱項,提供更快的數(shù)據(jù)分析和良好的編程接口。
分析工具領(lǐng)域變得異?;钴S,數(shù)據(jù)應(yīng)用領(lǐng)域正如預(yù)測一樣逐漸成為重心。一些類別如數(shù)據(jù)庫無論是NoSQL還是NewSQL和社交數(shù)據(jù)分析正日趨成熟。
今天就先讓我們從眾多內(nèi)容當(dāng)中,先挑選一塊和大家探討探討,先從數(shù)據(jù)庫說起吧。
從大的角度講,可以簡單的將數(shù)據(jù)庫分為兩類:
●傳統(tǒng)SMP架構(gòu)的數(shù)據(jù)庫,主要指代的是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,例如DB2、Postgrel,MySQL等。
●新型數(shù)據(jù)庫,主要指代為支持大規(guī)模數(shù)量集,高并發(fā)要求,高可擴展性等孕育而生的新型數(shù)據(jù)庫。包括目前大數(shù)據(jù)生態(tài)當(dāng)中主流MPP,NoSQL,NewSQL數(shù)據(jù)庫等
傳統(tǒng)數(shù)據(jù)庫和新型數(shù)據(jù)庫的一個主要區(qū)別是SMP架構(gòu)VS分布式/并行
●SMP(Symmetric Multi-Processor)
SMP是對稱多處理器結(jié)構(gòu)的簡稱,指代多個CPU對稱工作,無主次或從屬關(guān)系。各個CPU共享相同的物理內(nèi)存,每個CPU訪問內(nèi)存中的任何地址的路徑是相同的(訪問的時間是相同的),因此SMP也被稱為一致存儲器訪問結(jié)構(gòu)(UMA: Uniform Memory Access)。
●NUMA(Non-Uniform Memory Access)
NUMA是非對稱的多處理結(jié)構(gòu),剛好與SMP相對,多個CPU工作時,對內(nèi)存的訪問路徑不同。NUMA架構(gòu)的提出主要是解決SMP架構(gòu)下多CPU擴展的問題。
●MPP(Massive Parallel Processing)
和NUMA不同,MPP提供了另一種進行系統(tǒng)擴展的方式。它由多個SMP服務(wù)器通過一定的節(jié)點互聯(lián)網(wǎng)絡(luò)進行連接,協(xié)同工作,完成相同的任務(wù),從用戶的角度來看是一個服務(wù)器系統(tǒng)。
SMP和NUMA都主要指向單一的計算機系統(tǒng),而MPP則有點集群的意思了
●原子性(Atomic)
整個事務(wù)要么成功,要么失敗,杜絕部分成功
●一致性(Consistent)
事務(wù)的運行并不改變數(shù)據(jù)庫中數(shù)據(jù)的一致性。例如,完整約束了a+b=10,一個事務(wù)改變了a,那么b也應(yīng)該隨之改變
●獨立性(lsolated)
也稱作隔離性,指兩個以上的事務(wù)不會出現(xiàn)交錯執(zhí)行的狀態(tài),因為這樣不可能會導(dǎo)致數(shù)據(jù)不一致
●持久性(Durable)
事務(wù)執(zhí)行成功以后,該事務(wù)所對數(shù)據(jù)庫做的更改便是持久的保存在數(shù)據(jù)庫之中,不會無緣無故的回滾
傳統(tǒng)基于關(guān)系模型的數(shù)據(jù)庫遵從ACID基本理論,而新型分布式數(shù)據(jù)庫則并不完全遵從該理論
●一致性(Consistent)
即數(shù)據(jù)的?一致性,簡單的說就是數(shù)據(jù)復(fù)制到N臺機器,如果有更新,要N臺機器的數(shù)據(jù)一起更新
●可用性(Availability)
在集群中一部分節(jié)點故障后,集群整體還能響應(yīng)客戶端的讀寫請求
●分區(qū)容錯性(Tolerance)
分區(qū)發(fā)生但不影響整個系統(tǒng)的運行
基于傳統(tǒng)關(guān)系型模型數(shù)據(jù)庫更關(guān)注CA,新型NoSQL數(shù)據(jù)庫更關(guān)心CP,AP
根據(jù)體系架構(gòu)來分類
從數(shù)據(jù)庫的體系架構(gòu)來看,可以將數(shù)據(jù)庫分為:
●SMP Database
這類數(shù)據(jù)大多指代的是基于傳統(tǒng)關(guān)系型數(shù)據(jù)庫模型的數(shù)據(jù)庫,比如IBM的DB2,Postgres,MySQL等
●MPP Database
基于MPP體系架構(gòu)的數(shù)據(jù)庫,例如Teradata, Greenplum, Netezza等
●Distribute Database
嚴格來講MPP也應(yīng)該屬于分布式數(shù)據(jù)庫,但這里更多指的是新型NoSQL和NewSQL數(shù)據(jù)庫,例如Hbase, Cassandra, Hive, mongoDB等
根據(jù)數(shù)據(jù)庫對SQL的支持情況,可以將數(shù)據(jù)庫分為:
●SQL Database
而SQL數(shù)據(jù)又可以細分為:
●NoSQL Database
而NoSQL數(shù)據(jù)庫本身又是非常寬泛的,其又可以分為多種類型:
無論是「OldSQL」,「NewSQL」還是「NoSQL」,都是大數(shù)據(jù)解決方案中經(jīng)常提及的名詞。那么面對傳統(tǒng)的SQL數(shù)據(jù)庫, NoSQL數(shù)據(jù)存儲以及NewSQL數(shù)據(jù)該如何進行選擇呢?其實,沒有任何一款可以應(yīng)對所有的應(yīng)用場景,應(yīng)該根據(jù)應(yīng)用場景選擇對的數(shù)據(jù)庫。
對于傳統(tǒng)的SQL數(shù)據(jù)庫來說,它已經(jīng)被使用了多年,成為了很多應(yīng)用服務(wù)過程中依賴的核心組件。如果對于自身的應(yīng)用來說它的運行和性能表現(xiàn)是可接受的,那么其實是不需要考慮替換的。沒有必要的替換或更新只會引入更多的工作量,更大的風(fēng)險。對于傳統(tǒng)SQL數(shù)據(jù)庫而言,其優(yōu)勢主要體現(xiàn)在:
●提供了系統(tǒng)運行多年的穩(wěn)定性和可靠性,對標準SQL的支持能力
●與ORM的兼容度
●擁有更加豐富的事務(wù)處理功能
●即席查詢的能力
●成熟而穩(wěn)定的商業(yè)生態(tài)
傳統(tǒng)SQL在過去一直處于市場的壟斷地位,但是隨著存儲,處理和分析的數(shù)據(jù)量指數(shù)倍的快速增長,對傳統(tǒng)SQL數(shù)據(jù)庫形成了非常大的挑戰(zhàn),其劣勢主要體現(xiàn)在:
●設(shè)計架構(gòu)決定了很難進行擴展,性能瓶頸往往局限在單機的處理能力上
●傳統(tǒng)SQL數(shù)據(jù)庫系統(tǒng)設(shè)計遵循的往往是通?用標準”one size fits all”,因此在很多專用場景下也不是最優(yōu)的
●復(fù)雜的性能調(diào)優(yōu)參數(shù),需要在性能,數(shù)據(jù)安全,資源使用等多方面平衡,調(diào)優(yōu)成本非常高
對于NoSQL數(shù)據(jù)庫來說,它在目前的大數(shù)據(jù)生態(tài)和真實應(yīng)用場景中已經(jīng)越來越多的被廣泛的應(yīng)用。對非結(jié)構(gòu),半結(jié)構(gòu)化數(shù)據(jù)的支持使得在很多特定場景下的開發(fā)非常簡單,對于對SQL弱依賴的業(yè)務(wù),NoSQL的引入不但降低了本身的成本而且增加了系統(tǒng)的擴展性和性能。其優(yōu)勢主要體現(xiàn)在:
●大多NoSQL設(shè)計遵從最終一致性,因此具有更高的可用性
●同時基于最終一致性的系統(tǒng)相比于傳統(tǒng)的OLAP關(guān)系型數(shù)據(jù)庫具有更好的負載擴展性,支持更大的數(shù)據(jù)集
●很多NoSQL系統(tǒng)對于非關(guān)系性數(shù)據(jù),例如log messages, XML and JSON documents進行了更多的優(yōu)化
盡管NoSQL數(shù)據(jù)庫技術(shù)目前發(fā)展非常迅速,應(yīng)用也越來越廣,但是其還是有自身的局限性:
●NoSQL數(shù)據(jù)庫基本上不支持事務(wù),也不遵從ACID。因此對于嚴格依賴ACID的應(yīng)用并不適用
●對OLAP-style的查詢并不能直接進行很好的支持,需要更多應(yīng)用開發(fā)量
NewSQL也是目前比較流行的術(shù)語,與NoSQL相比還比較新。NewSQL系統(tǒng)基本上是基于關(guān)系數(shù)據(jù)庫模型的,對SQL的支持非常好,與此同時嘗試解決傳統(tǒng)SQL數(shù)據(jù)庫面臨的問題。NewSQL數(shù)據(jù)庫的設(shè)計目的不僅具有NoSQL對海量數(shù)據(jù)的存儲能力,還保持了傳統(tǒng)數(shù)據(jù)庫支持ACID和SQL等特征。NewSQL的主要優(yōu)勢是:
●減少了應(yīng)用研發(fā)和設(shè)計的復(fù)雜度,提供了強一致性和全事務(wù)支持
●對SQL的支持以及相應(yīng)的標準工具
●豐富的數(shù)據(jù)分析SQL支持和擴展
●無需應(yīng)用層面大的改進便可以在數(shù)據(jù)和查詢模型的基礎(chǔ)上提供類似NoSQLstyle集群方案的擴展性和性能
于此同時,NewSQL也存在其自身的劣勢:
目前還沒有NewSQL系統(tǒng)具備像傳統(tǒng)SQL數(shù)據(jù)庫系統(tǒng)那樣的通用性
●由于NewSQL自身in-memory的系統(tǒng)架構(gòu)設(shè)計,在海量數(shù)據(jù)的支持上還是面臨很多技術(shù)和成本的挑戰(zhàn)
對于MPP和Hadoop而言,很多人都會把兩者放在一起進行比較,可實際上這兩者本身應(yīng)該不太具有可比性,因為并不完全是同類的產(chǎn)品,之所以會比較,可能是因為在特定的應(yīng)用場景下,我們不知道也不清楚該如何從他們之中進行選擇。
無論是MPP數(shù)據(jù)庫還是Hadoop,其基礎(chǔ)架構(gòu)都是以分布式為基礎(chǔ)的。MPP數(shù)據(jù)庫本質(zhì)上是分布式并行關(guān)系型數(shù)據(jù)庫系統(tǒng),而Hadoop并不是一個簡單的單一系統(tǒng)或技術(shù),而是一個生態(tài)系統(tǒng),由多個組件和不同的功能構(gòu)建起來。
MPP數(shù)據(jù)庫的主要架構(gòu)特點是:
●分布式,基于網(wǎng)格計算技術(shù)
●Shared-nothing
●DAS(direct-attached storage)存儲特質(zhì)
●數(shù)據(jù)分區(qū)以及本地處理
●數(shù)據(jù)壓縮
●高性能網(wǎng)絡(luò)鏈接
對于MPP數(shù)據(jù)庫,它比較擅長的是:
●關(guān)系型數(shù)據(jù)
●批處理
●即席數(shù)據(jù)查詢分析
●低并發(fā)場景
●ANSI SQL支持度高
而與之不同的是,Hadoop?比較擅長的是:
●一次寫多次度
●100+以上節(jié)點集群規(guī)模
●支持關(guān)系型和非關(guān)系型數(shù)據(jù)
●具有非常高的并發(fā)性
●批處理和分析負載
●具有非常好的擴展性
下表對MPP和Hadoop進行了對比分析
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03