在裸機(jī)云上運(yùn)行大數(shù)據(jù)分析
大數(shù)據(jù)分析可以定義為用于處理復(fù)雜數(shù)據(jù)集以發(fā)現(xiàn)市場(chǎng)趨勢(shì),關(guān)聯(lián)性和隱藏?cái)?shù)據(jù)模式的技術(shù)和流程的集合。它使組織能夠做出明智的業(yè)務(wù)決策,并幫助研究人員驗(yàn)證其科學(xué)模型。
大數(shù)據(jù)分析已成為所有業(yè)務(wù)的重要組成部分,無論是財(cái)務(wù)分析,零售,廣告還是醫(yī)療保健。全球數(shù)據(jù)量呈指數(shù)級(jí)增長,估計(jì)將從今年的33ZB躍升至2025年的175ZB。這不僅創(chuàng)造了巨大的機(jī)會(huì),而且對(duì)運(yùn)行大數(shù)據(jù)分析的基礎(chǔ)架構(gòu)提出了巨大的要求,并給數(shù)據(jù)工程師帶來了新的挑戰(zhàn)。
Analytics(分析)工作量有什么獨(dú)特之處?
首先,讓我們就定義分析工作負(fù)載的觀點(diǎn)達(dá)成一致。根據(jù)Curt Monash的說法,“分析是事務(wù)性的反義詞。” 盡管事務(wù)處理(OLTP)的特點(diǎn)是具有少量的離散操作,每秒具有大量事務(wù),并且具有嚴(yán)格的數(shù)據(jù)完整性,但分析工作負(fù)載通常以較少的用戶為特色,這些用戶對(duì)數(shù)據(jù)源進(jìn)行的操作更加復(fù)雜且占用大量資源。
幕后發(fā)生了巨大的并行性,并且通過使計(jì)算盡可能地接近數(shù)據(jù)來最大程度地降低了數(shù)據(jù)移動(dòng)。數(shù)據(jù)量大,模型復(fù)雜且計(jì)算由分布式系統(tǒng)完成–所有這些都給執(zhí)行這些任務(wù)的基礎(chǔ)架構(gòu)帶來了真正的負(fù)擔(dān)。
考慮過渡到云?
建立和維護(hù)您的大數(shù)據(jù)分析堆棧并不是開玩笑,因此公司經(jīng)常選擇將其分析工作負(fù)載遷移到云中,以降低復(fù)雜性并提高運(yùn)營效率。根據(jù)經(jīng)驗(yàn),在準(zhǔn)備過渡到云時(shí),有兩個(gè)要點(diǎn)要考慮:數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)處理。
要存儲(chǔ)的數(shù)據(jù)山
對(duì)于大數(shù)據(jù)項(xiàng)目,首先需要考慮的是分布式數(shù)據(jù)存儲(chǔ)。參照Brewer定理,分布式數(shù)據(jù)存儲(chǔ)不可能同時(shí)提供兩個(gè)以上的保證:即一致性,可用性還是分區(qū)容限。因此,選擇兩個(gè),這很好。與以往一樣,選擇取決于您的應(yīng)用程序。
為了保持大數(shù)據(jù)輪旋轉(zhuǎn),需要高度可伸縮,高效且經(jīng)濟(jì)高效的存儲(chǔ)。幾乎總會(huì)是某種類型的NoSQL數(shù)據(jù)庫-如今,您可以 選擇超過225個(gè)NoSQL數(shù)據(jù)庫。
還記得布魯爾定理嗎?這是您開始做出犧牲的時(shí)候。如果您可以容忍某些數(shù)據(jù)不可用的風(fēng)險(xiǎn)(犧牲可用性),那么您可以采用一種高度靈活且易于擴(kuò)展且具有簡(jiǎn)單查詢功能的文檔數(shù)據(jù)庫,例如MongoDB。如果您的客戶可能讀取不一致的數(shù)據(jù)(犧牲一致性),這沒什么大不了的,那么您可能想要選擇容錯(cuò)且線性可擴(kuò)展的數(shù)據(jù)庫,例如Cassandra。
當(dāng)您考慮使用傳統(tǒng)的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(例如MySQL或PostgreSQL)并犧牲分區(qū)容忍度時(shí),甚至還有一些利基用例。盡管這可以驗(yàn)證您的行家身份,但可能涉及數(shù)據(jù)庫分片,并使處理非結(jié)構(gòu)化數(shù)據(jù)幾乎變得不可能。讓我們僅使用SQL來查詢數(shù)據(jù)倉庫,對(duì)吧?
無論選擇哪種數(shù)據(jù)庫,大多數(shù)數(shù)據(jù)庫在商用硬件上都能很好地運(yùn)行。盡管如今所有超大規(guī)模云提供商都在提供托管數(shù)據(jù)庫服務(wù)-其中有些人不愿意讓開源成為中指 -但是,當(dāng)有出色的開源產(chǎn)品出現(xiàn)時(shí),就不必陷入其生態(tài)系統(tǒng)中。
例如,您可以在具有HDD,SSD或NVMe直接連接的存儲(chǔ)的裸機(jī)云上運(yùn)行MongoDB集群,從而使每個(gè)節(jié)點(diǎn)上的I / O操作激增。而且,如果您是真正的速度愛好者,則可能需要設(shè)置像Ignite或Redis這樣的內(nèi)存數(shù)據(jù)庫。
讓我們處理數(shù)據(jù)!等等,但是如何?
數(shù)據(jù)是新的石油,并非沒有原因。我們喜歡數(shù)據(jù);它有助于我們更好地理解事物并揭示可行的見解。為此,我們必須以一種或另一種方式處理數(shù)據(jù)。
首先是Hadoop,其基于MapReduce計(jì)算范例的批處理計(jì)算框架。生活是美好的,并且在工程師水平擴(kuò)展其大數(shù)據(jù)集群并采用大規(guī)模并行性的同時(shí)演唱了歌曲。每個(gè)節(jié)點(diǎn)在已為其分配的映射數(shù)據(jù)上執(zhí)行給定的reduce函數(shù)-這樣,大量數(shù)據(jù)塊的處理就變得輕而易舉。
這也是Google啟動(dòng)其搜索引擎的方式。隨著時(shí)間的推移,隨著大數(shù)據(jù)行業(yè)的日趨成熟, Hadoop生態(tài)系統(tǒng)迅速擴(kuò)展并引入了更多抽象層來解決新問題。它仍然是當(dāng)今數(shù)據(jù)行業(yè)中最重要和最常用的工具,您可以在其中輕松地在簡(jiǎn)單的商用服務(wù)器上運(yùn)行。只需確保您的節(jié)點(diǎn)上具有快速,直接連接的存儲(chǔ),因?yàn)镠adoop MapReduce是磁盤綁定的。
雖然批處理是一個(gè)非常強(qiáng)大的概念,但我們首先需要存儲(chǔ)數(shù)據(jù)以進(jìn)行處理。當(dāng)您要開始使用連續(xù)數(shù)據(jù)流進(jìn)行實(shí)時(shí)預(yù)測(cè)時(shí),這會(huì)帶來困難。要使算法股票交易或野火監(jiān)控等工作正常進(jìn)行,必須一目了然地處理數(shù)據(jù)。顯然,這里我們需要一個(gè)不同的范例,而Apache Spark在流處理方面處于創(chuàng)新的最前沿。
該項(xiàng)目最初旨在解決Hadoop在流分析中的弱點(diǎn)。Spark沒有文件管理系統(tǒng),因此它依賴于HDFS或任何其他存儲(chǔ)集群。它從集群讀取數(shù)據(jù),一步完成其操作,然后將數(shù)據(jù)寫回到集群。這可以比Hadoop快100倍,因?yàn)槟J(rèn)情況下Spark在內(nèi)存中運(yùn)行。在為您的Spark集群選擇正確的基礎(chǔ)架構(gòu)時(shí),請(qǐng)尋找功能強(qiáng)大的RAM。
像大多數(shù)偉大的技術(shù)一樣,Spark發(fā)生了很大的變化?,F(xiàn)在,它是一個(gè)統(tǒng)一的分析引擎,具有強(qiáng)大的交互式查詢,圖形處理和迭代算法。例如,您可以輕松構(gòu)建機(jī)器學(xué)習(xí)工作流程,并在Spark上使用一些最受歡迎的算法來遍歷數(shù)據(jù)集并構(gòu)建機(jī)器學(xué)習(xí)模型。這些天,它甚至可以處理批處理作業(yè)。而關(guān)于Spark的最好的事情?它是完全免費(fèi)的。
云還是不云
好的,您剛剛在口袋里就擁有了所有這些功能強(qiáng)大的開源工具?,F(xiàn)在,您需要為項(xiàng)目選擇正確的基礎(chǔ)架構(gòu)。如果您購買裸機(jī)服務(wù)器并將其托管在本地,則可以利用原始基礎(chǔ)結(jié)構(gòu)的大部分好處,但需要大量的前期資本投資和進(jìn)一步的維護(hù)成本。
盡管對(duì)于大型企業(yè)來說,這種選擇仍然相當(dāng)可觀,但是中小型企業(yè)必須更加敏捷。另一方面,租用基礎(chǔ)結(jié)構(gòu)是更方便的選擇,因?yàn)槟词褂昧扛顿M(fèi),而無需投資硬件。假設(shè)您最終決定遷移到云中。但是選擇哪一個(gè)呢?
每個(gè)超大規(guī)模提供商,無論是AWS,Azure還是GCP,都具有廣泛的托管服務(wù)組合,可為大數(shù)據(jù)社區(qū)提供服務(wù),范圍從托管數(shù)據(jù)庫到集成的機(jī)器學(xué)習(xí)框架。這似乎是一種萬能的解決方案,但是它們的大多數(shù)托管服務(wù)都具有與免費(fèi)提供的開源同類服務(wù)大致相同的功能。如果您仍然希望完全從基礎(chǔ)結(jié)構(gòu)中抽象出來,并且可以將其鎖定在一個(gè)提供商中,那您就可以準(zhǔn)備接收不斷增長的發(fā)票并使用復(fù)雜的定價(jià)計(jì)算器。有趣的是,甚至還有Cloud Economist的角色可以幫助您解決AWS發(fā)票。
好的,因此您想完全控制您的云堆棧,并始終可以自由選擇其駐留位置。如前所述,諸如Hadoop和Spark之類的開源技術(shù)在商用硬件上確實(shí)能很好地工作,因此主要問題是選擇哪種基礎(chǔ)架構(gòu)作為服務(wù)提供商。從歷史上看,典型的云產(chǎn)品包括虛擬機(jī),這些虛擬機(jī)具有超額預(yù)定的硬件資源,通常會(huì)導(dǎo)致工作負(fù)載變動(dòng)和安全風(fēng)險(xiǎn)增加。盡管云服務(wù)生態(tài)系統(tǒng)已大大擴(kuò)展,但基礎(chǔ)架構(gòu)基礎(chǔ)服務(wù)仍然嚴(yán)重依賴虛擬機(jī)管理程序。
塊上的裸金屬云
裸金屬云是不同的。您仍然擁有完全自動(dòng)化的基礎(chǔ)架構(gòu)配置,而沒有底層虛擬化層。這很棒,有幾個(gè)原因。首先,所有服務(wù)器都是嚴(yán)格的單租戶,并且您是整個(gè)計(jì)算機(jī)的唯一所有者。單身生活并不會(huì)帶來很多樂趣,但在云中卻是很棒的:您沒有喧鬧的鄰居,沒有硬件超額預(yù)定,沒有虛擬機(jī)監(jiān)控程序開銷,并且安全風(fēng)險(xiǎn)更低。簡(jiǎn)而言之,裸機(jī)云是托管資源密集型應(yīng)用程序的一種更干凈的方法。對(duì)于需要強(qiáng)大基礎(chǔ)架構(gòu)和增強(qiáng)安全性的數(shù)據(jù)分析工作負(fù)載,裸機(jī)云無與倫比。
裸機(jī)的原始馬力
在裸機(jī)上運(yùn)行大數(shù)據(jù)集群可為您帶來更多優(yōu)勢(shì)??梢酝ㄟ^RESTful API在數(shù)分鐘內(nèi)輕松擴(kuò)展和縮小服務(wù)器,這在運(yùn)行分布式系統(tǒng)時(shí)至關(guān)重要。沒有虛擬化和硬件超量預(yù)訂,您可以以最大容量運(yùn)行應(yīng)用程序,并且仍具有平穩(wěn)穩(wěn)定的工作負(fù)載。如果這還不夠,您可以根據(jù)需要自定義服務(wù)器硬件。只需在構(gòu)建機(jī)器學(xué)習(xí)模型時(shí)添加GPU加速器,增加RAM來擴(kuò)展內(nèi)存數(shù)據(jù)庫或?qū)VMe存儲(chǔ)放入服務(wù)器即可使Hadoop集群飛速發(fā)展。您還能在哪里獲得如此簡(jiǎn)單的專用硬件?通過消除虛擬機(jī)管理程序的開銷并引入自定義硬件,裸機(jī)云可為您提供按需提供的最高效的基礎(chǔ)架構(gòu)。原始而簡(jiǎn)單。
增強(qiáng)的隱私和安全性
在大數(shù)據(jù)世界中,對(duì)安全性非常重視,可以理解的是,您需要相應(yīng)地選擇基礎(chǔ)架構(gòu)。處理敏感數(shù)據(jù)通常意味著您必須存儲(chǔ)和處理個(gè)人身份信息(PII),并遵守法律法規(guī)。確保您的供應(yīng)商符合GDPR要求或獲得行業(yè)認(rèn)可的認(rèn)證(例如ISO 27001)始終是一個(gè)好主意。除此之外,您在法律上也有義務(wù)擁有私有且隔離的基礎(chǔ)結(jié)構(gòu)。裸金屬云本質(zhì)上是單租戶,您無需為此付出任何代價(jià)。
遵守法律很重要,但系統(tǒng)安全同樣重要。在大數(shù)據(jù)上,分布式計(jì)算集群應(yīng)在節(jié)點(diǎn)之間私下移動(dòng)數(shù)據(jù)。為此,您通常需要一個(gè)專用網(wǎng)絡(luò)子網(wǎng)。在裸機(jī)云上,會(huì)為每臺(tái)服務(wù)器自動(dòng)分配一個(gè)專用網(wǎng)絡(luò)接口。這樣,您可以在具有10G帶寬的快速安全的LAN上內(nèi)部處理數(shù)據(jù)。
數(shù)據(jù)傳輸便宜100倍
當(dāng)然,您嘗試使計(jì)算盡可能地靠近數(shù)據(jù)所在的位置。當(dāng)您的數(shù)據(jù)集很大時(shí),尤其如此,因?yàn)橐苿?dòng)計(jì)算比移動(dòng)數(shù)據(jù)便宜。但是,您仍然需要將數(shù)據(jù)移入和移出群集。超大規(guī)模提供商夸耀其低廉的數(shù)據(jù)傳輸價(jià)格,每TB的價(jià)格可能從50美元到100美元以上不等,但在裸機(jī)云上,您可以將數(shù)據(jù)傳入和傳出到Internet的價(jià)格低至每TB 1美元。完全不同,對(duì)嗎?
現(xiàn)在由您決定
市場(chǎng)上仍然只有少數(shù)的裸機(jī)云提供商,而能夠提供全自動(dòng)且易于定制的基礎(chǔ)架構(gòu)的提供商更少。因此,如果您打算用下一件大事來征服世界,請(qǐng)考慮選擇一個(gè)更靈活,高效且具有成本效益的云平臺(tái)來升級(jí)大數(shù)據(jù)應(yīng)用程序。