高性能數(shù)據(jù)庫BigInsights在綠巨能回收的應(yīng)用實踐

信息化觀察網(wǎng)
劉藝

引言

貝格邁思自主研發(fā)的明睿智能數(shù)據(jù)庫AiSQL系統(tǒng)BigInsights以高性能作為其主要優(yōu)勢,在工信部賽迪網(wǎng)舉辦的2023年(第六屆)行業(yè)信息技術(shù)應(yīng)用創(chuàng)新大會上榮獲“2023高性能數(shù)據(jù)庫卓越產(chǎn)品獎”,也是本次大會上唯一獲此殊榮的國產(chǎn)數(shù)據(jù)庫系統(tǒng)。目前,BigInsights當(dāng)前在金融、制造業(yè)及互聯(lián)網(wǎng)行業(yè)已經(jīng)廣泛應(yīng)用,本文將通過介紹BigInsights在綠巨能回收的應(yīng)用案例,展示高性能BigInsights給用戶帶來的價值。

綠巨能背景介紹

云南綠巨能環(huán)??萍加邢薰臼菄鴥?nèi)互聯(lián)網(wǎng)回收領(lǐng)域的領(lǐng)軍企業(yè)。公司自2019年開始,憑借創(chuàng)新的互聯(lián)網(wǎng)思維對傳統(tǒng)廢品回收行業(yè)改造,構(gòu)建全新的“美團式廢品回收”商業(yè)模式。旗下綠巨能回收平臺自上線以來增速顯著,平臺以運維端為核心不斷依據(jù)市場需求進行迭代和升級,以WMP為服務(wù)基礎(chǔ)提供便捷高效的線上支持,以覆蓋全國的前端服務(wù)機構(gòu)為矩陣構(gòu)建高效性成長性的O2O服務(wù)體系,目前已經(jīng)成長為布局覆蓋全國的O2O領(lǐng)先回收平臺。

綠巨能回收線下已經(jīng)構(gòu)建全國22個省4個自治州4個直轄市200個地級市以及800多個區(qū)縣的服務(wù)矩陣,線上完整用戶端、服務(wù)端及分拈端全覆蓋的3.0平臺布局,架構(gòu)完整的互聯(lián)網(wǎng)+回收O2O產(chǎn)業(yè)生態(tài)鏈。通過多端口一核心的全流程、多節(jié)點、精細化數(shù)據(jù)采集,形成完整的互聯(lián)網(wǎng)+回收數(shù)據(jù)化管理,為城市垃圾分類數(shù)據(jù)化科學(xué)化建設(shè)提供了數(shù)據(jù)基礎(chǔ)。成為集市場意識、運營能力、技術(shù)水平集社會價值全領(lǐng)先的“互聯(lián)網(wǎng)+回收”領(lǐng)軍者。

640 (1).png

上圖展示了綠巨能回收流程的生命周期,簡單舉個例子,客戶家里如果有物品需要處理,就可以通過綠巨能公眾號或小程序下一個訂單,平臺會將訂單分配給區(qū)域內(nèi)最近的線下回收員,回收員聯(lián)系客戶約定時間上門回收;線下對物品打包及稱重后,回收員將相關(guān)信息輸入到線上平臺,平臺按照既定的規(guī)則進行結(jié)算;客戶確認訂單后平臺就將款項支付給客戶,客戶對服務(wù)做出評價獲取相應(yīng)積分。簡單的介紹可以分為五個字:下單到結(jié)算。整個業(yè)務(wù)的全鏈路中可以拆解成以下的關(guān)鍵節(jié)點:客戶下單之后回收員的攬收,攬收后的結(jié)算及最終物品的入庫。物品的回收過程即完成了回收的全鏈路的生命周期。在每個環(huán)節(jié)中會產(chǎn)生大量的數(shù)據(jù):物品信息、訂單信息、回收員(回收車)位置信息等,對每個環(huán)節(jié)的每一個數(shù)據(jù)都會進行相關(guān)的分析,包括時效監(jiān)控等。

在綠巨能回收2.0平臺,事務(wù)數(shù)據(jù)庫系統(tǒng)和分析數(shù)據(jù)庫系統(tǒng)是分離的,訂單系統(tǒng)采用的是MySQL數(shù)據(jù)庫,分析平臺采用的是PostgreSQL數(shù)據(jù)庫。兩個數(shù)據(jù)庫通過數(shù)據(jù)庫同步工具實現(xiàn)數(shù)據(jù)的一致性。2022年下半年開始,MySQL的處理能力已經(jīng)到達性能瓶頸點了,為解決性能問題,綠巨能測試了MySQL分庫分表的方案,但通過一段時間的測試發(fā)現(xiàn)分庫分表不但沒能解決性能問題,還大大提高了整個系統(tǒng)的復(fù)雜性。因此,綠巨能開始尋找新的數(shù)據(jù)庫解決方案。

為什么選擇明睿智能數(shù)據(jù)庫系統(tǒng)BigInsights

我們分析總結(jié)了綠巨能在數(shù)據(jù)庫使用過程中遇到了很多技術(shù)層面上的痛點,主要有以下幾個方面:

1.業(yè)務(wù)發(fā)展快、數(shù)據(jù)量激增,原有系統(tǒng)處理能力不足,出現(xiàn)嚴重的性能瓶頸,影響業(yè)務(wù)的發(fā)展;

2.MySQL數(shù)據(jù)庫能存放的數(shù)據(jù)周期越來越短,業(yè)務(wù)方對數(shù)據(jù)保存周期需求上升;

3.MySQL分庫分表設(shè)計滿足不了業(yè)務(wù)方分析和時效需求,統(tǒng)計分析依賴存儲過程,系統(tǒng)的擴展性和可維護性極差;

4.數(shù)據(jù)庫是整個業(yè)務(wù)系統(tǒng)的中心節(jié)點,存在單點故障,因此風(fēng)險高,并且數(shù)據(jù)從MySQL同步到PostgreSQL存在較高延遲,分析時效不夠。

鑒于以上痛點,新的數(shù)據(jù)庫平臺需要有以下幾個方面的能力:

1.支持處理能力的在線擴展,支持數(shù)據(jù)按區(qū)域分片,能自動分裂和遷移,支持冷熱數(shù)據(jù)分離。

2.支持強一致的分布式事務(wù)、二級索引,這是支持原來MySQL業(yè)務(wù)必須要有的。

3.支持高并發(fā)寫和更新,并且支持快速的按照業(yè)務(wù)方的需求查詢。

4.支持無感讀寫分離,有效將負載均衡到全部的數(shù)據(jù)庫節(jié)點上,提供穩(wěn)定的性能。

5.支持大寬表的建設(shè),支持存儲過程,支持多維度的查詢分析。

MySQL to BigInsinghts

架構(gòu)圖1(以前的架構(gòu))

640 (1).png

上圖是綠巨能回收2.0版本的架構(gòu),大家可以看到在各個轉(zhuǎn)運環(huán)節(jié)中有很多的數(shù)據(jù)及消息來源。左邊是對接的消息中間件。右邊可以分為以下幾塊:第一個是和第二個是實時訂單程序和加盟系統(tǒng)程序,會把這些中間件的消息消費進來,然后存到MySQL里面;另外由于綠巨能的分析系統(tǒng)中有大量的多表查詢,而MySQL的分析能力很弱,因此需要將數(shù)據(jù)同步到PostgreSQL數(shù)據(jù)庫中進行分析,這在一定程度上滿足了大量數(shù)據(jù)分析的需求,大量的數(shù)據(jù)統(tǒng)計分析依賴于在PostgreSQL上的存儲過程。隨著數(shù)據(jù)量越來越大,存儲和計算的問題越來越凸顯,單純靠升級數(shù)據(jù)庫服務(wù)器的硬件無法從根本上解決問題,并且隨著硬件的不斷升級,成本也越來越高。綠巨能方考慮采用新的技術(shù)方案上去尋找突破,對業(yè)務(wù)系統(tǒng)進行一個重新的架構(gòu)升級。

BigInsights是云原生分布式HTAP數(shù)據(jù)庫,提供按需擴展、內(nèi)置彈性和多API接口,以消除為關(guān)鍵業(yè)務(wù)事務(wù)應(yīng)用程序提供支持時的復(fù)雜性和風(fēng)險。BigInsights使用創(chuàng)新架構(gòu)的分布式存儲層,為OLTP工作負載提供橫向擴展服務(wù),具有高性能低延遲、極高的故障恢復(fù)能力。

架構(gòu)圖2(升級后的架構(gòu))

640 (1).png

上圖是部署B(yǎng)igInsights替代原有的MySQL和PostgreSQL后整個系統(tǒng)重構(gòu)的架構(gòu):

左邊這部分還是很多消息的接入,右邊的所有業(yè)務(wù)系統(tǒng)(包括分析系統(tǒng))都連接到一個BigInsights數(shù)據(jù)庫集群,各個數(shù)據(jù)庫節(jié)點是對等模式,節(jié)點間可以自動負載均衡及互為備份,新的架構(gòu)上的AISQL數(shù)據(jù)庫本身具備極致的事務(wù)處理和分析能力,可以在一個數(shù)據(jù)庫內(nèi)執(zhí)行整個業(yè)務(wù)系統(tǒng)的處理和分析工作,無需數(shù)據(jù)同步到額外的分析數(shù)據(jù)庫,降低了系統(tǒng)的復(fù)雜性,并且支持按需橫向擴展,隨著節(jié)點的增加整個系統(tǒng)的處理能力可以獲得接近線性的增長,有效的解決了性能瓶頸問題。

重構(gòu)后架構(gòu)的優(yōu)勢:

1.高速的寫入。AiSQL支持對業(yè)務(wù)端點的每秒上萬筆的數(shù)據(jù)實時寫入,延遲極低,經(jīng)過測試,95%的延遲在50毫秒內(nèi),比過去基于MySQL數(shù)據(jù)庫的寫入性能提高10倍。

2.自動負載均衡。在事務(wù)類型的業(yè)務(wù)高峰期,所有節(jié)點都可以直接執(zhí)行交易類型的操作,各個節(jié)點的負載自動均衡,保證了的資源的最大利用率。在晚上交易類型操作的減少時間端,三個節(jié)點的數(shù)據(jù)庫可以并行執(zhí)行查詢分析操作,季度統(tǒng)計分析的操作從之前200分鐘降低到120分鐘。

3.支持靈活擴展。升級擴容后數(shù)據(jù)自動重新均衡分布,升級后數(shù)據(jù)庫服務(wù)器的硬件依然是三臺服務(wù)器,處理能力比舊的架構(gòu)提升30%,計劃2024年擴展到5臺服務(wù)器,預(yù)估處理能力將再次提升160%。

4.每一個數(shù)據(jù)都有三個副本,支持從副本的一致性讀取,支持高可用及故障切換,少數(shù)節(jié)點故障不會導(dǎo)致數(shù)據(jù)丟失,可用性可靠性獲得提升。

5.支持多租戶架構(gòu),租戶之間數(shù)據(jù)完全隔離。

6.支持全密態(tài)數(shù)據(jù)訪問,保障數(shù)據(jù)的安全性,根據(jù)配置,數(shù)據(jù)在存儲狀態(tài)、處理過程、及網(wǎng)絡(luò)傳輸過程中都可以是密文形式,因此可最大程度防止數(shù)據(jù)泄密。

7.支持自動數(shù)據(jù)壓縮,且性能針對SSD特殊優(yōu)化,存儲空間利用率整體提高40%以上。

通過在兩個環(huán)境加載數(shù)據(jù)做性能壓測對比,BigInsights的數(shù)據(jù)寫入速度為升級前MySQL數(shù)據(jù)庫的15.4倍,這對于綠巨能這種有大量端點寫入數(shù)據(jù)的場景性能的提升有非常重要的作用。

640 (1).png

總共1000000條數(shù)據(jù),BigInsights插入速度為MySQL的15.4倍

總結(jié)及未來展望

2023年綠巨能回收系統(tǒng)全面遷移到3.0平臺后,系統(tǒng)性能獲得大幅度提升,系統(tǒng)可以為全國近2萬端點提供峰值TPS 20000筆/秒的交易處理能力;全天聯(lián)機交易處理時間120毫秒;日終處理耗時從之前308分鐘降低到210分鐘;季度匯總總時長從224分鐘降低到151分鐘。在沒有增加成本的情況下,全面解決了性能瓶頸及擴展性問題。

隨著業(yè)務(wù)需求的快速變化,綠巨能也對BigInsights提出了一些新的需求,期望BigInsights能更全面的滿足未來業(yè)務(wù)發(fā)展的需求。

首先是希望盡快推出列存。BigInsights目前的列存及矢量化引擎已經(jīng)還在測試中,平臺當(dāng)前日增數(shù)據(jù)100G,歷史數(shù)據(jù)需要歸檔及查詢,因此列存及矢量化引擎的功能對系統(tǒng)的性能提升可以再上一個臺階。

第二,希望BigInsights可以把功能平臺進行集成。BigInsights當(dāng)前提供了很多管理工具,例如BrightStudio、BrightCDC等,但每個管理都是獨立的,希望把這些工具都集成在一個集中管理平臺上,這樣對于運維人員的使用來說會更加便捷。

第三,希望提供全面的數(shù)據(jù)庫自治能力。目前系統(tǒng)的運維主要是靠維護人員通過BrightStudio平臺查看,分布式數(shù)據(jù)庫節(jié)點多,維護起來相對復(fù)雜。如果數(shù)據(jù)庫有智能故障分析功能的話,可以降低數(shù)據(jù)庫管理的人力開銷。BigInsights作為一款智能數(shù)據(jù)庫,本身具備向量數(shù)據(jù)檢索、庫內(nèi)機器學(xué)習(xí)等能力,高智能也是BigInsights優(yōu)勢特性,根據(jù)產(chǎn)品規(guī)劃,下一步結(jié)合現(xiàn)有的AI技術(shù),進一步將AI能力應(yīng)用到數(shù)據(jù)庫的自動管理和優(yōu)化上,從而全面實現(xiàn)數(shù)據(jù)庫自治。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論