主頁 > 資料庫 > 馬蜂窩資料倉庫的架構、模型與應用實踐

馬蜂窩資料倉庫的架構、模型與應用實踐

2020-09-15 16:51:57 資料庫

(馬蜂窩技術原創內容,公眾號ID:mfwtech)

一、馬蜂窩資料倉庫與資料中臺

最近幾年,資料中臺概念的熱度一直不減,2018 年起,馬蜂窩也開始了自己的資料中臺探索之路,

資料中臺到底是什么?要不要建?和資料倉庫有什么本質的區別?相信很多企業都在關注這些問題,

我認為資料中臺的概念非常接近傳統資料倉庫+大資料平臺的結合體,它是在企業的資料建設經歷了資料中心、資料倉庫等積累之后,借助平臺化的思路,將資料更好地進行整合與統一,以組件化的方式實作靈活的資料加工與應用,以更清晰的資料職能組織應對業務的快速變化,以服務的方式更好地釋放資料價值的一種方式,

所以,資料中臺更多的是體現一種管理思路和架構組織上的變革,在這樣的思想下,我們結合自身業務特點建設了馬蜂窩的資料中臺,核心架構如下:

 

在中臺建設之前,馬蜂窩已經建立了自己的大資料平臺,并積累了一些通用、組件化的工具,這些可以支撐資料中臺的快速搭建,作為中臺的另一大核心部分,馬蜂窩資料倉庫主要承擔資料統一化建設的作業,包括統一資料模型,統一指標體系等,下面介紹馬蜂窩在資料倉庫建設方面的具體實踐,

 

二、資料倉庫核心架構

馬蜂窩資料倉庫遵循標準的三層架構,對資料分層的定位主要采取維度模型設計,不會對資料進行抽象打散處理,更多注重業務程序資料整合,現有數倉主要以離線為主,整體架構如下:

 

如圖所示,共分為 3 層:業務資料層、公共資料層與應用資料層,每層定位、目標以及建設原則各不相同,

(1)業務資料層:包含 STG(資料緩沖層)與 ODS(操作資料層)兩層,這兩層資料結構與業務資料幾乎一致,

  • STG:也叫資料準備區,定位是快取來自 DB 抽取、訊息、日志決議落地的臨時資料,結構與業務系統保持一致;負責對垃圾資料、不規范資料進行清洗轉換;該層只為 ODS 層服務;

  • ODS:操作資料層定位于業務明細資料保留區,負責保留資料接入時點后歷史變更資料,資料原則上全量保留,模型設計依據業務表資料變更特性采取拉鏈、流水表兩種形式,

(2)公共資料層:細分為 DWD(明細資料層)、DWS(匯總資料層)、DIM(公共維度層) 三層,主要用于加工存放整合后的明細業務程序資料,以及經過輕度或重度匯總粒度公共維度指標資料,公共資料層作為倉庫核心層,定位于業務視角,提煉出對資料倉庫具有共性的資料訪問、統計需求,從而構建面向支持應用、提供共享資料訪問服務的公共資料,

  • DWD:這一層是整合后的業務程序明細資料,負責各業務場景垂直與水平資料整合、常用公共維度冗余加工,以及明細業務標簽資訊加工;

  • DWS:匯總資料層按照主題對共性維度指標資料進行輕度、高度聚合;

  • DIM:對維度進行統一標準化定義,實作維度資訊共享,

(3)應用資料層:DWA 層,主要用于各產品或各業務條線個性化的資料加工,例如商業化產品資料、搜索推薦,風控等,

 

三、資料模型設計

3.1 方法選擇

資料模型是對現實世界資料特征的抽象,資料模型的設計方法就是對資料進行歸納和概括的方法,目前業界主要的模型設計方法論有兩種,一是資料倉庫之父 Bill Inmon 提出的范式建模方法,又叫 ER 建模,主張站在企業角度自上而下進行資料模型構建;二是 Ralph Kimball 大師倡導的維度建模方法,主張從業務需求出發自下而上構建資料模型,

大資料環境下,業務系統資料體系龐雜,資料結構多樣、變更頻繁,并且需要快速回應各種復雜的業務需求,以上兩種傳統的理論都已無法滿足互聯網數倉需求,在此背景下,馬蜂窩資料倉庫采取了「以需求驅動為主、資料驅動為輔」的混合模型設計方式,來根據不同的資料層次選擇模型,主要從以下四個方面綜合考慮:

1. 面向主題:采用范式模型理論中的主題劃分方法對業務資料進行分類,

2. 一致性保證:采用維度模型理論中的總線結構思想,建立統一的一致性維度表和一致性事實表來保證一致性,

3. 資料質量保證:無論范式建模還是維度建模都非常重視資料質量問題,綜合使用兩個理論中的方法保證資料質量,

4. 效率保證:合理采取維度退化、變化維、增加冗余等方法,保證資料的計算和查詢效率,

 

其中,ODS 選擇保持貼源的范式模型,不做進一步模型抽象,只是從節省存盤角度考慮,對該層采取拉鏈處理,DWD 與 DWS 基于對構建成本、性能,易用性角度的考慮,主要采取維度模型和一些寬表模型,寬表模型的本質是基于維度模型的擴展,對整個業務以及全節點資訊進行垂直與水平方式整合;同時采用退化維度的方式,將不同維度的度量放入資料表的不同列中,實作業務全流程視圖的構建,來提升寬表模型的易用性、查詢效率,且易于模型的擴展,

  • 水平整合:水平整合就是將同一業務多資料源的資料整合到一個模型中,如果多資料源業務資料存在交集,則需要按照預設的業務規則選取一份保留,避免整合后的業務資料交叉,例如商品資料如果未進行主資料管理,不同業務線的商品資訊就會散落在各業務系統表中,無法滿足企業級的資料分析需求,這時就需要將這些商品資料按照業務主題進行水平整合,

  • 垂直整合:一次完整的業務流轉通常要經歷多個環節,各節點資訊產生的時點不同、儲存的資料表不同,垂直整合就是將同一業務中各關鍵節點資訊整合至業務全流程寬表模型中,馬蜂窩訂單交易模型的構建就采用了這種方式,下文將進行詳細介紹,

3.2 設計目標

馬蜂窩資料倉庫在模型設計上以準確性、易用性、及時性為設計目標,以滿足業務人員對資料的多樣需求,

  • 準確性:資料質量管控要在建模程序中落地,為資料準確性保駕護航,

  • 易用性:兼顧模型的可擴展性和可理解性,

  • 及時性:充分考慮模型的使用效率,提供方便快捷的資料查詢和資料計算服務,

3.3 設計流程

馬蜂窩數倉模型設計的整體流程涉及需求調研、模型設計、開發測驗、模型上線四個主要環節,且規范設計了每個階段的輸出與輸入檔案,

 

  1. 需求調研:收集和理解業務方需求,就特定需求的口徑達成統一,在對需求中涉及到的業務系統或系統模塊所承擔的功能進行梳理后進行表字段級分析,并對資料進行驗證,確保現有資料能夠支持業務需求,

  2. 模型設計:根據需求和業務調研結果對模型進行初步歸類,選擇合適的主題域進行模型存放;確定主題后進入資料模型的設計階段,邏輯模型設計程序要考慮總線結構構建、模型規范定義等關鍵問題;物理模型設計以邏輯模型為基礎,兼顧存盤性能等因素對邏輯模型做的物理化的程序,是邏輯模型的最終物理實作.物理模型在一般情況下與邏輯模型保持一致,模型設計完成后需要進入評審與 Mapping 設計,

  3. 模型開發:就是對模型計算腳本的代碼實作程序,其中包含了資料映射、腳本實作、測驗驗證等開發程序,單元測驗完成后需要通知業務方一起對模型資料進行業務驗證,對驗證問題做收集,回傳驗證模型設計的合理性,

  4. 模型上線:完成驗證后的模型就可以在線上生產環境進行部署,上線后需要為模型配置監控,及時掌握為業務提供資料服務的狀況,我們還將模型的物體和屬性說明檔案發布給倉庫資料的使用者,使模型得到更好地應用,

3.4 主題分類

基于對目前各個部門和業務系統的梳理,馬蜂窩資料倉庫共設計了 4 個大資料域(交易、流量、內容、參與人),細分為 11 個主題:

 

以馬蜂窩訂單交易模型的建設為例,基于業務生產總線的設計是常見的模式,即首先調研訂單交易的完整程序,定位程序中的關鍵節點,確認各節點上發生的核心事實資訊,模型是資料的載體,我們要做的就是通過模型(或者說模型體系)歸納生產總線中各個節點發生的事實資訊,

訂單生產總線:

 

如上圖所示,我們需要提煉各節點的核心資訊,為了避免遺漏關鍵資訊,一般情況下抽象認為節點的參與人、發生時間、發生事件、發生協議屬于節點的核心資訊,需要重點獲取,以下單節點為例,參與人包括下單用戶、服務商家、平臺運營人員等;發生時間包括用戶的下單時間、商家的確認時間等;發生的事件即用戶購買了商品,需要記錄圍繞這一事件產生的相關資訊;發生協議即產生的訂單,訂單金額、約定內容等都是我們需要記錄的協議資訊,

在這樣的思路下,總線架構可以在模型中不斷添加各個節點的核心資訊,使模型支撐的應用范圍逐步擴展、趨于完善,因此,對業務流程的理解程度將直接影響產出模型的質量,

涉及的業務節點越多,業務流程也就越復雜,從資料的角度看,這些業務程序會產生兩種基本的場景形態,即資料的拆分和匯聚,隨著流程的推進,前一節點的原子業務單位在新節點中可能需要拆分出更多資訊,或者參與到新節點的多向流程,同樣,也可能發生資料的匯聚,以某個訂單為例,下單節點資料是訂單粒度的,而到支付節點就發生了資料拆分,資料的拆分、匯聚伴隨著總線的各節點,可能會一直發散下去,

 

鑒于上述情況,在模型實作程序中,我們不能把各節點不同粒度的資料資訊都堆砌在一起,那樣會產生大量的冗余資訊,也會使模型本身的定位不清晰,影響使用,因此,需要輸出不同粒度的模型來滿足各類應用需求,例如既會存在訂單粒度的資料模型,也會存在分析各個訂單在不同時間節點狀態資訊的資料模型,

 

 

基于維度建模的思路,在模型整合生產總線各節點核心資訊之后,會根據這些節點資訊進一步擴展常用的分析維度,以減少應用層面頻繁關聯相關分析維度帶來的資源消耗,模型會反范式冗余相關維度資訊,以獲取應用層的使用便捷,最終建立一個整合旅游、交通、酒店等各業務線與各業務節點資訊的馬蜂窩全流程訂單模型,

 

四、資料倉庫工具鏈建設

為提升資料生產力,馬蜂窩資料倉庫建立了一套工具鏈,來實作采集、研發、管理流程的自動化,現階段比較重要的有以下三大工具:

1. 資料同步工具

同步工具主要解決兩個問題:

  • 從源系統同步資料到資料倉庫 

  • 將資料倉庫的資料同步至其他環境

下面重點介紹從源系統同步資料到資料倉庫,

馬蜂窩的資料同步設計支撐靈活的資料接入方式,可以選擇抽取方式以及加工方式,抽取方式主要包括增量抽取或者全量抽取,加工方式面向資料的存盤方式,是需要對資料進行拉鏈式保存,或者以流水日志的方式進行存盤,

接入時,只需要填寫資料表資訊配置以及具體的欄位配置資訊,資料就可以自動接入到資料倉庫,形成數倉的 ODS 層資料模型,如下:

2. 任務調度平臺

我們使用 Airflow 配合自研的任務調度系統,不僅能支持常規的任務調度,還可以支持任務調度系統各類資料重跑,歷史補數等需求,

別小看資料重跑、歷史補數,這兩項功能是在選擇調度工具中重要的參考項,做資料的人都清楚,在實際資料處理程序中會面臨諸多的資料口徑變化、資料例外等,需要進行資料重跑、重繪、補數等操作,

我們設計的「一鍵重跑」功能,可以將相關任務依賴的后置任務全部帶出,并支持選擇性地洗掉或虛擬執行任意節點的任務:

  • 如果選擇洗掉,這該任務之后所依賴的任務均不執行

  • 如果選擇虛擬執行,則會忽略(空跑)掉該任務,后置的所有依賴任務還是會正常執行,

如下是基于某一個任務重跑下游所有任務所列出的關系圖,選中具體的執行節點,就可以執行忽略或者洗掉,

 

3. 元資料管理工具

元資料范疇包括技術元資料、業務元資料、管理元資料,在概念上不做過多闡述了,元資料管理在資料建設起著舉足輕重的作用,這部分在數倉應用中主要有 2 個點:

(1)血緣管理

血緣管理可以追溯資料加工整體鏈路,決議表的來龍去脈,用于支撐各類場景,如:

  • 支持上游變更對下游影響的分析與調整

  • 監控各節點、各鏈路任務運行成本,效率

  • 監控資料模型的依賴數量,確認哪些是重點模型

如下是某一個資料模型中的血緣圖,上下游以不同顏色進行呈現:

(2)資料知識管理

通過對技術、業務元資料進行清晰、詳盡地描述,形成資料知識,給資料人員提供更好的使用向導,我們的資料知識主要包括物體說明與屬性說明,具體如下:

當然,數倉工具鏈條中還有非常多工具,例如自動化建模工具,資料質量管理工具,資料開發工具等,都已經得到了很好地實作,

 

五、數倉應用——指標平臺

有了合理的數倉架構、工具鏈條支撐資料研發,接下來,就要考慮如何把產出的資料對外賦能,下面以馬蜂窩資料應用利器-指標平臺,進行簡單介紹,

幾乎所有的企業都會構建自己的指標平臺,每個企業建立的標準都不一樣,在這個程序中會遇到指標繁多、定義不清楚、查詢緩慢等問題,為盡量避免這些問題,指標平臺在設計時需要遵循幾大原則:

  1. 指標定義標準,清晰,容易理解,且不存在二義性,分類明確

  2. 指標生產程序簡單、透明、可配置化

  3. 指標查詢效率需要滿足快速回應

  4. 指標權限管理靈活可控

基于以上原則,馬蜂窩的指標平臺按照精細化的設計進行打造,指標平臺組成架構如下圖:

 

其中:

  1. 資料倉庫是指標資料的來源,所有指標目前都是通過資料倉庫統一加工的

  2. 指標管理包括指標創建與指標元資料管理:數倉負責生產并創建最核心、最基礎的指標;其他人員可以基于這些指標,按照規則進行指標的派生;元資料管理記錄指標的具體來源路徑,說明指標的資料來源是數倉表,或者是 Kylin,MySQL 或 ES

  3. 指標字典對外呈現指標的定義、口徑、說明等,保證指標的透明化及可解釋性

  4. 資料服務接受指標的查詢請求,針對不同場景判斷查詢的成本,選擇最優鏈路進行指標查詢,并回傳指標查詢的結果

  5. 多維查詢將可以提供查詢服務的指標與維度通過界面呈現,用戶可以基于維度選擇指標或基于指標選擇維度,查詢具體需要的資料

  6. 權限管理貫徹始終,可以支持表級、指標級、維值級別的權限管理

 

六、總結

企業的資料建設需要經歷幾個大的步驟:

  • 第一步,業務資料化:顧名思義,一切業務都能通過資料反映,主要指的是將傳統線下流程線上化;

  • 第二步,資料智能化:光有資料還不行,還需要足夠的智能,如何通過智能化的資料支撐運營、營銷及各類業務,這是資料中臺當前解決的主要問題;

  • 第三步,資料業務化:也就是我們常說的資料驅動業務,資料不能只是資料,資料價值最大化在于可以驅動新的業務創新,帶動企業增長,

目前大部企業目前都停留在第二個階段,因為這一步需要足夠夯實,才能為第三步打好基礎,這也是為什么各大企業要投入很大成本到大資料平臺、資料倉庫乃至資料中臺的建設中,

馬蜂窩資料中臺的建設才剛剛起步,我們認為,理想的資料中臺需要具備資料標準化、工具組件化、組織清晰化這三個核心前提,為了向這一目標邁進,我們將建立統一、標準化的資料倉庫作為當下資料中臺的重點作業之一,

資料來源于業務,最終也將應用于業務,只有對資料足夠重視,與業務充分銜接,才能實作資料價值的最大化,在馬蜂窩,從管理層,到公司研發、產品、運營、銷售等各角色,對資料非常重視,資料產品的使用人數占公司員工比例高達 75%,

大量用戶的使用,驅動著我們在資料中臺建設的路上不斷前進,如何將新興技術能力應用到資料倉庫的建設,如何以有限的成本高效解決企業在資料建設中面臨的問題,將是馬蜂窩數倉建設一直的思考,

本文作者:顏博,馬蜂窩資料倉庫研發負責人,

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

標籤:大數據

上一篇:sybase 12.5 執行動態SQL并取得結果,如何處理?

下一篇:MySQL 什么時候建立外鍵?

標籤雲
其他(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