同盾科技是中國領(lǐng)先的人工智能科技企業(yè),專注決策智能領(lǐng)域,致力于幫助政企客戶防范風(fēng)險(xiǎn)、提升決策效率。同盾科技堅(jiān)持自主科技創(chuàng)新,多項(xiàng)算法和軟件系統(tǒng)已達(dá)全球領(lǐng)先水平,并形成了“基于隱私計(jì)算的共享智能平臺(tái)-智邦”和“基于人工智能的決策智能平臺(tái)-智策”兩大平臺(tái),聚焦于金融風(fēng)險(xiǎn)、安全風(fēng)險(xiǎn)、政府治理風(fēng)險(xiǎn)三大場景,業(yè)務(wù)覆蓋全球數(shù)十個(gè)國家,為 22 大行業(yè)、118 個(gè)細(xì)分場景的上萬家客戶提供了領(lǐng)先且獨(dú)具特色的決策智能解決方案。
風(fēng)控業(yè)務(wù)場景對數(shù)據(jù)庫的需求與挑戰(zhàn)
作為一家第三方風(fēng)控公司,客戶經(jīng)常需要調(diào)用同盾的智能決策服務(wù)去做業(yè)務(wù)決策,如電商大促期間防范黑產(chǎn)薅羊毛,個(gè)人信貸杜絕多頭借貸老賴行為等。因此,同盾服務(wù)調(diào)用常常呈現(xiàn)出非常大的 TPS 請求。同時(shí),為了不影響客戶調(diào)用服務(wù)的質(zhì)量與體驗(yàn),同盾對低延遲和高可用有著硬性要求。
基于這樣的特征,同盾日均過億的決策服務(wù)調(diào)用,會(huì)產(chǎn)生包括非結(jié)構(gòu)化/結(jié)構(gòu)化多種數(shù)據(jù)結(jié)構(gòu)類型在內(nèi)的海量數(shù)據(jù)入庫。豐富的數(shù)據(jù)類型與多樣的細(xì)分場景,使得同盾科技必須使用多種數(shù)據(jù)庫去滿足不同的業(yè)務(wù)場景需求,在同盾的數(shù)據(jù)架構(gòu)中包含了 Cassandra、MySQL、HBase、Redis、Mongo 等數(shù)據(jù)庫。
在同盾的數(shù)據(jù)架構(gòu)中,大多數(shù)初始落庫的數(shù)據(jù)還比較原始,為了提供優(yōu)質(zhì)的數(shù)據(jù)服務(wù)用于智能決策,技術(shù)團(tuán)隊(duì)構(gòu)建了成熟的大數(shù)據(jù)平臺(tái),用 T+1 離線數(shù)據(jù)分析的方式去進(jìn)行日常的離線數(shù)據(jù)分析作業(yè),利用數(shù)據(jù)二次加工賦能上層的風(fēng)控智能決策。
但面對復(fù)雜的數(shù)據(jù)基礎(chǔ)架構(gòu),同盾在業(yè)務(wù)增長中也遭遇了如下挑戰(zhàn):
·同盾擁有在線數(shù)千個(gè)大大小小的 MySQL 工作實(shí)例,數(shù)據(jù)十分分散,有一些是核心的風(fēng)控業(yè)務(wù)系統(tǒng)數(shù)據(jù),有一些是后臺(tái)基礎(chǔ)架構(gòu)平臺(tái)的數(shù)據(jù),還有一些是集團(tuán) IT 系統(tǒng)數(shù)據(jù),同盾希望通過集中化的方式對這些數(shù)據(jù)進(jìn)行分析管理;
·最開始同盾將上游 MySQL 數(shù)據(jù)同步到下游進(jìn)行分析,但整個(gè)過程中數(shù)據(jù)交換工作效率非常低,整體作業(yè)分析的 SLA 無法得到保證;
·由于上下游數(shù)據(jù)同步的阻塞問題,導(dǎo)致了離線數(shù)據(jù)同步實(shí)時(shí)性很差,上下游數(shù)據(jù)經(jīng)常出現(xiàn)數(shù)據(jù)不一致的情況,非常影響提供給作業(yè)的數(shù)據(jù)質(zhì)量。
其實(shí)同盾科技的業(yè)務(wù)場景并不復(fù)雜,只需要同步生產(chǎn)環(huán)境中數(shù)千個(gè) MySQL 實(shí)例至下游的離線系統(tǒng),提供給作業(yè)開發(fā)人員通過大數(shù)據(jù)平臺(tái)進(jìn)行離線分析加工。項(xiàng)目的核心目標(biāo)是在海量數(shù)據(jù)落庫下,保障在線到離線數(shù)據(jù)的數(shù)據(jù)庫的準(zhǔn)實(shí)時(shí)性和一致性,并提供優(yōu)質(zhì)的數(shù)據(jù)服務(wù)給內(nèi)部的風(fēng)控系統(tǒng)開發(fā)人員、算法模型工程師和運(yùn)營人員加工數(shù)據(jù)。
為什么選擇 TiDB?
經(jīng)過長時(shí)間調(diào)研,同盾科技的技術(shù)團(tuán)隊(duì)最后選擇了新一代分布式數(shù)據(jù)庫 TiDB 作為離線層的核心數(shù)據(jù)庫。同盾科技數(shù)據(jù)庫運(yùn)維梁高升表示,主要有以下幾點(diǎn)原因最終促成同盾選擇 TiDB:
首先,TiDB 高度兼容MySQL協(xié)議,在 TiDB 的使用和運(yùn)維過程中大大減輕了運(yùn)維和開發(fā)人員的使用成本;
第二,TiDB 作為分布式數(shù)據(jù)庫,同盾可以把它看成一個(gè)大的數(shù)據(jù)庫實(shí)例,可以匯聚上游所有的MySQL實(shí)例數(shù)據(jù);
第三,TiDB 具備存算分離的架構(gòu),可以讓同盾非常靈活地控制硬件成本,而不用一味堆砌服務(wù)器;
最后,TiDB 擁有非?;钴S的社區(qū)。即使在使用 TiDB 的過程中遇到一些問題也馬上能在社區(qū)得到解決。
解決方案
最終,同盾科技數(shù)據(jù)庫團(tuán)隊(duì)構(gòu)建了一整套基于 TiDB 的數(shù)據(jù)流轉(zhuǎn)架構(gòu),該架構(gòu)共分為三層:
實(shí)時(shí)數(shù)據(jù)層
同盾內(nèi)部有 3000+ MySQL實(shí)例,在實(shí)時(shí)數(shù)據(jù)庫層通過 MySQL cloud 管控上游數(shù)千個(gè) MySQL。
傳輸層
在傳輸層,從 MySQL Cloud 對接實(shí)時(shí)數(shù)據(jù)同步任務(wù)到內(nèi)部 Otter ,Otter 可以實(shí)現(xiàn)準(zhǔn)實(shí)時(shí)同步 MySQL 數(shù)據(jù),然后再由 OTTER 實(shí)時(shí)同步數(shù)據(jù)到 TiDB。
上下游同步組件決定了數(shù)據(jù)在下游離線場景的整體數(shù)據(jù)質(zhì)量,同盾對數(shù)千個(gè) MySQL 實(shí)例同步數(shù)據(jù)的同時(shí),需要保證其穩(wěn)定性、低延遲及整體可控的管理成本。雖然 PingCAP 數(shù)據(jù)遷移工具 DM 支持全量/增量靈活的數(shù)據(jù)導(dǎo)入場景,并具有較快的導(dǎo)入速率,但目前單個(gè) DM worker 只支持綁定一個(gè)數(shù)據(jù)源,這限制了管理大量 MySQL 同步任務(wù)的需求。同盾最后選擇使用 OTTER 作為常態(tài)化的數(shù)據(jù)增量同步平臺(tái),但 OTTER 只支持增量數(shù)據(jù)同步,且單任務(wù)吞吐有上限,同盾通過使用其支持 spark streaming 來進(jìn)一步保障同步得吞吐和準(zhǔn)實(shí)時(shí)性。未來在 TiDB 推出一個(gè) DM worker 支持多個(gè)數(shù)據(jù)源的特性后,同盾會(huì)再考慮進(jìn)行替換。
離線數(shù)據(jù)層
離線數(shù)據(jù)層中的大數(shù)據(jù)平臺(tái)主要管控 TiDB 的元數(shù)據(jù)和實(shí)際到下游的同步情況。 在 Spark 運(yùn)行作業(yè)的過程中通過 TiSpark 去訪問 TiDB,最后接入 Hadoop 進(jìn)行分析作業(yè)。
業(yè)務(wù)收益
通過打造 TiDB 數(shù)據(jù)產(chǎn)品鏈,同盾科技實(shí)現(xiàn)了數(shù)千個(gè) MySQL 數(shù)據(jù)的離線匯聚管理。TIDB 有著便捷易操作的 Dashboard 管理界面,運(yùn)維無心智負(fù)擔(dān),大大提升了數(shù)據(jù)庫運(yùn)維團(tuán)隊(duì)的管理運(yùn)維和使用數(shù)據(jù)的便捷性與效率。同時(shí),TiDB 的高性能保障提供高質(zhì)量的數(shù)據(jù)服務(wù),實(shí)現(xiàn)了準(zhǔn)實(shí)時(shí)同步數(shù)據(jù)。
同盾科技數(shù)據(jù)庫運(yùn)維梁高升介紹,同盾剛開始上線的是 TiDB 2.0 早期版本,在上下游數(shù)據(jù)同步過程中遇到了一些 TiDB 和 MySQL 不那么兼容的情況,如果在上游有大量數(shù)據(jù)更新的情況下,會(huì)出現(xiàn)同步阻塞的情況,導(dǎo)致同步的實(shí)時(shí)性、一致性出現(xiàn)問題。但 TiDB 版本迭代速度非??欤總€(gè)版本都會(huì)對性能及穩(wěn)定性做出大量改進(jìn)和優(yōu)化,在升級(jí)到 5.4 版本后,同盾就已經(jīng)解決了大部分的兼容問題。而且在基準(zhǔn)測試中,TiDB 的性能也得到了質(zhì)的飛躍。
未來規(guī)劃
同盾科技是 TiDB 非常早期的用戶,多年的使用讓同盾確信 TiDB 是一款非常好的產(chǎn)品,未來也會(huì)繼續(xù)致力于在更多的場景依靠 TiDB 生態(tài)落地賦能一些業(yè)務(wù)場景。例如,雖然同盾的大部分作業(yè)是 T+1,但內(nèi)部也有很多實(shí)實(shí)在在的實(shí)時(shí)分析場景,比如實(shí)時(shí)展示的 BI 系統(tǒng),通過TiFlash 實(shí)時(shí)分析查詢引擎可以進(jìn)一步提升分析效率,更及時(shí)地滿足實(shí)時(shí)分析需求;同盾國內(nèi)在線業(yè)務(wù)針對海量關(guān)系型數(shù)據(jù)庫初始使用的是 MYCAT,但是 MYCAT 的運(yùn)維非常困難,對開發(fā)也不是很友好,更像是上一代的分布式數(shù)據(jù)庫產(chǎn)品。后續(xù),類似 MYCAT 這樣的場景也很有必要使用 TiDB 進(jìn)行替換。
近幾年,隨著出海趨勢愈發(fā)火熱,同盾科技在出海業(yè)務(wù)勢頭也非常迅猛,業(yè)務(wù)涉及東南亞、北美、歐洲等多個(gè)區(qū)域,這就需要在谷歌云、AWS、阿里云等通用公有云上,有一款標(biāo)準(zhǔn)的分布式數(shù)據(jù)庫服務(wù),幫助其在全球快速布局業(yè)務(wù)。而 TiDB Cloud 已經(jīng)在各大主流公有云上提供服務(wù),這也給同盾科技構(gòu)建堅(jiān)實(shí)的技術(shù)底座提供了更好的選擇。
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )