亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

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

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

瀏覽:118日期: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á)一下吧,要是真的沒有思路難道也必須得胡編亂造嗎?相信網(wǎng)站團(tuán)隊(duì)的出發(fā)點(diǎn)是好的,但是對(duì)于新人來(lái)說(shuō),很可能會(huì)因此棄用。最后一次,再不過(guò)就不用這個(gè)論壇了,實(shí)在是提問(wèn)好難。

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

初來(lái)乍到,第一次應(yīng)該是自己的排版太亂,導(dǎo)致審核沒有通過(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)一開發(fā)了一個(gè)管理平臺(tái),再下發(fā)給各個(gè)省市根據(jù)實(shí)際需求進(jìn)行二次開發(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ù)模塊沒有很好的方式能保證不遺漏增量數(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è)人的一些拙見,希望各位前輩多多指教。

問(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ī)制,如果沒有需應(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)文章:
主站蜘蛛池模板: 欧美三级美国一级 | 精品一区二区三区视频在线观看免 | 欧美三级香港三级日本三级 | 欧美大片一区 | 国产成人自拍在线 | 国产三级小视频在线观看 | 国产一级成人毛片 | 亚洲第一视频在线播放 | 老司机午夜在线视频免费观 | 欧美精品成人一区二区视频一 | 99热久久精品国产 | 性欧美巨大 | 国产中文在线视频 | 国产精品爽爽va在线观看无码 | 成年人网站免费 | 欧美成人午夜片一一在线观看 | 久久综合给会久久狠狠狠 | 免费观看性欧美毛片 | 欧美一级毛片不卡免费观看 | 美女18一级毛片免费看 | 国产香蕉在线视频一级毛片 | 99在线精品视频免费观里 | 九草视频在线 | 亚洲综合一区二区不卡 | 京东一热本色道久久爱 | 九九久久久久久久爱 | 亚洲一区二区三区四区在线观看 | 5x社区直接进入一区二区三区 | 99在线国产视频 | 黄a视频在线观看 | 久草资源在线视频 | 精品欧美成人bd高清在线观看 | 亚洲精品91 | 天天草综合| 国产午夜精品不卡视频 | 一个人看的www片免费视频中文 | 欧美做爱毛片 | 国产一级毛片视频 | 日韩一级a毛片欧美一级 | 一级特黄特色的免费大片视频 | 亚洲性在线观看 |