主頁 > 資料庫 > 《離線和實時大資料開發實戰》(二)大資料平臺架構 & 技術概覽

《離線和實時大資料開發實戰》(二)大資料平臺架構 & 技術概覽

2020-09-30 02:22:59 資料庫

前言

接著上一章 構建大資料開發知識體系圖譜,本次繼續分享邦中老師的《離線和實時大資料開發實戰》讀書筆記 ,到底什么樣的平臺才能算是大資料平臺呢?帶著這個問題,我們開始今天的內容 ( ?? ω ?? )?

什么是資料平臺呢?或者更時髦點,什么是大資料平臺呢?目前業界并沒有對資料平臺的精確定義,但通常所說的資料平臺主要包含以下三部分:

  • 資料相關的工具、產品和技術:比如批量資料采集傳輸的 Sqoop 、離線資料處理 Hadoop 和 Hive 、實時流處理的 Storm、Spark 以及資料分析的 R 等;
  • 資料資產:不僅包含公司業務本身產生和沉淀的資料,還包括公司運作產生的數(如財務、行政),以及從外界購買、交換或者爬蟲等而來的資料等;
  • 資料管理:有了資料工具,也有了資料資產,但是還必須對它們進行管理才能讓資料產生最大價值并最小化風險,因此資料平臺通常還包括資料管理的相關概念和技術,如資料倉庫、資料建模、資料質量、資料規范、資料安全和元資料管理等,

上面是對資料平臺邏輯范疇上的一個劃分,實際上資料平臺從資料處理的時效性角度,通常還是分為 離線資料平臺實時資料平臺

  1. 離線資料平臺通常以天為典型的資料處理周期,資料延遲也是以天為單位,離線資料平臺的資料應用主要以“看”為主,就目前業界的資料現狀來看,離線資料平臺還是資料平臺的主戰場,

  2. 但是隨著大資料應用的日益深入以及人工智能浪潮的興起,產品的智能化趨勢越來越明顯,資料的實時化、在線化也對資料平臺的實時性提出了越來越高的要求,從剛開始分鐘級別延遲到目前的秒級甚至毫秒級延遲,實時資料平臺越來越得到重視,挑戰也越越大,當然也變得越來越主流,隨著 Spark、Flink、Beam 技術的發展,未來有一天也許將會顛覆離線資料平臺的技術和架構,

接下來就是介紹資料平臺,出于邏輯清晰以及技術相關性考慮,將主要從 離線資料平臺、實時資料平臺以及資料管理 三個方面來對資料平臺相關的概念和技術進行介紹,

一、離線資料平臺的架構、技術和設計

對于公司的管理者、一線業務人員來說,經常需要回答的問題是:當前和過去 個季度或者一個月的銷售趨勢如何?哪些商品熱銷?哪些商品銷售不佳?哪些客戶在買我們的產品?管理者和業務人員需要不停地監控這些業務指標,并有針對性地根據這些指標調整業務策略和打法,如此反復,形成倍訓,這就是資料化運營的基本思路,

而這類分析和“看”的需求正是離線資料平臺所擅長的,這類分析性的需求,資料的時效性并不是強需求,當天的資料有了也好,即使沒有,影響也不大,離線的資料技術和工具已經發展很多年了,開源的解決方案和商業性的解決方案也有很多,已經能夠很成熟地解決此類問題,

離線資料平臺是構建公司和企業資料平臺的根本和基礎,也是目前資料平臺的主戰場,

1.1 離線資料平臺的整體架構

離線資料平臺通常和 Hadoop Hive 、資料倉庫、 ETL 、維度建模、 資料公共層等聯系在一起,

Hadoop 出現之前,資料倉庫的主要處理技術是商業化資料庫,比如微軟的 SQL Server、甲骨文的 Oracle、 IBM DB2 等,隨著大資料的興起以及資料量的持續爆炸和指數級別增長,Hadoop 以及 MapReduce、Hive 等大資料處理技術才得到越來越廣泛的應用和接受,

離線資料平臺的整體架構大圖

1.2 資料倉庫技術

1. OLTP 和 OLAP

資料倉庫是隨著資料分析的需求逐漸發展起來的,最初的資料分析和報表都是基于業務系統的資料庫完成的,也就是 OLTP 資料庫,如商業性的 Oracle 、MS SQL Server 和開源的MySQL 等關系資料庫,

OLTP 的全稱是 Online Transaction Processing ,顧名思義, OLTP 資料庫主要用來進行事務處理,比如新增一個訂單、修改一個訂單、查詢一個訂單和作廢一個訂單等, OLTP據庫最核心的需求是單條記錄的高效快速處理,索引技術、分庫分表等最根本的訴求就是解決此問題,

  • 而這個和資料分析的需求是天然相反的,資料分析通常需要訪問大量的資料,單條資料的分析沒有任何意,資料分析不僅需要訪問大量的資料,還要對其進行頻繁的統計和查詢,很快資料庫管理員發現這些統計分析請求占用了大量資料庫的資源,已經嚴重到影響生產系統的性能,
  • 于是隔離這些資料分析請求到單獨的備庫或者完全復制一個新的資料庫供資料分析人員使用是自然而然的選擇,

解決了對生產庫的影響問題后, OLTP 資料庫管理員很快發現備庫和復制庫還是不能滿足資料分析人員的需求,尤其是在性能方面,大量的資料訪問通常需要全表掃描,頻繁而且通常又是并發地全表掃描會造 OLTP 資料庫回應例外緩慢甚至宕機,必須有新的理論支撐和技術突破才能夠滿足這些分析請求,

于是 OLAP 資料庫應運而生,它是專門的分析型資料庫 ,是為了滿足分析人員的統計分析需求而發展起來的,

  • OLAP 資料庫本身就能夠處理和統計大量的資料,而且不像 OLTP 資料庫需要考慮資料的增刪改查和并發鎖控制等 ,OLAP 資料一般只需要處理資料查詢請求,資料都是批量匯入的,因此通過列存盤、列壓縮和位圖索引等技術可以大大加快回應請求的速度,

OLTP 和 OLAP 資料庫的簡單對比

2. 分析型資料庫

分析型資料庫面對的主要是分析師和業務分析人員對大資料集的統計和聚合操作,其架構、設計和原理和傳統資料庫產品( OLTP 資料庫)截然不同 ,通常來說,資料倉庫產品一定是分布式的,但是其和 OLTP 資料庫的分布式要解決的問題有著明顯的不同, OLTP 資料庫的分布式(如分庫分表等技術)主要是為了解決海量單條資料請求的 壓力,其主要目的是把所有用戶請求均勻分布到每個節點上,而 OLTP 的分布式是將用戶單次對大資料集的請求任務分配到各個節點上獨立計算然后再進行匯總回傳給用戶,

此外, OLAP 資料庫一般采用列式存盤,而 OLTP 通常采用行式存盤,

  • 所謂列式存盤就是將表的每列一列一列地存盤在一起,而不是像行存盤一樣按行把所有欄位存盤在一起,
  • 對于資料庫表來說,列的型別是固定的,所以列存盤可以很容易采用高壓縮比的演算法進行壓縮和解壓縮,磁盤的 I/O 會大大減少 ,
  • 列存盤非常適合大資料量統計查詢的應用場景因為分析統計常常是針對某列或某些列的,列存盤的資料庫產品只需讀出對應列并處理即可,而不是讀出整個表的所有行進行處理,

3. Hadoop 資料倉庫

隨著隨著這些年 Hadoop 的完善和 Hadoop 生態系統的崛起, 短短幾年間 ,基于 Hadoop 資料倉庫已經完全占據了主賽道,尤其是在互聯網公司內,基于 Hadoop 的資料倉庫基本是標配,

Hadoop 的內在技識訓因決定了基于 Hadoop 的資料倉庫方案(目前主要是 Hive 非常容易擴展(可以很容易地增加節點,把資料處理能力從 GB、TB 擴展 PB 甚至 EB ),成本也非常低廉(不用商業昂貴的服務器和存盤,只需要普通的硬體即可, Hadoop 框架會進行容錯處理),這兩點也是 Hadoop 在互聯網公司內日益流行的關鍵因素,

  • 基于 Hadoop 的資料倉庫解決方案,尤其是 Hive ,面臨最大的挑戰是資料查詢延遲(Hive 的延遲一般是在分鐘級,取決于 Hive SQL 的復雜度和要處理的作業量,很多時候甚至需要運行幾個小時 ,當然 ,對于簡單的以及小資料量的 Hive SQL ,也可能幾秒鐘就回傳結果),

但是大資料和云計算是未來,未來的業務系統也都會執行在云端,不管是私有云、公有云或者混合云,云端也決定了未來的架構肯定是分布式的,能夠近似線性擴展的,基于此,作者認為基于 Hadoop 和類 Hadoop 的資料倉庫解決方案未來將會成為主流和標配,不管是對于互聯網公司來說,還是傳統企業來說,

1.3 資料倉庫建模技術

從資料倉庫概念誕生以來,在資料倉庫領域,存在兩種得到廣泛認可的方法來構建資料倉庫,這兩派的代表人物分別是 Bill Inmon 和 Ralph Kimball, Bill Inmon 被稱為“資料倉庫之父”,而 Ralph Kimball 被稱為“商業智能之父”,

從這兩種觀點誕生以來,圍繞“哪種架構最佳”的爭論一致沒有休止,人們各抒己見,但是一直無法形成統的結論,就像“哪種編程語言是最佳的編程語言”一樣,這可以稱為資料倉庫領域的“宗教戰爭” ,

1. Ralph Kimball 建模方法論

Kimball 對資料倉庫的理論貢獻都與維度設計和建模有關,維度建模將客觀世界分為度量和背景關系,

  • 度量是由機構的業務程序以及支持它們的源系統來捕捉的,常以數值形式(如訂單金額、庫存數量等) 出現,維度建模理論稱它為事實;
  • 事實由大量文本形式的背景關系包圍著,而且這些背景關系常被直觀地分割成多個獨立的邏輯塊,維度建模稱之為維,維描述了度量的5個W (When、Where、What、Who、Why )資訊,比如什么時間下單、何種方式下單、買的什么、客戶是誰等,

利用維度建模理論建模的 Kimball 資料倉庫常以星形架構來呈現,在星形架構中間的是事實表,事實表周圍的則是各個角度的維度表,

Kimball 維度建模的星形架構
在維度建模中,由于星形模式緊貼業務程序,非常直觀和符合業務人員的視角,因此被廣泛和大量使用,星形模式也是 Kimball 對資料倉庫建模的一大貢獻,

Kimball 對資料倉庫建模理論的第二大貢獻是基于維度的 “總線體系架構” ,實際專案中,企業的業務程序通常是多樣性和復雜的,存在于多個業務主題,總線體系架構和一致性維度一起保證了多個主題的事實表和維度表能夠最終集成在一起,提供一致和唯
一的口徑給業務人員,

采用 Kimball 建模理論的資料倉庫體系架構如圖所示:

采用 Kimball 建模理論的資料倉庫體系架構
可以看出, Kimball 維度建模的主題以星形架構為主,主題和主題之間則用一致性維度和企業總線體系架構來保證資料倉庫的集成和一致性,

2. Bill Inmon 建模方法論

在資料倉庫領域, Bill Inmon 是第一個提出來 OLAP 和資料倉庫概念的人,所以被稱為資料倉庫之父” ,Bill Inmon 撰寫了大量介紹其資料倉庫方法的文章,他認為資料倉庫是 “在企業管理和決策中面向主題的、集成的、與時間相關的、不可修改的資料集合”,

與其他資料庫應用不同的是,資料倉庫更像一種程序,對分布在企業內部各處的業務資料的整合加工和分析的程序,而不是一種可以購買的產品,這就是他所說的“企業資訊化工廠”,

采用 Bill Inmon 建模理論的企業級資料倉庫體系架構
Inmon 的企業資訊化工廠包括源頭系統、準備區、 ETL 、企業資料倉庫、資料集市等,而企業資料倉庫是企業資訊化工廠的樞紐,不同于 Kimball, Inmon 認為企業資料倉庫應為原子資料的集成倉庫,應該用 第三范式ER 理論而非維度建模的事實表和維度表來建模,

Inmon 的企業資訊化工廠涉及了“資料集市”的概念,所謂“集市”,就是部門級的資料倉庫, 對于資料集市來說, Inmon 主張從企業資料倉庫中提取所需要的資料,從而保證資料的一致性 這樣帶來的問題是必須先有企業資料倉庫才可能開始建立部門級的資料集市,這是 Inmon 資料倉庫架構和 Kimball 資料倉庫架構的第二個主要不同,同時, Inmon 也認為應該用 Kimball 的維度建模理論來構建資料集市,

3. 資料倉庫建模實踐

從上述對兩者資料架構的介紹可以看出, Inmon 的方法是一種由上而下( top-down )的資料倉庫構建方法,其主張首先要對企業資料倉庫進行總體規劃,并將不同的 OLTP 資料集中到面向主題、集成的、不易失的和時間變化的企業資料倉庫中,資料集市應該是資料倉庫的子集,每個資料集市都是為獨立部門專門設計的,

Kimball 方法則相反,其是自下向上的( down-top ), Kimball 認為資料倉庫是一系列資料集市的集合,企業可以通過一致性的維度表和“企業總線架構”來遞增式集成各個資料集市, 從而構建整個企業的資料倉庫,

一句話總結它們的區別:

Kimball : let people build what they want when they want it, we will
integrate them it all when and if we need to.

Inmon: don’t do anything until you have designed everything.

Inmon 的方法部署和開發周期較長,但是容易維護而且高度集成;而 Kimball 的方法可以迅速回應業務需求,快速構建一個資料倉庫,但是后期集成和維護較為麻煩,兩者沒有絕對的對與錯,只有不同階段和不同場景下的利弊權衡,

4. 資料倉庫邏輯架構設計

離線資料倉庫通常基于維度建模理論來構建,但是除此之外,離線資料倉庫通常還會從邏輯上進行分層,資料倉庫的邏輯分層也是業界的最佳實踐,

離線資料倉庫的邏輯分層主要是出于如下考慮:

隔離性:用戶使用的應該是資料團隊精心加工后的資料,而不是來自于業務系統的原始資料,這樣做的好處之一是,用戶使用的是精心準備過的、規范的 、干凈的從業務視角的資料,非常容易理解和使用;好處之二是, 如果上游業務系統發生更甚至重構(比如表結構、欄位 業務含義等),資料團隊會負責處理所有這些變化最小化對下游用戶的影響,

性能和可維護性:專業的人做專業的事,資料分層使得資料的加工基本都在資料團隊,從而相同的業務邏輯不用重復執行,節省了相應的存盤和計算開銷,畢竟大資料也不是沒有代價的,此外,資料的分層也使得資料倉庫的維護變得清晰和便捷,每層只負責各自的任務,某層的資料加工出現問題,只需修復該層即可,

規范性:對于一個公司和組織來說,資料的口徑非常重要,大家談論一個指標的時候,必須基于一個明確的、公認的口徑,此外表、欄位以及指標等也必須進行規范,

資料倉庫一般分為如下幾層:

ODS 層: 資料倉庫源頭系統的資料表通常會原封不動地存盤一份,這稱為 ODS ( Operation Data Store )層, ODS 層也經常會被稱為準備區( staging area ),它們是后續資料倉庫層(即基于 Kimball 維度建模生成的事實表和維度表層,以及基于這些事實表和明細表加工的匯總層資料)加工資料的來源,同時 ODS 層也存盤著歷史的增量數量或者全量資料,

OWD 和 DWS 層: 資料倉庫明細層( Data Warehouse Detail, D WD )和資料倉庫匯總層( Data Warehouse Summary, DWS )是資料平臺的主體內容, DWD 和 DWS 的資料是 ODS 層資料經過 ETL 清洗、轉換、加載生成的,而且它們通常都是基于 Kimball 的維度建模理論來構建的,并通過一致性維度和資料總線來保證各個子主題的維度一致性,

ADS 層: 應用層主要是各個業務方或者部門基于 DWD 和 DWS 建立的資料
集市( Data Mart ,以下簡稱 DM ),資料集市 DM 是相對于 DWD / DWS 的資料倉庫( Data Warehouse ,以下簡稱 DW )來說的, 一般來說,應用層的資料來源于 DW層,但原則上不允許直接訪問 ODS 層的,此外,相比 DW 層,應用層只包含部門或者業務方自己關心的明細層和匯總層資料,

采用上述 ODS 層→ DW 層→應用層的資料倉庫邏輯分層架構如圖所示:

資料倉庫邏輯分層架構

二、實時資料平臺的架構、技術和設計

離線資料平臺產出資料的周期一般是天,也就是說,今天看到的是昨天的資料,對于大部分的分析和“看”資料的場景來說,這種 T+1 的離線資料可以滿足業務分析的需求,但是隨著業務運營日漸精細化,對資料的時效性要求越來越高,越來越多的業務場景需要馬上看到業務效果,尤其是在業務促銷活動等(典型的如雙 11 大促、 618 大促等)場景下,

更重要的是,隨著人工智能浪潮的興起,實時的資料已經不是最好,而是必須,資料也不僅僅在分析和“看”,而是和演算法一起成為生產業務系統的一部分,

2.1 實時資料平臺的整體架構

實時資料平臺的支撐技術主要包含四個方面:實時資料采集(如 Flume ),訊息中間(如 Kafka )、流計算框架(如 Strom 、Spark、 Flink、 Beam 等),以及實時資料存盤(如列族存盤的 HBase), 目前主流的實時資料平臺也都是基于這四個方面相關的技術搭建的,

實時資料平臺的整體架構大圖
實時資料平臺首先要保證資料來源的實時性,資料來源通常可以分為兩類:資料庫和日志檔案,對于前者,業界的最佳實踐并不是直接訪問資料庫抽取資料,而是會直接采集資料庫變更日志,

對于 MySQL 來說就是 binlog ,它是 MySQL 的資料庫變更日志,包括資料變化前和變化的狀態,

資料采集工具(如 Flume )采集的 binlog 事件,其產生速度和頻率通常取決于源頭系統,它和下游的實時資料處理工具(比如 Storm、Spark、Flink 等流計算框架和平臺)處理資料的速度通常是不匹配的,另外,實時資料處理通常還會有從某歷史時間點重啟以及個實時任務都要使用同一源頭資料的需求,因此通常還會引人訊息中間件來作為緩沖,從而達到實時資料采集和處理的適配,

實時資料存盤根據下游資料使用的不同方式通常放在不同的資料存盤內,對于資料在服務(即資料使用方傳入某個業務 ID ,然后獲取到所有此 ID 的相關欄位),通常放在 HBase ;對于實時資料大屏,通常放在某種關系資料庫(如 MySQL )內,有時為了提高能并減輕對底層資料庫的壓力,還會使用快取資料庫(如 Redis )等,

2.2 流計算技術

流計算的開始流行和被大家所接受始于 2011 年左右誕生的 Storm ,Stοrm 作為“實時的Hadoop ”迅速被大家所知并接受,

那么,什么是流計算呢?它和離線批量處理又有哪些區別呢?不同于離線批處理(如 Hadoop Map Reduce ),流計算有著下面典型的特征:

無邊界:流計算的資料源頭是源源不斷的,就像河水一樣不停地流過來,相應地,流計算任務也需要始終運行,

觸發:不同于 Hadoop 離線任務是定時調度觸發,流計算任務的每次計算是由源頭資料觸發的 ,觸發是流計算一個非常重要的概念,在某些業務場景下,觸發訊息的邏輯比較復雜,對流計算挑戰很大,

延遲:很顯然,流計算必須能夠高效地、迅速地處理資料, 不同于離線 Hadoop 任務至少以分鐘甚至小時計的處理延遲,流計算的延遲通常在秒甚至毫秒級,分鐘級別的延遲只在有些特殊情況下才被接受,

歷史資料:Hadoop 離線任務如果發現歷史某天的資料有問題,通常很容易修復問題而且重運行任務,但是對于流計算任務來說基本不可能或者代價非常大,因為首先實時流訊息通常不會保存很久(一般幾天), 而且保存歷史的完全現場基本不可能,所以實時流計算一般只能從問題發現的時刻修復資料,歷史資料是無法通過流式方式來補的,

從根源上講,流計算的實作機制目前有兩種處理方式:一種是模仿離線的批處理方式,也就是采用微批處理(即 mini batch),微批處理帶來了吞吐量的提升,但是相應的資料延遲也會增大,基本在秒級和分鐘級,典型的技術是 Spark Streaming ,另一種是原生的訊息資料,即處理單位是單條資料,早期原生的流計算技術延遲低(一般在幾十毫秒),但是資料吞吐量有限,典型的是原生的 Storm 框架,但是隨著 Flink 等技術的產生和發展, 吞吐量也不再是問題,

2.3 主要流計算開源框架

主流流計算技術對比

三、資料管理

對于一個公司和組織來說,僅有資料的技術是不夠的,還必須對資料進行管理,資料管理的范疇很廣,但是具體主要包含資料探查、資料集成、資料質量、元資料管理和資料屏蔽等資料管理技術 ,

3.1 資料探查

資料探查,顧名思義,就是對資料的內容本身和關聯關系等進行分析,包括但不限于需要的資料是否有、都有哪些欄位、欄位含義是否規范明確以及欄位的分布和質量如何等,資料探查常用的分析技術手段包括主外鍵、欄位型別、欄位長度、 null 值占比、列舉值分布、最小值、最大值、平均值等,

資料探查分為戰略性的和戰術性的,

  • 戰略性的資料探查是指在使用資料之前首先對資料源進行輕量級的資料分析,確定其是否可用,資料穩定性如何,以決定是否可以納入資料平臺使用,戰略性的資料探查是構建資料平臺前首先要進行的任務,不合格的資料源頭必須盡快剔除,如果到了后期才發現資料源頭不合格,將會對資料平臺的構建造成重大影響,
  • 戰術性的資料探查則指用技術手段對資料進行詳盡的分析,發現盡可能多的資料質量問題并反饋給業務人員或者通知源頭系統進行改進,

3.2 資料集成

資料倉庫的資料集成也叫 ETL (抽取: extract 、轉換: transform 、加載: load ),是資料平臺構建的核心,也是資料平臺構建程序中花費時間最多、花費精力最多的階段 ,

ETL 泛指將資料從資料源頭抽取、經過清洗、轉換、關聯等轉換,并最終按照預先設計的資料模型將資料加載到資料倉庫的程序,

對資料平臺使用者和業務人員來說,他們通常并不知道也不關心所使用的資料(如訂單) 源頭有幾個,都在哪些資料庫里、欄位定義是否一致(如訂單系統 1 代表下單成功,0 代表下單失敗,而系統2用 sucess 代表下單成功、用 fail 代表下單失敗)、相關的資料表有哪些(如訂單顧客的畫像資訊、商品的類目),資料使用者希望最終看到的是一個匯規的、規范,包含所有相關訂單資訊的寬表,這個寬表包含了所有能夠使用的訂單資訊,而這些所有后臺的抽取、清洗、轉換和關聯以及最終的匯總、關聯等復雜程序都由 ETL 來完成,這也是資料倉庫能夠給資料使用者帶來的重要價值之一,

3.3 資料質量

資料質量主要從以下四個方面來衡量:

完整性:完整性是指資料資訊是否存在缺失的狀況,資料缺失的情況可能是整個資料記錄缺失,也可能是資料中某個欄位資訊的記錄缺失,不完整的資料所能借鑒的價值就會大大降低,也是資料質量最為基礎的一項評估標準,

一致性::一致性是指資料是否遵循了統 的規范,資料集合是否保持了統一的格式,資料質量的一致性主要體現在資料記錄的規范和資料是否符合邏輯,比如IP 地址一定是由4個 0 ~ 255 的數字加上“.”組成的,

準確性:準確性是指資料記錄的資訊是否存在例外或錯誤,是否符合業務預期,

及時性:及時性是指資料的產出時間是否及時 準時,符合預期,

3.4 資料屏蔽

資料倉庫存盤了企業的所有資料,其中有些資料是非常敏感的,比如用戶的信用卡資訊、身份證資訊等 ,這些資訊如果泄露,將會給企業或者公司帶來災難性的后果;但是這些資訊如果完全排除,又會對開發測驗和分析統計等帶來影響,

資料屏蔽( data masking )就是關于對資料如何進行不可逆的處理,使得處理后的資料既能被開發測驗和分析統計使用,又不會泄露任何資訊的程序,常用的辦法如:加密、替換、洗掉/加擾 等,

四、小結

今天主要介紹了資料平臺的內容范疇,我們分別從離線和實時兩方面學習資料平臺的架構、主要概念和技術,

離線資料平臺是目前資料平臺的主戰場,相關的概念技術(如資料倉庫、維度建模、邏輯分層、 Hadoop 和 Hive 等)都比較成熟并已廣泛應用于各個公司,

實時資料平臺隨著資料時效性和人工智能的興起,越來越得到重視并被放在戰略地位,實時資料平臺的有關技術也在不停地發展和完善,如 Storm 、Flink 和 Beam 等,我們需要對這些反面保持一定的關注并積極擁抱這些技術,

生命不是要超越別人,而是要超越自己,

我是云祁,我們下期再見,

在這里插入圖片描述

云 祁 CSDN認證博客專家 Flink Spark 資料中臺
我是「云祁」,一枚熱愛技術、會寫詩的大資料開發猿,專注資料中臺和 Flink / Spark / Hive 等大資料技術,歡迎一起交流學習,生命不是要超越別人,而是要超越自己!加油 (? ?_?)?

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/140613.html

標籤:其他

上一篇:匹配標簽開發:性別標簽

下一篇:mysql 空值(null)和空字符('')的區別

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more