大數(shù)據(jù)基礎(chǔ)知識全集,大數(shù)據(jù)愛好者收藏必備

現(xiàn)在市面上的大數(shù)據(jù)產(chǎn)品太多了,但它們還遠遠沒達到像 IaaS 層那樣的標準化程度,每個產(chǎn)品之間的差別也并不是特別明確清晰。很多企業(yè)在做大數(shù)據(jù)平臺或大數(shù)據(jù)方案的時候,常常不知道該選用哪些產(chǎn)品來滿足自己的需求。一般的做法是做調(diào)研、學習、搭環(huán)境、測試、做各種產(chǎn)品的集成,但通常這個過程會很漫長,成本也很高。

我們希望這些事情都交給云平臺來做,云上所有的產(chǎn)品都可以一鍵部署、一鍵伸縮,不論是加節(jié)點還是減節(jié)點都能夠在 UI 界面上直接操作。對于一個企業(yè)來說,真正的核心是自己的業(yè)務(wù),而不需要花太多的時間搞明白到底該用哪些工具搭建、部署、管理大數(shù)據(jù)。 大數(shù)據(jù)產(chǎn)品的運維和管理,應(yīng)該交給更專注、具有更大規(guī)模效益的大數(shù)據(jù)服務(wù)廠商,用戶只需聚焦于自己的業(yè)務(wù)?

QingCloud 提供了一個完整的基礎(chǔ)架構(gòu)云和技術(shù)平臺云,這里面分了很多層,最下面一層是大家熟知的 IaaS 層,包括標準的計算、存儲、網(wǎng)絡(luò)。網(wǎng)絡(luò)里還有路由器、負載均衡等,存儲里面有塊存儲、共享存儲、對象存儲等各種面向不同場景的存儲服務(wù),計算中有主機、容器、映象等計算資源。

IaaS 層上面是 PaaS,QingCloud 在幾年前就開始做 PaaS 平臺,有一個原則貫穿始終 —— QingCloud 的 PaaS 服務(wù)需要全部基于 IaaS,這樣做的好處是可以將 QingCloudIaaS 層所有的技術(shù)創(chuàng)新,如資源調(diào)度、SDN 網(wǎng)絡(luò)、性能優(yōu)化,都透過IaaS 層被 PaaS 享用,QingCloud 的架構(gòu)是一套統(tǒng)一的架構(gòu)。

此外,QingCloud 在 PaaS 層之上還提供了一些高級的管理服務(wù),如編排、定時器、監(jiān)控告警等以及客戶部署的各種類型服務(wù)(如 VPC、專屬云、托管云)。

QingCloud 完整的企業(yè)級大數(shù)據(jù)平臺

QingCloud 的大數(shù)據(jù)平臺包含了完整的數(shù)據(jù)生命周期:負責數(shù)據(jù)傳輸?shù)挠?Kafka; 數(shù)據(jù)傳進來之后可以存儲在對象存儲、HBase、MongoDB;負責從存儲里拿出數(shù)據(jù)進行計算處理的有主流的實時處理工具 Storm、準實時處理工具 Spark、批處理工具 hadoop、Hive 等;還有一些在公有云上用量非常大的大數(shù)據(jù)組件:如 Elasticsearch ,性能和業(yè)務(wù)性很強,場景非常明確,只要做大數(shù)據(jù)、海量數(shù)據(jù)搜索都非常易用,以及 Redis、Memcached、ZooKeeper 等離用戶比較近的大數(shù)據(jù)產(chǎn)品。

由于 QingCloud 是一家云服務(wù)商,所以提供的大數(shù)據(jù)平臺是一個通用的服務(wù),這與美團、小米、百度等互聯(lián)網(wǎng)公司的大數(shù)據(jù)概念不太一樣,它們的平臺中會有很多與自己業(yè)務(wù)相關(guān)的東西。而 QingCloud 是在云上給所有的用戶提供服務(wù),所提供的這套大數(shù)據(jù)平臺是一個通用的架構(gòu),每個組件之間的關(guān)系都非常靈活。QingCloud 主要提供主流的大數(shù)據(jù)組件和組件之間關(guān)系的管理。

想學習大數(shù)據(jù)或者想學習大數(shù)據(jù)的朋友,我整理了一套大數(shù)據(jù)的學習視頻免費分享給大家,從入門到實戰(zhàn)都有,大家可以加微信:Lxiao_28獲取,還可以入微信群交流!(備注領(lǐng)取資料,真實有效哦)。

大數(shù)據(jù)產(chǎn)品如何選型?

很多用戶在面對大數(shù)據(jù)時都會遇到一個相同的問題,應(yīng)該選用什么產(chǎn)品?其實這個問題沒有一個百分之百確定的答案,下面我們將會從各個維度來解析當前主流的大數(shù)據(jù)產(chǎn)品:

實時流處理引擎對比

實時流處理引擎主流的產(chǎn)品有 Storm、StormTrident、Spark Streaming、SAMZA、Flink 等,在選擇它們時可以考慮的維度很多,比如說消息的傳遞機制保護(Guarantees)有 At-least-once(至少傳輸一次,它帶來的結(jié)果是消息的重發(fā))和Exactly-once(消息一定只處理一次,無論是在出錯的情況還是其他的情況下)的區(qū)別;Latency(延遲)方面,如 Storm 是通過 Native 實現(xiàn)的流處理,延遲非常低。而 Spark Streaming 是通過 Micro-batching 實現(xiàn)的,它會把一段時間內(nèi)的流組成小批量地處理,這樣它的延遲就會高一些;吞吐量(Throughput)方面, Storm 的 Native 吞吐量沒有那么高,SparkStreaming 的吞吐量就會很高。

一個企業(yè)的架構(gòu)師或者方案的設(shè)計者在選型這些產(chǎn)品的時候,需要平衡自身流處理的業(yè)務(wù)到底在意什么維度,是在意吞吐量、性能,還是在意消息的處理機制。

存儲 - HBase vs Cassandra

HBase 和 Cassandra 是兩個非常接近的產(chǎn)品,很多人對它們可能不是很熟。它們都是列存儲,都可以處理海量的數(shù)據(jù),讀寫性能都非常好。但它們也有很多維度可以對比,首先是一致性,HBase 是基于行的強一致性,Cassandra 則是最終一致性,如果在中間的某個點寫入數(shù)據(jù)的時候去讀取,有可能不會讀到最新數(shù)據(jù);

穩(wěn)定性方面,HBase 有自己的 HMaster、Namenode HA,Cassandra 是 P2P 的架構(gòu),去中心化,沒有單點故障;分區(qū)策略方面,HBase 是基于主鍵有序排列的范圍分區(qū),Cassandra 是一致性 Hash 排列,可自定義策略;可用性,HBase 是 Down 掉一臺短暫不可讀寫,Cassandra 是 Down 掉可繼續(xù)讀寫。

從這些對比可以明顯地看出來, HBase 犧牲了可用性,注重強一致性,Cassandra有高可用性,沒有強一致性。因此,在應(yīng)用場景方面,HBase 由于有強一致性,它可以做一些 OLTP 類型、交易類型的工作。 Cassandra 因為并發(fā)讀寫的量比較大,性能比較強,但是數(shù)據(jù)不要求強一致性,不要求數(shù)據(jù)時時刻刻精準和統(tǒng)一,可以做監(jiān)控數(shù)據(jù)的存儲。

常用 Ad - hoc & OLAP 查詢分析產(chǎn)品對比

常用的數(shù)據(jù)倉庫 Ad-hoc 和 OLAP 產(chǎn)品也非常多,在選擇的時候可以從三個維度來衡量——數(shù)據(jù)量、靈活性和性能。

Hive:

基于 MapReduce,可以 處理海量數(shù)據(jù),查詢靈活,但性能較低;

Phoenix + HBase:

也可以處理海量數(shù)據(jù),性能高,但查詢只能通過Rowkey 查詢,靈活性較差;

Elasticsearch:

可以用來做數(shù)據(jù)分析和日志分析等應(yīng)用場景, 特點是查詢靈活、性能高,但是它目前還支持不了海量數(shù)據(jù), 只能支撐 TB 級數(shù)據(jù)。這個原因主要是和它的架構(gòu)有關(guān)系,Elasticsearch 屬于全鏈接的結(jié)構(gòu),所有節(jié)點之間都有通信,這應(yīng)該是影響擴展性的一個原因;

Kylin:

百度、小米、美團等互聯(lián)網(wǎng)企業(yè)都會用它來做數(shù)據(jù)倉庫的分析, 它可以處理海量數(shù)據(jù),性能也很高,但是靈活性較低 。由于 Kylin 采用的是預(yù)聚合查詢,在數(shù)據(jù)倉庫中需要把你要算的 cube 的維度和事實預(yù)先計算好,存到 Hbase 里面才能達到很高的性能,這導致它就喪失了靈活性;

Druid:

海量數(shù)據(jù)、性能、查詢靈活都滿足了,但是它也有一個限制,數(shù)據(jù)來源的每條記錄里必須有一個 Timestand,它是時序數(shù)據(jù)的處理,更多的被應(yīng)用在實時處理的場景,比如廣告分析;

HashData(GreenPlum):

GreenPlum 是一個傳統(tǒng)的數(shù)據(jù)倉庫,三個創(chuàng)始人依次是雅虎 Hadoop 團隊的研發(fā)、全球 Hadoop 集群的運維和 GreenPlum 的核心研發(fā)工程師。他們在 Apache 上開源了一個基于 Hadoop 的數(shù)據(jù)倉庫項目—— Apache hook,在這個項目中他們貢獻了一半以上的代碼。所以,該團隊在數(shù)據(jù)倉庫的技術(shù)研發(fā)能力是很強的,與QingCloud 一起實現(xiàn) HashData, 這款產(chǎn)品查詢靈活,性能高。但是它的局限是只能處理結(jié)構(gòu)化的數(shù)據(jù),不能處理非結(jié)構(gòu)化數(shù)據(jù)。

計算與存儲關(guān)系的思考

做大數(shù)據(jù)肯定會想到一個問題 —— 大數(shù)據(jù)的數(shù)據(jù)到底放在什么地方?是放在硬盤里還是放在對象存儲里?如果放在本地的話性能倒是可以滿足,但是容量又不夠。而放在對象存儲里,容量可以無限擴展,但是性能肯定又沒有本地硬盤快。例如Hadoop 或者 Spark,下面的數(shù)據(jù)如果放在本地機器或集群相關(guān)的存儲上,它就擁有了大數(shù)據(jù)中數(shù)據(jù)本地性這個特性。但是這樣做也會有問題,碰到海量小文件就不行了。這個問題誰能幫你解決?對象存儲。對象存儲針對小文件有專門的合并和優(yōu)化,問題可以迎刃而解。

所以,QingCloud 要做的就是讓計算和數(shù)據(jù)不僅可以在一起,還可以分開。當數(shù)據(jù)量達到 PB 級以上的時候,數(shù)據(jù)存到 IaaS 和 PaaS 之上的分布式存儲里成本也很高,這個時候就需要對象存儲方案,將很久不用的歷史數(shù)據(jù)和海量小文件都存在對象存儲里。當你需要計算的時候,你有兩個選擇,如果不考慮實時性或者性能的話,你就可以直接在對象存儲上面計算。如果需要高性能,可以將數(shù)據(jù)拉在 HDFS 上計算,這樣就會變得很靈活。

那么,計算和存儲的關(guān)系到底是什么呢?我們的理解是,當你想要性能的時候,就讓它們在一起。當需要大批量計算處理的時候,就讓它們分開。以前我們面對的是一個 Hadoop 集群或一個 Spark 集群,數(shù)據(jù)是到處分散的,而將數(shù)據(jù)都放在對象存儲后,可以做到數(shù)據(jù)不動、計算隨便動,計算引擎可以是 Hadoop、Spark、Hive,它們都針對同一份數(shù)據(jù)進行計算。

大數(shù)據(jù)案例分析


QingCloud 在線業(yè)務(wù)大數(shù)據(jù)分析流程圖

QingCloud 會用自己的大數(shù)據(jù)服務(wù)做業(yè)務(wù)、市場、銷售的分析。我們會將一些線上數(shù)據(jù)庫的數(shù)據(jù)進行解析、同步,包括典型的 ETL 處理,數(shù)據(jù)處理完存在 HDFS 里面,之后由 Spark 進行計算,最后把處理結(jié)果存到對于業(yè)務(wù)來說易于使用的產(chǎn)品,如 PostgreSQL、Elasticsearch,通過 API-server 曝露給前端使用。這是一個比較典型的大數(shù)據(jù)分析流程,我們用它來驗證 QingCloud 大數(shù)據(jù)平臺提供的各種服務(wù)。

某大型互聯(lián)網(wǎng)社交平臺

這是一個在 QingCloud 公有云上運行的大型的互聯(lián)網(wǎng)社交平臺,架構(gòu)非常典型,它有一個數(shù)據(jù)的服務(wù)層,下面可以處理 MySQL、緩存、Elasticsearch、MongoDB 等數(shù)據(jù)存儲,下面的數(shù)據(jù)層有 ZooKeeper 和 Kafka,可以將應(yīng)用級系統(tǒng)日志等信息輸入到 Spark 平臺上進行分析,如對于系統(tǒng)推薦的好有,用戶是否添加了好友等。

某創(chuàng)新型綜合金融公司

這是一個 QingCloud 的私有云案例,QingCloud 可以將自己的整個軟件全部部署到用戶自己的環(huán)境當中去,架構(gòu)主要有三大塊:數(shù)據(jù)的抽取、數(shù)據(jù)處理、數(shù)據(jù)服務(wù)。數(shù)據(jù)源涵蓋日志、關(guān)系型數(shù)據(jù),還有一些 ETL 工具、日志處理框架、實時數(shù)據(jù)同步系統(tǒng)。中間有離線計算、實時計算。計算完之后會提供給離線服務(wù),比如 Hive、Spark,進行內(nèi)部的數(shù)據(jù)分析。同時,還有一些在線服務(wù),性能比較高、易用性比較好的服務(wù)。

這些案例的架構(gòu)千奇百怪,但是仔細看其實都差不多,都分成數(shù)據(jù)的來源、收集、傳輸、計算、存儲等架構(gòu),只不過具體用到的每個產(chǎn)品不一樣,這和它的場景是相關(guān)的。對于 QingCloud 來說,無論用戶是傳統(tǒng)企業(yè)還是互聯(lián)網(wǎng)企業(yè),我們都能夠提供一套非常靈活的大數(shù)據(jù)平臺,滿足任何一種應(yīng)用場景的需求。

QingCloud 大數(shù)據(jù)平臺 Rodmap

大數(shù)據(jù)平臺管理架構(gòu)

當大數(shù)據(jù)組件特別多的時候,需要有一個單獨的平臺來管理。 QingCloud 會提供一個界面執(zhí)行一些 Hive、SQL、Spark 的腳本,在這個平臺上你可以看到 Storm 和 ZooKeeper 數(shù)據(jù)的信息,存儲可以直接從瀏覽器、HDFS、對象存儲看到文件的結(jié)構(gòu),可以提交 HBase 實時的查詢,可以看 Kafka 傳輸隊列里現(xiàn)在的數(shù)據(jù)結(jié)構(gòu)是什么樣的 。所以,它相當于一個管理的 UI,你可以管理很多大數(shù)據(jù)的組件。以前用戶需要分散管理這些組件,當系統(tǒng)比較復(fù)雜的時候,易用性就會變得比較差。

大數(shù)據(jù)平臺 + AppCenter 2.0

大數(shù)據(jù)技術(shù)發(fā)展太快了, QingCloud 面臨一個困境:大數(shù)據(jù)產(chǎn)品是無窮無盡的,我們不可能把所有的產(chǎn)品提供出來,但是如果用戶需要,我們怎么辦?

第一,QingCloud 的大數(shù)據(jù)平臺也會通過 QingCloud AppCenter 交付。如Hadoop、Spark、Elasticsearch 等產(chǎn)品都將是 AppCenter 中的一個 APP,當你需要一些非常典型的組合的時候,它也可以作為一個組合的 APP 出現(xiàn)在 AppCenter 上。對于用戶來說,大數(shù)據(jù)產(chǎn)品的易用性會大大增強。 QingCloud AppCenter 不但提供 APP 的開發(fā)框架,它還提供 APP 運營的框架,你可以在 APP 上進行編排,將幾個簡單的 APP 拼裝成一個大的 APP。

第二,大數(shù)據(jù)的場景太多了,如果 QingCloud 提供的沒有你想用的怎么辦?也很簡單,如果你對這個產(chǎn)品非常熟,可以用 QingCloud AppCenter 框架將其做成一個云應(yīng)用,提供給別人使用。這個概念非常接近于蘋果的 Appstore 中的 APP 開發(fā)者, 如果你是一個企業(yè)用戶或者在大數(shù)據(jù)領(lǐng)域中技能很強的個人開發(fā)者,就可以在 QingCloud 之上利用 AppCenter 框架在短期之內(nèi)把你熟悉的大數(shù)據(jù)產(chǎn)品變成一個云服務(wù),放在 QingCloud 的 AppCenter 上提供給所有人使用。

這樣的事情在以前完全是不可想象的,即使做也需要花非常大的成本,QingCloud AppCenter 可以幫你在幾天之內(nèi)將已有的產(chǎn)品變成云服務(wù)。 同時,云服務(wù)的運營管理、生命周期框架都內(nèi)置于 AppCenter 中。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,835評論 6 534
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,676評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,730評論 0 380
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,118評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,873評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,266評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,330評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,482評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,036評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,846評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,025評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,575評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,279評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,684評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,953評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,751評論 3 394
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,016評論 2 375

推薦閱讀更多精彩內(nèi)容