流處理正變得像數據處理同樣流行。流處理已經超出了其原來的實時數據處理的範疇,它正在成爲一種提供數據處理(包括批處理),實時應用乃至分佈式事務的新方法的技術。算法
流處理是不斷合併新數據以計算結果的動做。在流處理中,輸入數據不受限制,而且沒有預約的開始或結束。它只是造成一系列事件,這些事件到達流處理系統,例如信用卡交易,網站點擊或來自物聯網設備的傳感器讀數。數據庫
流是一種數據分發技術,其中數據生產者將數據記錄寫入有序數據流,數據使用者能夠從中按相同順序讀取數據。這是一個簡單的數據流圖,說明了數據生產者,數據流和數據使用者。編程
每一個數據流產品都對使用案例和要支持的處理技術進行了一系列假設。這些假設致使了某些設計選擇,這些選擇影響可使用它們實現的流處理行爲的類型。網絡
來自維基百科;架構
流處理是一種計算機編程範例,等效於數據流編程,事件流處理和反應式編程,它使某些應用程序能夠更輕鬆地利用有限形式的並行處理。
流處理是一項強大的技術,能夠掃描來自傳感器,信用卡刷卡,點擊流和其餘輸入的大量數據,並幾乎即時找到可行的看法。例如,流處理能夠檢測到包含數百萬合法購買的流中的單個欺詐性交易,充當推薦引擎來肯定特定客戶在實際購物時要顯示什麼廣告或促銷,或者計算出最佳價格以用於只需幾秒鐘便可完成汽車服務。框架
術語「流處理」是指數據以某些外部系統或多個外部系統產生的事件的連續「流」形式進入處理引擎,而且處理引擎的運行速度如此之快,以致於全部決策都無需中止數據流和首先存儲信息。編程語言
流處理正在迅速得到普及並在各類業務領域中找到應用程序。隨着證券交易所從場內交易轉向電子交易,它在金融行業的首次使用獲得了證明。現在,在幾乎每一個行業中,不管是經過人工活動,機器數據仍是傳感器數據生成流數據的任何地方,它都變得有意義。假設它起飛了,那麼物聯網將增長數據的數量,種類和速度,從而致使流處理技術的應用程序急劇增長。分佈式
流處理能夠解決業務問題的一些用例包括:oop
大數據架構包含用於實時分析的流處理,以及用於存儲各類數據和長時間運行的計算的Hadoop。性能
Hadoop最初是從MapReduce開始的,後者提供批處理,其中查詢耗時數小時,數分鐘或最多數秒鐘。對於大數據量的複雜轉換和計算,這將是很是有用的。可是,對於臨時數據探索和實時分析而言,它並非很好。可是,多家供應商已經進行了改進,併爲Hadoop添加了功能,使其不只具備批處理框架的功能。
DWH,Hadoop和流處理彼此很好地互補。所以,在大數據時代,集成層顯得尤其重要,由於您必須組合愈來愈多的不一樣接收器和源。
自2016年以來,出現了一個稱爲Streaming SQL的新想法。咱們將一種語言稱爲「流SQL」,該語言使用戶可以編寫相似於查詢的SQL來查詢流數據。如今,幾乎全部流處理器都支持流SQL。
數據流產品有不少,很難知道從哪裏開始研究它們,哪些產品能夠作什麼等等。
在作出決定以前,必須進行典型的評估過程(長清單,短清單,概念證實)。
用於流分析的流處理編程語言
可視化開發和調試,而不是編碼
實時分析
監控和警報
支持容錯和高度優化的性能
產品成熟度
考慮一下項目須要上述哪些功能。此外,在作出選擇以前,必須評估使用框架的成本,生產率,減小的工做量以及產品上市時間。
咱們正處於一個數據的時代。在此過程當中,時間相當重要,而速度將決定贏家和輸家。
當必須快速連續處理數據(即必須實時計算和迅速反應)時,須要進行流處理。這個要求愈來愈多地出如今各個領域。市場上已經有許多不一樣的框架和產品。
許多用例須要快速,實時的決策。儘管可使用數據庫或批處理來實現它們,可是使用這種技術只會愈來愈複雜。相反,流提供了一種更天然的模型來考慮,捕獲和實現這些實時流用例。流SQL提供了一種簡單而強大的語言來對流用例進行編程。
現實狀況是,大多數數據的價值會隨着時間而降低。
更多Flink,Kafka等相關技術博文,科技資訊,歡迎關注實時流式計算 公衆號後臺回覆 「電子書」 下載300頁Flink實戰電子書