色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java - 如何設(shè)計(jì)大型分布式系統(tǒng)報(bào)表?

瀏覽:93日期:2022-06-11 11:19:11

問(wèn)題描述

真是無(wú)語(yǔ)了,第二次提交又被拒絕了,理由是“該內(nèi)容屬于技術(shù)討論,建議就該問(wèn)題,簡(jiǎn)單地談一談你的想法思路,以便更好地和他人做一個(gè)技術(shù)交流“,要是第一次的是因?yàn)榕虐娴脑蛭乙舱J(rèn)了,想發(fā)個(gè)問(wèn)答貼怎么就這么難呢?行吧,就按要求稍微表達(dá)一下吧,要是真的沒(méi)有思路難道也必須得胡編亂造嗎?相信網(wǎng)站團(tuán)隊(duì)的出發(fā)點(diǎn)是好的,但是對(duì)于新人來(lái)說(shuō),很可能會(huì)因此棄用。最后一次,再不過(guò)就不用這個(gè)論壇了,實(shí)在是提問(wèn)好難。

以下是原文,最后將附上部分自己的思路。

初來(lái)乍到,第一次應(yīng)該是自己的排版太亂,導(dǎo)致審核沒(méi)有通過(guò),后面還為此特地學(xué)些了markdown的語(yǔ)法。廢話不多說(shuō),進(jìn)入正文。

系統(tǒng)背景

某大型上市國(guó)有企業(yè),在各個(gè)省市都有分公司,為了統(tǒng)一管理全國(guó)各地市分公司子公司業(yè)務(wù)過(guò)程及財(cái)務(wù)數(shù)據(jù),統(tǒng)一開(kāi)發(fā)了一個(gè)管理平臺(tái),再下發(fā)給各個(gè)省市根據(jù)實(shí)際需求進(jìn)行二次開(kāi)發(fā),以取代各地市原有的分散的財(cái)務(wù)系統(tǒng)、業(yè)務(wù)管理系統(tǒng)等。

平臺(tái)介紹

前臺(tái)用angularJs,bootstrap,html,后臺(tái)用springMVC,MyBatis,數(shù)據(jù)庫(kù)有Oracle有Mysql,rpc框架用dubbo,注冊(cè)中心用zookeeper,緩存用redis,系統(tǒng)整體架構(gòu)為分布式+集群。整個(gè)系統(tǒng)包含了以“項(xiàng)目管理”,“合同管理”,“采購(gòu)管理”,“銷售管理”,“核算管理” 5個(gè)模塊為主的多個(gè)業(yè)務(wù)模塊。

現(xiàn)有需求

基于現(xiàn)有業(yè)務(wù),做100+張報(bào)表。報(bào)表模塊將有獨(dú)立的數(shù)據(jù)庫(kù)及應(yīng)用。

技術(shù)難點(diǎn)

如何建大表供所有報(bào)表使用?業(yè)務(wù)部分理清楚自然是最基本的,但是每個(gè)模塊之間通過(guò)接口來(lái)調(diào)用服務(wù)。

如何從分布式的數(shù)據(jù)庫(kù)抽取大數(shù)據(jù)量?每個(gè)模塊有各自的數(shù)據(jù)庫(kù),部分使用oracle,部分mysql,數(shù)據(jù)量級(jí)別在千萬(wàn)以上。

數(shù)據(jù)的同步方式又應(yīng)該怎樣比較合理?以什么技術(shù)實(shí)現(xiàn)? 增量同步的難度較大,從業(yè)務(wù)模塊沒(méi)有很好的方式能保證不遺漏增量數(shù)據(jù);若是全量數(shù)據(jù),每次數(shù)據(jù)的量又實(shí)在是太大了。另外報(bào)表展示的時(shí)候以及數(shù)據(jù)導(dǎo)出又如何能保證其性能?

第一次做這么大的項(xiàng)目,實(shí)在是有些摸不著頭腦。可能表達(dá)的不太清楚,有需要補(bǔ)充的地方歡迎留言。希望論壇里的各位前輩多多指教,不勝感激。

ps: markdown好多地方還不太明白,比如有序無(wú)序列表嵌套的時(shí)候?yàn)槭裁磳?shí)心的黑點(diǎn)變成空心的了?為什么無(wú)序列表?yè)Q行只有當(dāng)前行有效,而當(dāng)前行有效的時(shí)候上面已經(jīng)換過(guò)行的又無(wú)效了?有點(diǎn)不懂,難道說(shuō)不同的編輯器的語(yǔ)法還不一樣?還有怎么才能看到人家發(fā)布的帖子的markdown怎么寫的?能看到的話好歹也能學(xué)習(xí)一下.

個(gè)人設(shè)計(jì)思路

分析所有報(bào)表的統(tǒng)計(jì)維度和共同字段,在報(bào)表模塊新建一個(gè)oracle用戶,將所有字段根據(jù)模塊分表,作為報(bào)表的基礎(chǔ)大表;

需要考慮數(shù)據(jù)的抽取方式,目前我能想到的方式有兩種:

通過(guò)各個(gè)模塊提供接口,取數(shù)后插入至報(bào)表模塊基礎(chǔ)大表;優(yōu)點(diǎn):抽取規(guī)則好維護(hù);缺點(diǎn):性能太差;

通過(guò)DBLink將oracle數(shù)據(jù)庫(kù)和Mysql數(shù)據(jù)庫(kù)打通,用存儲(chǔ)過(guò)程直接將數(shù)據(jù)插入至基礎(chǔ)大表。優(yōu)點(diǎn):性能提升;缺點(diǎn):規(guī)則由他人維護(hù)將變得很難。

數(shù)據(jù)每次全量同步。優(yōu)點(diǎn):邏輯簡(jiǎn)單;缺點(diǎn):數(shù)據(jù)同步量太大,時(shí)間太久。

以上是個(gè)人的一些拙見(jiàn),希望各位前輩多多指教。

問(wèn)題解答

回答1:

你說(shuō)的需求基本算是建設(shè)數(shù)據(jù)倉(cāng)庫(kù),基本的思路是:

1、數(shù)據(jù)倉(cāng)庫(kù)和業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫(kù)獨(dú)立,數(shù)據(jù)倉(cāng)庫(kù)的建模一般要分層設(shè)計(jì),不是簡(jiǎn)單的建成大表。普遍會(huì)分為緩沖層、基礎(chǔ)層、聚合層、報(bào)表層等,每層的側(cè)重點(diǎn)不太一樣,基礎(chǔ)層還是以范式模型為主,聚合層就要普遍要做數(shù)據(jù)冗余,報(bào)表層一般是列很多的寬表設(shè)計(jì)。

2、數(shù)據(jù)同步,在數(shù)據(jù)量大的情況下必須有增量機(jī)制,如果沒(méi)有需應(yīng)用系統(tǒng)改造。

3、同步方法有幾種思路:

a. 用dblink打通數(shù)據(jù)庫(kù),人工寫存儲(chǔ)過(guò)程。b. 用informatic powercenter 或kettle類似的ETL工具c. 專用的數(shù)據(jù)庫(kù)層同步軟件,如oracle的ogg等

相關(guān)文章:
主站蜘蛛池模板: a级毛片免费在线观看 | 欧美一级毛片免费高清的 | 亚洲成人偷拍 | 精品一区二区三区中文 | 色www永久免费网站国产 | 在线 中文字幕 日韩 欧美 | 久草在线中文最新视频 | 国内精品国语自产拍在线观看55 | 亚洲国产一区二区三区最新 | 中文字幕日本一区波多野不卡 | 69国产成人综合久久精品91 | 国产又粗又黄又湿又大 | 亚洲图片一区二区三区 | 色老久久精品偷偷鲁一区 | 91视频综合网| 尤物蜜芽福利国产污在线观看 | 国产欧美视频一区二区三区 | 天堂中文资源在线8 | 欧美一级片免费观看 | 国产一区二区三区在线观看精品 | 91国内在线 | 亚洲人成人毛片无遮挡 | 日本高清一本二本三本如色坊 | 最近最新中文字幕免费的一页 | 日韩一区二区三区四区 | 在线亚洲欧美日韩 | 欧美怡红院免费的视频 | 国产日韩欧美综合一区二区三区 | 亚洲精品一级一区二区三区 | 欧美理论片在线观看一区二区 | 国产美女在线精品亚洲二区 | 91精品国产91热久久久久福利 | 一级欧美视频 | 91成人啪国产啪永久地址 | 精品视频一区二区三三区四区 | 亚洲美女网址 | 精品久久久久久中文字幕一区 | 日本www在线视频 | 国产欧美日韩三级 | 国内视频自拍 | 国产激情一区二区三区四区 |