跑得更快!華為雲GaussDB以出色的性能守護“ERP的心臟”

来源:https://www.cnblogs.com/huaweiyun/archive/2023/06/28/17511900.html
-Advertisement-
Play Games

摘要:GaussDB已經全面支撐起MetaERP,在包括庫存服務在內的9大核心模塊中穩定運行,端到端業務效率得到10倍提升。 本文分享自華為雲社區《跑得更快!華為雲GaussDB以出色的性能守護“ERP的心臟”》,作者:GaussDB 資料庫。 ERP作為華為企業經營最核心的系統,伴隨著華為20多年 ...


摘要:GaussDB已經全面支撐起MetaERP,在包括庫存服務在內的9大核心模塊中穩定運行,端到端業務效率得到10倍提升。

本文分享自華為雲社區《跑得更快!華為雲GaussDB以出色的性能守護“ERP的心臟”》,作者:GaussDB 資料庫。

ERP作為華為企業經營最核心的系統,伴隨著華為20多年的快速發展,支撐每年數千億產值的業務和全球170多個國家業務的高效經營。其中的庫存服務作為交易數據的第一站彙集地,可以說是ERP系統中最核心的應用之一。

庫存服務不僅要與交易控制層的採購、訂單、任務令、成本、核算、計劃等模塊交互,也和各種各樣的作業層系統有著很深的聯繫,被比作“ERP的心臟”再合適不過。庫存服務對齊經營實體的資產庫存管理,提供六大核心庫存服務,支撐計劃、訂單、採購、製造等業務秒級自迴圈,同時作為庫存明細賬(量/價/餘額)的可信數據源,支撐集團財務核算,賬實一致、賬賬一致。可以說庫存服務的性能很大程度上決定著ERP系統的整體性能。

攻堅ERP庫存服務“硬骨頭”

作為“心臟”,庫存服務的血液流量與流速有多大?僅中國區,庫存服務的年處理交易需求就超過10億行,日處理交易峰值達到500w行以上,高峰時期數十個系統同時發起庫存交易,從接收交易需求到交易核算完成要經歷8個環節、200多個校驗的處理。

如何做到交易校驗無誤、現有量扣減準確、預留同步釋放、提交計價有序,同時實現毫秒級響應?交易資料庫在性能上遇到了極高的挑戰。

高性能資料庫GaussDB書寫優異成績

想拿下以性能為首要目標的庫存服務,必然需要一款同樣以性能稱王的資料庫做底層支撐。華為雲GaussDB資料庫以“高性能”的優勢,成為庫存服務改造的趁手利器。GaussDB充分融合了華為多年來軟硬全棧協同的優勢,在硬體領域,結合了鯤鵬處理器的多線程、原子指令、智能網卡的計算下推、RDMA的短時延高帶寬、SCM的位元組定址持久化能力等,在軟體技術領域,通過動態編譯、向量化引擎等能力,實現了極致的數據處理能力。

然而,上線過程中挑戰仍然存在。GaussDB團隊積極攻堅,細切目標,逐個攻破上線過程中遇到的難題。

首先,是如何提高執行計劃的準確性。庫存服務有近10萬條SQL,並且存在複雜的多表關聯,所以,如何保證交易資料庫執行計劃的準確性成為TOP挑戰。對此,攻關團隊圍繞壓測過程中識別的索引漂移等核心痛點場景,突破了智能基數估計、自適應計劃選擇技術,從而優化了資料庫執行計劃的精準性,進一步保障了庫存服務每一條SQL的執行性能。

其次,是如何解決高頻交易的性能問題。庫存服務中有近2.7TB的數據集中在5張高頻交易表裡,單表數據量超過了10億行。為了保障高頻交易時性能穩定不下降,攻關團隊通過組合分區和大併發線程池等技術,在打散數據訪問熱點的基礎上,優化了線程調度機制,一方面提高了系統的響應速度,另一方面也提升了硬體的資源利用率。最終的全鏈路壓測結果顯示,切換GaussDB後,庫存服務總體交易性能顯著提升,達到老ERP交易峰值的3倍。

最後,是如何將攻堅歷程形成可借鑒的成功經驗。對此,團隊在合作攻關的同時,系統性地總結了基於GaussDB資料庫的開發和調優的最佳實踐經驗,並彙總成完整的《GaussDB開發設計及編程規範》,為後續GaussDB在其他應用的上線提供了寶貴的借鑒經驗和技術規範指導。

GaussDB助力MetaERP交易性能大幅提升

如今,GaussDB已經全面支撐起MetaERP,在包括庫存服務在內的9大核心模塊中穩定運行,端到端業務效率得到10倍提升。再造後的庫存服務顯示出強大的實力,在年結期間,庫存服務每天處理庫存作業峰值指令接近510萬筆,GaussDB事務處理峰值達1.1萬TPS,就ERP系統的業務邏輯複雜度而言,GaussDB具備優異的峰值處理能力。在如此高頻的交易場景下,系統仍保證事務響應時間在20毫秒以內,主備同步延遲始終保持在毫秒級,CPU利用率平穩保持在60%以下,整個年結期間沒有發生可用性與數據一致性事故,交易數據一致性達到99.9999%的金融級水平。

從業務層面看,MetaERP已經覆蓋華為公司100%的業務場景和80%的業務量,一筆庫存交易從產生到財務核算的時間從以前的70分鐘減少到13秒,一筆庫存餘額與貨齡的計算從以前的60分鐘減少到16分鐘,交易性能得到大幅度提升。

GaussDB出色的性能表現,使MetaERP系統中交易量和數據量最大的庫存服務運行得更快。華為雲GaussDB在這場攻堅中展示出卓越的高性能實力,並完成自我迭代,將不斷朝著更高的性能目標邁進。

 

點擊關註,第一時間瞭解華為雲新鮮技術~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ## 一:背景 ### 1. 講故事 前段時間有個朋友找到我,說他們的程式有偶發崩潰的情況,讓我幫忙看下怎麼回事,針對這種 crash 的程式,用 AEDebug 的方式抓取一個便知,有了 dump 之後接下來就可以分析了。 ## 二:Windbg 分析 ### 1. 為什麼會崩潰 既然是程式的崩潰 ...
  • 很多人看到這個Eazfuscator.NET還不知是什麼東東。。。 首先介紹下 什麼是 Eazfuscator.NET? Eazfuscator.NET 是用於.NET平臺的工業級混淆器。 Eazfuscator.NET 提供的混淆保護了軟體中根深蒂固的知識產權,提高了商業盈利能力,並保持了競爭優勢 ...
  • 繼上篇:Taurus .Net Core 微服務開源框架:Admin 插件【1】 - 微服務節點管理,本篇繼續介紹下一個內容:系統環境信息管理...... ...
  • # 痞子衡嵌入式半月刊: 第 78 期 ![](http://henjay724.com/image/cnblogs/pzh_mcu_bi_weekly.PNG) 這裡分享嵌入式領域有用有趣的項目/工具以及一些熱點新聞,農曆年分二十四節氣,希望在每個交節之日準時發佈一期。 本期刊是開源項目(GitH ...
  • ## 前言 > 1. 檢查防火牆是否關閉 > > vim /etc/selinux/config > > SELINUX=disabled > > 2. 記憶體4G為好 > > 3. 配置好阿裡yum源 ## 實驗步驟-服務端 > 1. 獲取zabbix的下載源 > > rpm -Uvh https: ...
  • 在 Linux 系統下開發軟體,輸出的可執行文件可大可小,運行環境如果是在伺服器那麼可能資源比較充足,但如果是在嵌入式環境,那麼存儲資源是寸土必爭的。所以會有對可執行文件進行瘦身的需求,比如使用指令 strip。 ...
  • 一、對資料庫及表的基礎操作 1、連接資料庫伺服器 mysql -hlocalhost -uroot -p123456 2、2.退出伺服器 exit 3、查看所有的資料庫 show databases; 4、創建一個資料庫 create database java; 5、刪除資料庫 drop data ...
  • # Scala編寫Spark的WorkCount ## 創建一個Maven項目 在pom.xml中添加依賴和插件 ```XML 8 8 UTF-8 3.2.3 2.12.15 org.scala-lang scala-library ${scala.version} org.apache.spark ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...