elasticsearch-datatranElasticsearch 高效數(shù)據(jù)同步工具
bboss-datatran --- 簡(jiǎn)化版Flink
bboss-datatran由 bboss 開(kāi)源的數(shù)據(jù)采集&流批一體化工具,提供數(shù)據(jù)采集、數(shù)據(jù)清洗轉(zhuǎn)換處理和數(shù)據(jù)入庫(kù)以及數(shù)據(jù)指標(biāo)統(tǒng)計(jì)計(jì)算流批一體化處理功能。
bboss-datatran 數(shù)據(jù)同步作業(yè)采用java語(yǔ)言開(kāi)發(fā),小巧而精致,同時(shí)又可以采用java提供的所有功能和現(xiàn)有組件框架,隨心所欲地處理和加工海量存量數(shù)據(jù)、實(shí)時(shí)增量數(shù)據(jù),實(shí)現(xiàn)流批一體數(shù)據(jù)處理功能;可以根據(jù)數(shù)據(jù)規(guī)模及同步性能要求,按需配置和調(diào)整數(shù)據(jù)采集同步作業(yè)所需內(nèi)存、工作線程、線程隊(duì)列大小;可以將作業(yè)獨(dú)立運(yùn)行,亦可以將作業(yè)嵌入基于java開(kāi)發(fā)的各種應(yīng)用匯總運(yùn)行;通過(guò)作業(yè)執(zhí)行控制API、任務(wù)狀態(tài)監(jiān)控metircs api,可以定制化開(kāi)發(fā)一些符合自己要求的同步作業(yè)任務(wù)監(jiān)控管理功能,提供作業(yè)啟動(dòng)、暫停(pause)、繼續(xù)(resume)、停止控制功能,輕松定制一款屬于自己的ETL管理工具。
工具可以靈活定制具備各種功能的數(shù)據(jù)采集統(tǒng)計(jì)作業(yè)
1) 只采集和處理數(shù)據(jù)作業(yè)
2) 采集和處理數(shù)據(jù)、指標(biāo)統(tǒng)計(jì)計(jì)算混合作業(yè)
3) 采集數(shù)據(jù)只做指標(biāo)統(tǒng)計(jì)計(jì)算作業(yè)
指標(biāo)計(jì)算特點(diǎn)
1) 支持時(shí)間維度和非時(shí)間維度指標(biāo)計(jì)算
2) 時(shí)間維度指標(biāo)計(jì)算:支持指定統(tǒng)計(jì)時(shí)間窗口,單位到分鐘級(jí)別
3) 一個(gè)指標(biāo)支持多個(gè)維度和多個(gè)度量字段計(jì)算,多個(gè)維度字段值構(gòu)造成指標(biāo)的唯一指標(biāo)key,支持有限基數(shù)key和無(wú)限基數(shù)key指標(biāo)計(jì)算
4) 一個(gè)作業(yè)可以支持多種類(lèi)型的指標(biāo),每種類(lèi)型指標(biāo)支持多個(gè)指標(biāo)計(jì)算
5)支持準(zhǔn)實(shí)時(shí)指標(biāo)統(tǒng)計(jì)計(jì)算和離線指標(biāo)統(tǒng)計(jì)計(jì)算
6)可以從不同的數(shù)據(jù)輸入來(lái)源獲取需要統(tǒng)計(jì)的指標(biāo)數(shù)據(jù),亦可以將指標(biāo)計(jì)算結(jié)果保存到各種不同的目標(biāo)數(shù)據(jù)源
增量數(shù)據(jù)采集,默認(rèn)基于sqlite數(shù)據(jù)庫(kù)管理增量采集狀態(tài),可以配置到其他關(guān)系數(shù)據(jù)庫(kù)管理增量采集狀態(tài),提供對(duì)多種不同數(shù)據(jù)來(lái)源增量采集機(jī)制:
1) 基于數(shù)字字段增量采集:各種關(guān)系數(shù)據(jù)庫(kù)、Elasticsearch、MongoDB、Clickhouse等
2) 基于時(shí)間字段增量采集:各種關(guān)系數(shù)據(jù)庫(kù)、Elasticsearch、MongoDB、Clickhouse、HBase等,基于時(shí)間增量還可以設(shè)置一個(gè)截止時(shí)間偏移量,比如采集到當(dāng)前時(shí)間前十秒的增量數(shù)據(jù),避免漏數(shù)據(jù),支持納秒級(jí)精度數(shù)據(jù)同步
3) 基于文件內(nèi)容位置偏移量:文本文件、日志文件基于采集位置偏移量做增量
4) 基于ftp文件增量采集:基于文件級(jí)別,下載采集完的文件就不會(huì)再采集
5)支持mysql binlog,實(shí)現(xiàn)mysql增刪改實(shí)時(shí)增量數(shù)據(jù)采集,支持master/slave監(jiān)聽(tīng)、binlog日志文件直接采集兩種模式
可以把 bboss-datatran看成是一個(gè)簡(jiǎn)單的、輕量級(jí)的數(shù)據(jù)同步框架,亦可以把他當(dāng)做一個(gè)小組件,只需導(dǎo)入一個(gè)maven坐標(biāo),參考提供的一系列案例,就可以輕松愉快地開(kāi)發(fā)出一個(gè)非常棒的數(shù)據(jù)采集、加工、入庫(kù)、分發(fā)、上傳的、具備增量狀態(tài)管理功能的數(shù)據(jù)采集同步作業(yè),同時(shí)還可以在idea、eclipse中進(jìn)行debug調(diào)測(cè),通過(guò)一些錯(cuò)誤回調(diào)處理機(jī)制,可以非常方便地洞悉同步過(guò)程中的各種數(shù)據(jù)問(wèn)題、處理錯(cuò)誤和異常;依賴(lài)jdk環(huán)境,無(wú)需額外安裝其他工具環(huán)境,就可以將bboss數(shù)據(jù)采集同步作業(yè)跑起來(lái)。
如果您還在:
- 苦于logstash、flume、filebeat之類(lèi)的開(kāi)源工具無(wú)法滿足復(fù)雜的、海量數(shù)據(jù)自定義加工處理場(chǎng)景;
- 苦于無(wú)法調(diào)用企業(yè)現(xiàn)有服務(wù)和庫(kù)來(lái)處理加工數(shù)據(jù);
- 苦于因項(xiàng)目投入有限、進(jìn)度緊,急需一款功能強(qiáng)大、上手快、實(shí)施簡(jiǎn)單的數(shù)據(jù)交換工具
- 苦于尋求數(shù)據(jù)采集和流批一體數(shù)據(jù)處理和指標(biāo)統(tǒng)計(jì)計(jì)算于一體的數(shù)據(jù)處理計(jì)算框架
那么bboss-datatran將是一個(gè)不錯(cuò)的選擇。
文件輸入和輸出插件:支持大量文件并行采集、增量/全量采集,快速、穩(wěn)定、高效
采用標(biāo)準(zhǔn)的輸入輸出異步管道來(lái)處理數(shù)據(jù)
案例大全
https://esdoc.bbossgroups.com/#/bboss-datasyn-demo
功能特點(diǎn)
1.支持多種數(shù)據(jù)源之間的數(shù)據(jù)同步
2.支持多種數(shù)據(jù)導(dǎo)入方式
- 批量數(shù)據(jù)導(dǎo)入
- 批量數(shù)據(jù)多線程并行導(dǎo)入
- 定時(shí)全量(串行/并行)數(shù)據(jù)導(dǎo)入
- 定時(shí)增量(串行/并行)數(shù)據(jù)導(dǎo)入
3.支持的數(shù)據(jù)庫(kù)和消息中間件類(lèi)型
數(shù)據(jù)庫(kù): mysql,maridb,postgress,oracle ,sqlserver,db2,tidb,hive,clickhouse,mongodb、HBase、elasticsearch、達(dá)夢(mèng)等
消息中間件:kafka 1x,kafka 2x
4.Elasticsearch版本兼容性
Elasticsearch 1.x,2.x,5.x,6.x,7.x,8.x+
5.支持海量PB級(jí)數(shù)據(jù)同步導(dǎo)入Elasticsearch
6.支持將ip轉(zhuǎn)換為對(duì)應(yīng)的運(yùn)營(yíng)商/省份城市/經(jīng)緯度坐標(biāo)位置信息
7.支持設(shè)置數(shù)據(jù)bulk導(dǎo)入任務(wù)結(jié)果處理回調(diào)函數(shù),對(duì)每次bulk任務(wù)的結(jié)果進(jìn)行成功和失敗反饋,然后針對(duì)失敗的bulk任務(wù)通過(guò)error和exception方法進(jìn)行相應(yīng)處理
8.提供詳細(xì)的數(shù)據(jù)同步任務(wù)監(jiān)控指標(biāo),可監(jiān)控作業(yè)任務(wù)處理總記錄數(shù)、成功記錄數(shù)、Ignore記錄數(shù)、失敗記錄數(shù),支持自行將任務(wù)監(jiān)控指標(biāo)數(shù)據(jù)進(jìn)行存儲(chǔ)或者轉(zhuǎn)發(fā)到kafka
9.支持多種定時(shí)任務(wù)執(zhí)行引擎
- jdk timer (內(nèi)置)
- quartz
- xxl-job分布式調(diào)度引擎,基于分片調(diào)度機(jī)制實(shí)現(xiàn)海量數(shù)據(jù)快速同步能力
10.支持兩種作業(yè)運(yùn)行方式
- 嵌入到應(yīng)用中運(yùn)行,基于quartz和jdk timer調(diào)度的作業(yè)都可以運(yùn)行在這種模式下,參考文檔:spring boot運(yùn)行案例
- 獨(dú)立發(fā)布包運(yùn)行,基于quartz和xxl-job,jdk timer調(diào)度的作業(yè)都可以運(yùn)行在這種模式下,參考文檔:作業(yè)發(fā)布
11.基于java語(yǔ)言開(kāi)發(fā)和發(fā)布數(shù)據(jù)同步作業(yè)
12.提供了基于gradle管理的作業(yè)開(kāi)發(fā)模板工程,以方便大家快速構(gòu)建和發(fā)布自己的數(shù)據(jù)同步作業(yè):
https://gitee.com/bboss/bboss-datatran-demo
總之bboss-datatran是一款高度靈活的數(shù)據(jù)交換工具,基于bboss-datatran可以快速實(shí)現(xiàn)開(kāi)發(fā)高效而強(qiáng)大的數(shù)據(jù)同步作業(yè),以及構(gòu)建在其上的數(shù)據(jù)交換產(chǎn)品。
