1. 程式人生 > >Kafka在大資料生態系統中的價值

Kafka在大資料生態系統中的價值

作者: Jun Rao(為ODBMS撰寫文章的轉載)
譯者: Brian Ling,專注於三高(高效能、高穩定性、高可用性)的碼農。
投稿人:董飛,本科畢業於南開大學,碩士畢業於杜克大學計算機系畢業。在攻讀碩士期間,先後在VLDB,SOCC等頂尖資料庫大會發表論文。先後在創業公司酷迅,百度基礎架構組,Amazon 雲端計算部門,Linkedin擔任高階工程師,負責過垂直搜尋引擎,百度雲端計算平臺研發,廣告系統和線上教育平臺的架構。在大資料領域業界研究多年,涉及Hadoop調優,分散式框架,Data Pipeline, 實時系統。
責編:錢曙光,關注架構和演算法領域,尋求報道或者投稿請發郵件

[email protected],另有「CSDN 高階架構師群」,內有諸多知名網際網路公司的大牛架構師,歡迎架構師加微信qshuguang2008申請入群,備註姓名+公司+職位。

近幾年,Apache Kafka的應用有了顯著的增長。Kafka最新的客戶包括Uber, Twitter, Netflix, LinkedIn, Yahoo, Cisco, Goldman Sachs 等。Kafka是個高可擴充套件的生產消費者系統。利用Kafka系統,使用者可以釋出大量的訊息, 同時也能實時訂閱消費訊息。本文旨在說明Kafka如何在大資料生態系統中扮演越來越重要的角色。

以不變應萬變模式的短板

長期以來,資料庫成為人們存放和處理感興趣資料的首選。資料庫廠商不斷髮布新功能 (例如 搜尋,流式處理和分析),以確保在資料庫內能完成更多有意思的工作。然而,基於以下2點原因,資料庫模式不再是理想的方案。

原因一:當人們試圖採集其他型別的資料集(例如使用者行為跟蹤記錄,運營效能指標,應用日誌等), 資料庫變的越來越昂貴。相比於交易資料,這些資料集同等重要,因為利用它們能更深入地理解業務,然而它們的資料量會大到2-3倍的規模。由於傳統資料庫通常依賴於昂貴又高階的儲存系統(例如SAN), 因而資料庫儲存所有資料集的開銷變的極其昂貴。

其次,隨著越來越多的功能堆砌,資料庫變的過於複雜,在維護之前遺留版本的同時,很難增加新的功能。資料庫廠商跨多年的釋出變的越來越普遍。

專用分散式系統的湧現

在近10年, 為了克服這些短板,人們開始構建專用系統。這些系統生而為了單一的目標,但能夠非常好地完成。因為他們的簡單性,在商業硬體上構建類似的分散式系統逐漸可行。因而,相比 以SAN為儲存基礎的資料庫,這些專用系統性價比更高。通常,類似系統是構建在開源專案上,進而降低了所有權的成本。而且,由於這些專用系統只關注單一目標,相比於大而全的系統,他們可以發展和改進得更快。Hadoop引領了這個風潮。它專注於離線資料處理,通過提供分散式檔案系統(HDFS)和計算引擎(MapReduce)來批量儲存和處理資料。相比於資料庫儲存,利用HDFS,企業能夠支援低廉地採集儲存更多有價值的資料集。利用MapReduce,大家能以低廉的代價來針對新資料集 提供報告和分析。在其他很多領域,類似的模式在不斷上演。

  1. 鍵/值對儲存:Cassandra,MongoDB,HBase等
  2. 搜尋:ElasticSearch, Solr 等
  3. 流式處理:Storm, Spark Streaming,Samza等
  4. 圖:GraphLab,FlockDB 等
  5. 時序資料庫:OpenTSDB等

類似專用系統能幫助公司提供更深入地見解, 構建前所未有的新應用。

專用系統資料匯入

當這些專用系統變革IT技術棧,它也會引發新挑戰:如何匯入資料到這些系統中。首先,要注意的是從交易型資料到使用者跟蹤資料,運營指標,服務日誌等,會有很多有趣的資料型別。通常,同一份資料集需要被注入到多個專用系統內。例如,當應用日誌用於離線日誌分析,它和搜尋單個日誌記錄的作用同等重要。這使得構建各自獨立的工作流來採集每種型別的資料,直接匯入到每個相關的專用系統中 變的不切實際。

其次,當Hadoop常常儲存所有型別資料的副本,這導致匯入資料到所有其他Hadoop以外的系統 無法實行 因為大部分系統要求資料實時匯入 這是Hadoop所無法保證的。這也是為什麼Kafka能出現並參與大資料生態系統。Kafka有以下不錯的特性:

  • 為了能在商業硬體上,儲存高容量的資料而設計的分散式系統。
  • 設計成能支援多訂閱的系統,同份釋出的資料集能被消費多次。
  • 天生儲存資料到磁碟,在沒有效能損耗的條件下,能同時傳送訊息到實時和批處理消費者。
  • 內建的資料冗餘,因而可以保障高可用性,以用於關鍵任務的資料釋出消費。

大部分被提及的公司在最初階段總是整合多個專用系統。他們利用Kafka作為資料中轉樞紐來實時消費所有型別的資料。同份Kafka資料可以被匯入到不同專用系統中。如下圖所示,我們參考這樣的構架作為流式資料平臺。由於新系統能通過訂閱Kafka,輕易地獲取它想要的資料,我們可以輕鬆地引入額外的專用系統,進入到這系統構架中。

圖片描述

未來展望

業界趨勢是多個專用系統能在大資料生態圈內共存。當更多的公司開始推進實時處理時,由分散式生產/消費系統(例如:Kafka)驅動的流式資料平臺 在這生態系統中扮演愈加重要的角色。由此產生的一個影響是人們開始重新思考資料策管流程。目前,很多資料策管例如模式化資料和資料模式的演化將被延遲到 資料載入到Hadoop系統內的階段。由於統一資料管理的流程會在其他專用系統重複執行,這對於流式資料平臺並不理想。更好的方案是當資料消化處理,進入Kafka時,早期就開始設計資料策管。這也是我們Confluent目前做的部分工作,更多細節可以參考我們的網站。

相關推薦

Kafka資料生態系統價值

作者: Jun Rao(為ODBMS撰寫文章的轉載) 譯者: Brian Ling,專注於三高(高效能、高穩定性、高可用性)的碼農。 投稿人:董飛,本科畢業於南開大學,碩士畢業於杜克大學計算機系畢業。在攻讀碩士期間,先後在VLDB,SOCC等頂尖資料庫大會

資料生態系統基礎:Apache Kafka基礎(一):介紹和安裝

http://blog.csdn.net/zhy_yz/article/details/5905637 一、 Apache kafka基礎介紹           1、kafka 是什麼?              首先一句話: Apache Kaf

資料生態壓縮的使用

1.前言 在時下大資料場景中,雖然現在的機器的效能好,節點多,但是不代表,我們的資料就不需要做任何的壓縮就開始處理,所以我們還是會對資料做壓縮處理的,本文會詳細的介紹大資料中常見的壓縮格式,以及常見壓縮的對比,和使用場景; 2.常用壓縮格式介紹及對比 2.1 常見壓縮介紹

資料入門基礎系列之初步認識資料生態系統圈(博主推薦)

  不多說,直接上乾貨!   之前在微信公眾平臺裡寫過 大資料入門基礎系列之初步認識hadoop生態系統圈 http://mp.weixin.qq.com/s/KE09U5AbFnEdwht44FGrOA 大資料入門基礎系列之初步認識大資料生態系統圈 1.概述

資料生態系統基礎: HBASE(一):HBASE 介紹及安裝、配置

一、介紹        Apache HBase是Hadoop資料庫,一個分散式的、可伸縮的大型資料儲存。        當您需要隨機的、實時的讀/寫訪問您的大資料時,請使用Apache HBase。這個專案的目標是承載非常大的表——數十億行X百萬列的列——執行在在商用硬體

【甲方自白】資料在企業的應用價值

轉載本文需註明出處:微信公眾號EAWorld,違者必究。 前言: 資訊科技的飛速發展,給人們的生活帶來了越來越多改變。人們也

比較Apache Hadoop生態系統不同的文件格式和存儲引擎的性能

報告 indent 然而 microsoft 要花 ont 目錄 總結 千兆 這篇文章提出了在Apache Hadoop生態系統中對比一些當前流行的數據格式和可用的存儲引擎的性能:Apache Avro,Apache Parquet,Apache HBase和Apache

Atittit HDFS hadoop 資料檔案系統java使用總結 目錄 1. 作業系統,進行操作 1 2. Hdfs 類似nfs ftp遠端分散式檔案服務 2 3. 啟動hdfs服務start

Atittit HDFS hadoop 大資料檔案系統java使用總結   目錄 1. 作業系統,進行操作 1 2. Hdfs 類似nfs ftp遠端分散式檔案服務 2 3. 啟動hdfs服務start-dfs.cmd 2 3.1. 配置core-site

以太坊生態系統工具、類庫和開發技術

如果你是以太坊區塊鏈的新手,那麼你可能會不知所措(至少我是),並試圖瞭解以太坊生態系統中的所有工具和技術。因此,我決定在開始學習以太坊時簡要描述下你經常遇到的各種元件。希望這將有助於你全面瞭解以太坊生態系統以及所有部分如何組合在一起。 1.以太坊 以太坊是一個智慧合約區塊鏈,你可以在

啟動Zookeeper + Hadoop + Hbase + Kafka資料服務

        Hadoop是非常流行的大資料框架,Zookeeper提供了高效的協調服務,Hbase高度依賴zk,是基於HDFS系統,具有可伸縮性,非常適合儲存複雜的資料結構,這三者作為一個系統整體,Kafka是作為快取佇列彌補Hbase寫入效能較差的不足,

資料推薦系統架構

推薦系統介紹 當下,個性化推薦成了網際網路產品的標配。但是,人們對推薦該如何來做,也就是推薦技術本身,還不甚瞭解。為此,好學的你肯定在收藏著朋友圈裡流傳的相關文章,轉發著微博上的相關討論話題,甚至還會不斷奔走在各種大小行業會議之間,聽著大廠職工們講那些乾貨。我知道,這樣碎片化的吸收,增加了知識的

資料入門環境搭建整理、資料入門系列教程合集、資料生態圈技術整理彙總、資料常見錯誤合集、資料的離線和實時資料處理流程分析

本篇文章主要整理了筆者學習大資料時整理的一些文章,文章是從環境搭建到整個大資料生態圈的常用技術整理,環境希望可以幫助到剛學習大資料到童鞋,大家在學習過程中有問題可以隨時評論回覆! 大資料生態圈涉及技術: Hadoop、MapReduce、HDFS、Hive、Hbase、Spark、Scala

資料推薦系統演算法程式碼全接觸(機器學習演算法+Spark實現)

大資料推薦系統演算法程式碼全接觸(機器學習演算法+Spark實現)課程出自學途無憂網 課程分享地址:https://pan.baidu.com/s/1piCNIxC2Sv0zMY0yWxY9Ug  提取碼:b10v     一、課程簡介: 推薦系統是利用電子商務網站向

零基礎入門資料之sparkrdd部分運算元詳解

先前文章介紹過一些spark相關知識,本文繼續補充一些細節。 我們知道,spark中一個重要的資料結構是rdd,這是一種並行集合的資料格式,大多數操作都是圍繞著rdd來的,rdd裡面擁有眾多的方法可以呼叫從而實現各種各樣的功能,那麼通常情況下我們讀入的資料來源並非rdd格式的,如何轉

零基礎入門資料之spark的幾種key-value操作

今天記錄一下spark裡面的一些key-value對的相關運算元。 key-value對可以簡單理解為是一種認為構造的資料結構方式,比如一個字串"hello",單看"hello"的話,它是一個字串型別,現在假設我想把它在一個文字中出現的次數n作為一個值和"hello"一起操作,那麼可

在cm安裝的資料管理平臺整合impala之後讀取hive表資料的設定(hue當中執行impala的資料查詢)

今天裝了CM叢集,在叢集當中集成了impala,hive。然後一直覺得認為impala自動共享hive的元資料,最後發現好像並不是這樣的,需要經過一個同步元資料的操作才能實現資料的同步。 具體的做法如下: (1)安裝好hive和impala,然後在hive當中建立目標資料庫,建立一張表  

資料linux系統部分命令解析(2)0912

1.檢視ip ifconfig 解釋: ifconfig 常用命令關閉網絡卡,檢視ip。請看幫助! NAME ifconfig - configure a network interface SYNOPSIS ifconf

資料學習系統發展的技術路線

自從大資料出來後,資料管理界發生了巨大的變化,技術驅動成為大資料管理系統的一個主要變革力量。   傳統的資料庫管理系統以結構化資料為主,因此關係資料庫系統(RDBMS)可以一統天下滿足各類應用需求。然而,大資料往往是半結構化和非結構化資料為主,結構化資料為輔,而且各種大資料應用通常需

資料最核心的價值

有這樣一段話:社交網路,讓我們越來越多地從資料中觀察到人類社會的複雜行為模式。社交網路,為大資料提供了資訊彙集、分析的第一手資料。從龐雜的資料背後挖掘、分析使用者的行為習慣和喜好,找出更符合使用者“口味”的產品和服務,並結合使用者需求有針對性地調整和優化自身,就是大資料的價值

資料商業化應用的價值和應用場景是什麼?

     從本質上講,大資料對於商業營銷的價值是為了組織更好的產品或服務的流通,以最快的速度、最高效的方式解決大多數人的需求,並實現穩定的收益。   其實,大資料其實已經在為商業的發展提供實際的應用,總結了大資料商業化應用的5個價值點和應用場景,供大家參考學習。