自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

數(shù)據(jù)源集市實(shí)時(shí)流轉(zhuǎn)MySQL狀態(tài)表的優(yōu)化方案

數(shù)據(jù)庫 MySQL
自打構(gòu)建數(shù)據(jù)源集市的技術(shù)棧以來,其實(shí)整個(gè)體系也在不斷的完善,在數(shù)據(jù)流轉(zhuǎn)的出口方向我們基本達(dá)成了一致,那就是在保證數(shù)據(jù)準(zhǔn)確性和穩(wěn)定性的基礎(chǔ)上盡可能按照實(shí)時(shí)的標(biāo)準(zhǔn)去落地?cái)?shù)據(jù)交付效率,所以數(shù)據(jù)源集市的目標(biāo)不是簡(jiǎn)單交付數(shù)據(jù)了事,而是需要對(duì)中下游的服務(wù)提供強(qiáng)有力的支持,甚至提供數(shù)據(jù)實(shí)時(shí)流轉(zhuǎn)的參考和依據(jù)。

[[379624]]

自打構(gòu)建數(shù)據(jù)源集市的技術(shù)棧以來,其實(shí)整個(gè)體系也在不斷的完善,在數(shù)據(jù)流轉(zhuǎn)的出口方向我們基本達(dá)成了一致,那就是在保證數(shù)據(jù)準(zhǔn)確性和穩(wěn)定性的基礎(chǔ)上盡可能按照實(shí)時(shí)的標(biāo)準(zhǔn)去落地?cái)?shù)據(jù)交付效率,所以數(shù)據(jù)源集市的目標(biāo)不是簡(jiǎn)單交付數(shù)據(jù)了事,而是需要對(duì)中下游的服務(wù)提供強(qiáng)有力的支持,甚至提供數(shù)據(jù)實(shí)時(shí)流轉(zhuǎn)的參考和依據(jù)。

目前一張表的數(shù)據(jù)如果要提供近實(shí)時(shí)的數(shù)據(jù)交付標(biāo)準(zhǔn),一般有以下的幾類策略:

1)基于自增ID的模式,根據(jù)數(shù)據(jù)庫的自增ID可以快速的定位數(shù)據(jù)的增量位置,基本實(shí)現(xiàn)數(shù)據(jù)的增量同步,當(dāng)然這種模式的局限性比較大,需要表中含有自增ID字段,對(duì)于數(shù)據(jù)庫的吞吐量也會(huì)有潛在瓶頸,同時(shí)不適用于基于中間件的集群環(huán)境數(shù)據(jù)實(shí)時(shí)流轉(zhuǎn)。

2)基于時(shí)間字段同步模式,時(shí)間字段的同步是表數(shù)據(jù)實(shí)現(xiàn)增量同步的經(jīng)典方法,也是和業(yè)務(wù)緊密結(jié)合,但是帶來的潛在風(fēng)險(xiǎn)是可能相關(guān)的時(shí)間字段有多個(gè),同步定制化程度高,另外單一使用增量模式其實(shí)難以完全定位數(shù)據(jù),還是需要另外一個(gè)維度的支持,比如自增ID等。

如果一張狀態(tài)表要實(shí)現(xiàn)實(shí)時(shí)流轉(zhuǎn),實(shí)時(shí)交付,那么面臨的問題其實(shí)是比較復(fù)雜的。

通常這類狀態(tài)表數(shù)據(jù)量巨大,但很可能沒有基于自增ID的字段(通常是基于業(yè)務(wù)的ID字段),而基于時(shí)間字段基本可行,但是難以快速定位唯一的記錄內(nèi)容,最緊要的一點(diǎn)是我們通過唯一性定位得到的是變化后的值,變化前的值已經(jīng)被完全覆蓋,所以對(duì)于變化量的定義是比較復(fù)雜的。

目前來看,碰到的一些瓶頸問題主要有:

中下游的數(shù)據(jù)服務(wù)提取數(shù)據(jù)時(shí),盡管數(shù)據(jù)源是實(shí)時(shí)更新的,但是后續(xù)的數(shù)據(jù)服務(wù)是難以定位增量數(shù)據(jù)的。通過上述的多個(gè)維度都不合適,通常做數(shù)據(jù)檢查的時(shí)候只能無奈使用select count(*) from xxx這種校驗(yàn)?zāi)J剑鉀Q這個(gè)問題最直接的方案就是程序段提供相應(yīng)的流水日志,如果開發(fā)能力較強(qiáng)這個(gè)事情比較好落地,而如果業(yè)務(wù)風(fēng)險(xiǎn)高,這個(gè)事情要解決就比較麻煩了。

如下是一種折中的解決方案,在不需要程序修改代碼的前提下,能夠?qū)崟r(shí)提取數(shù)據(jù)變化并實(shí)時(shí)更新同步數(shù)據(jù)狀態(tài),大體的設(shè)計(jì)思路是基于實(shí)時(shí)日志服務(wù),在這里是Maxwell.

我來簡(jiǎn)單解釋下,如果一張狀態(tài)表的數(shù)據(jù)要實(shí)時(shí)交付,那么數(shù)據(jù)源集市中我們保證狀態(tài)表的數(shù)據(jù)實(shí)時(shí)復(fù)制是沒有問題的,技術(shù)上完全能夠做到,無論是基于庫級(jí)別還是過濾到表級(jí)別,都是可操作的。

而基于Maxwell的實(shí)時(shí)日志提取,我們可以從狀態(tài)表中解析出表中數(shù)據(jù)實(shí)時(shí)變化的內(nèi)容,我們可以間接實(shí)現(xiàn)一個(gè)賬單表,對(duì)于中下游來說,就是間接把狀態(tài)表轉(zhuǎn)換為流水日志表,從而間接實(shí)現(xiàn)的實(shí)時(shí)流轉(zhuǎn)和交付。

本文轉(zhuǎn)載自微信公眾號(hào)「楊建榮的學(xué)習(xí)筆記」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系楊建榮的學(xué)習(xí)筆記公眾號(hào)。

 

責(zé)任編輯:武曉燕 來源: 楊建榮的學(xué)習(xí)筆記
相關(guān)推薦

2021-01-22 05:49:41

數(shù)據(jù)源思路規(guī)劃

2021-03-10 19:01:02

SQL數(shù)據(jù)源

2024-04-16 09:21:59

Spring流轉(zhuǎn)狀態(tài)數(shù)據(jù)狀態(tài)處理

2017-09-04 14:52:51

Tomcat線程數(shù)據(jù)源

2016-08-04 13:19:06

MySQL數(shù)據(jù)庫大優(yōu)化

2010-12-27 09:59:11

ODBC數(shù)據(jù)源

2009-06-15 13:24:46

JBoss數(shù)據(jù)源

2017-06-14 23:42:27

大數(shù)據(jù)數(shù)據(jù)源架構(gòu)

2009-07-14 09:55:33

MyEclipse W

2009-05-08 08:59:35

RESTORBSOA

2009-12-29 14:36:55

ADO.NET 數(shù)據(jù)集

2023-11-27 09:16:53

Python數(shù)據(jù)源類型

2010-05-14 15:32:51

配置MySQL

2024-03-28 09:46:50

2009-07-21 17:41:58

JDBC數(shù)據(jù)源

2010-06-04 10:31:05

tomcat MySQ

2017-07-21 14:50:15

數(shù)據(jù)庫DB分庫事務(wù)處理

2013-06-07 10:05:18

2013-06-09 10:15:09

2021-10-18 06:54:47

數(shù)據(jù)源數(shù)據(jù)預(yù)處理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)