成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

第14期:計(jì)算封閉性導(dǎo)致臃腫的數(shù)據(jù)庫(kù)

企業(yè)動(dòng)態(tài)
許多大型用戶的數(shù)據(jù)庫(kù)(倉(cāng)庫(kù))在運(yùn)行多年之后,都會(huì)積累出很多的數(shù)據(jù)表,嚴(yán)重者數(shù)以萬(wàn)計(jì)。這些表是真地業(yè)務(wù)需要嗎需要嗎?業(yè)務(wù)會(huì)復(fù)雜到需要成千上萬(wàn)的表才能描述嗎?

【數(shù)據(jù)蔣堂】第14期:計(jì)算封閉性導(dǎo)致臃腫的數(shù)據(jù)庫(kù)

許多大型用戶的數(shù)據(jù)庫(kù)(倉(cāng)庫(kù))在運(yùn)行多年之后,都會(huì)積累出很多的數(shù)據(jù)表,嚴(yán)重者數(shù)以萬(wàn)計(jì)。這些數(shù)據(jù)表年代久遠(yuǎn),有些已經(jīng)忘記建設(shè)原因,甚至可能已不再有用,但因?yàn)楹茈y確認(rèn)而不敢刪除。這給運(yùn)維工作帶來(lái)巨大的負(fù)擔(dān)。伴隨著這些表還有大量的存儲(chǔ)過(guò)程仍在不斷地向這些表更新數(shù)據(jù),占用大量計(jì)算資源,經(jīng)常要迫使數(shù)據(jù)庫(kù)擴(kuò)容。

這些表是真地業(yè)務(wù)需要嗎需要嗎?業(yè)務(wù)會(huì)復(fù)雜到需要成千上萬(wàn)的表才能描述嗎?

有過(guò)開(kāi)發(fā)經(jīng)驗(yàn)的人都知道這不大可能,幾百個(gè)表就能描述相當(dāng)復(fù)雜的業(yè)務(wù)了。這些眾多的表絕大多數(shù)都是所謂的中間表,并不是用來(lái)存儲(chǔ)基礎(chǔ)數(shù)據(jù)的。

那么,為什么會(huì)有中間表?中間表是用來(lái)做什么的?

一般來(lái)說(shuō),中間表會(huì)有內(nèi)部和外部?jī)煞N來(lái)源。

內(nèi)部產(chǎn)生的中間表大多是為數(shù)據(jù)呈現(xiàn)(報(bào)表或查詢)服務(wù)的。原始數(shù)據(jù)量很大時(shí),直接基于原始數(shù)據(jù)計(jì)算匯總信息時(shí)的性能會(huì)很差,用戶體驗(yàn)惡劣。這時(shí),我們會(huì)先把一些匯總結(jié)果事先計(jì)算出,再基于這些中間結(jié)果產(chǎn)生報(bào)表,用戶體驗(yàn)就會(huì)好很多。而這些中間數(shù)據(jù)就會(huì)以中間表的形式存儲(chǔ)。有時(shí)候是因?yàn)橛?jì)算過(guò)程很復(fù)雜,在生成報(bào)表時(shí)臨時(shí)計(jì)算會(huì)使報(bào)表開(kāi)發(fā)過(guò)于繁瑣,也會(huì)采用中間表事先計(jì)算好。這類中間表都會(huì)伴隨著存儲(chǔ)過(guò)程去定時(shí)更新數(shù)據(jù),不僅占用存儲(chǔ)空間,還會(huì)消耗計(jì)算資源。而且,報(bào)表是業(yè)務(wù)穩(wěn)定性比較差的業(yè)務(wù),會(huì)經(jīng)常修改和增加,隨之而生的中間表也會(huì)越來(lái)越多。

那么,為什么要把中間數(shù)據(jù)以數(shù)據(jù)庫(kù)表的形式存儲(chǔ)呢?這主要是為了獲得進(jìn)一步的計(jì)算能力。數(shù)據(jù)呈現(xiàn)時(shí),并不能簡(jiǎn)單地把計(jì)算好的中間數(shù)據(jù)直接取出來(lái)呈現(xiàn),而仍然需要做一輪簡(jiǎn)單些的計(jì)算,比如根據(jù)參數(shù)進(jìn)行過(guò)濾,有時(shí)還有再匯總的需求。而這些計(jì)算是數(shù)據(jù)庫(kù)比較適合實(shí)現(xiàn)的,如果把中間數(shù)據(jù)保存成文件,則將失去計(jì)算能力,所以程序員會(huì)習(xí)慣于使用中間表。

來(lái)源于外部的中間表又有兩種情況,一種是在ETL過(guò)程中產(chǎn)生的。ETL過(guò)程中常常會(huì)涉及到數(shù)據(jù)庫(kù)的數(shù)據(jù),正常的ETL過(guò)程應(yīng)當(dāng)是E、T、L這三個(gè)步驟逐步進(jìn)行,也就是先清洗轉(zhuǎn)換之后再加載進(jìn)數(shù)據(jù)庫(kù),***在數(shù)據(jù)庫(kù)中的只是合理的結(jié)果數(shù)據(jù)。但是,E(清洗)和T(轉(zhuǎn)換)這兩個(gè)步驟中會(huì)涉及到大量數(shù)據(jù)計(jì)算,而在數(shù)據(jù)庫(kù)外實(shí)施這些計(jì)算很不方便,所以實(shí)際情況就會(huì)是把涉及到的所有數(shù)據(jù)都先加載進(jìn)來(lái)然后再進(jìn)行清洗和轉(zhuǎn)換,ETL過(guò)程變成了ELT甚至LET。事先要加載的這些數(shù)據(jù)在關(guān)系數(shù)據(jù)庫(kù)中也必須以表的形式存儲(chǔ),這就使數(shù)據(jù)庫(kù)中增加了許多并非最終需要的中間表。

另一種情況是多樣性數(shù)據(jù)源造成的,這也是為數(shù)據(jù)呈現(xiàn)(報(bào)表查詢)服務(wù)的。現(xiàn)代應(yīng)用中的數(shù)據(jù)呈現(xiàn)經(jīng)常會(huì)涉及數(shù)據(jù)庫(kù)外的數(shù)據(jù),目前一般的做法是把庫(kù)外數(shù)據(jù)定時(shí)導(dǎo)入到數(shù)據(jù)庫(kù)中,然后就能和數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)一起運(yùn)算產(chǎn)生報(bào)表,否則很難實(shí)現(xiàn)數(shù)據(jù)庫(kù)內(nèi)外的數(shù)據(jù)的混合運(yùn)算。這當(dāng)然也會(huì)讓數(shù)據(jù)庫(kù)中多了一些表,而且,有些互聯(lián)網(wǎng)上取過(guò)來(lái)的數(shù)據(jù)常常是多層的json或XML格式,在關(guān)系數(shù)據(jù)庫(kù)中還要建立多個(gè)關(guān)聯(lián)的表來(lái)存儲(chǔ),會(huì)進(jìn)一步加劇中間表過(guò)多的問(wèn)題。

我們發(fā)現(xiàn)這幾種情況的中間表都有一個(gè)共同點(diǎn):就是要利用數(shù)據(jù)庫(kù)的計(jì)算能力。數(shù)據(jù)庫(kù)外缺乏強(qiáng)有力的計(jì)算能力,而數(shù)據(jù)庫(kù)的計(jì)算能力又是封閉的(它不能計(jì)算數(shù)據(jù)庫(kù)外的數(shù)據(jù)),這樣,為了獲得數(shù)據(jù)庫(kù)的計(jì)算能力,我們就只能把許多數(shù)據(jù)先裝入數(shù)據(jù)庫(kù),也就形成了中間表。

數(shù)據(jù)庫(kù)的存儲(chǔ)封閉性是有意義的,這樣可以確保庫(kù)內(nèi)數(shù)據(jù)滿足一條規(guī)則的約束性,保證數(shù)據(jù)的正確合理性。但計(jì)算能力的封閉性卻沒(méi)有什么必要,對(duì)于計(jì)算而言,本來(lái)也沒(méi)有庫(kù)內(nèi)庫(kù)外之分。但是數(shù)據(jù)庫(kù)的計(jì)算模型是建立在其存儲(chǔ)模型之上的,這就迫使其計(jì)算能力和存儲(chǔ)能力一起封閉了,為了獲得計(jì)算能力只能把數(shù)據(jù)庫(kù)搞臃腫。這不僅給管理造成麻煩,而且由于數(shù)據(jù)庫(kù)的存儲(chǔ)及計(jì)算資源都相對(duì)昂貴,僅僅是為了獲得計(jì)算能力就去擴(kuò)容或部署新數(shù)據(jù)庫(kù),在經(jīng)濟(jì)上也不劃算。

計(jì)算封閉性導(dǎo)致臃腫的數(shù)據(jù)庫(kù),而導(dǎo)致運(yùn)維困難的還有數(shù)據(jù)庫(kù)的另兩個(gè)技術(shù)機(jī)制。

數(shù)據(jù)庫(kù)是一個(gè)共享的獨(dú)立進(jìn)程,其計(jì)算能力在應(yīng)用外部,而不從屬于某個(gè)應(yīng)用。各個(gè)應(yīng)用共享數(shù)據(jù)庫(kù),都能訪問(wèn)數(shù)據(jù)庫(kù)的資源。某個(gè)應(yīng)用(模塊)中生成的中間表或存儲(chǔ)過(guò)程可能被另一個(gè)應(yīng)用(模塊)調(diào)用,這就造成了應(yīng)用(模塊)之間的耦合性,即使某個(gè)中間表的制造者已經(jīng)下線不用,但因?yàn)榭赡鼙粍e的應(yīng)用使用了而不能刪除。

數(shù)據(jù)庫(kù)的表還是一種線性組織。在條目數(shù)量不多時(shí)尚可,太多(幾千上萬(wàn)時(shí))就很難理解,人們一般會(huì)采用樹(shù)狀多層結(jié)構(gòu)來(lái)組織管理眾多的條目。但關(guān)系數(shù)據(jù)庫(kù)并不支持這種方案(有個(gè)模式概念可理解為只能分兩層),這時(shí)候就要給表較長(zhǎng)的命名來(lái)區(qū)別其分類,這一方面使用不便,另一方面對(duì)開(kāi)發(fā)管理水平要求很高,在工作較急迫時(shí)常常顧不上規(guī)范,而隨便起個(gè)名字先把任務(wù)完成再說(shuō),時(shí)間長(zhǎng)了,就會(huì)遺留大量的混亂中間表。

當(dāng)然,根本問(wèn)題還是在于計(jì)算封閉性。

責(zé)任編輯:趙寧寧 來(lái)源: 51CTO專欄
相關(guān)推薦

2017-07-19 06:37:18

數(shù)據(jù)庫(kù)計(jì)算存儲(chǔ)

2025-06-23 08:50:00

Java并發(fā)編程開(kāi)發(fā)

2018-03-05 08:13:13

臨時(shí)性計(jì)算編程語(yǔ)言

2017-06-14 23:08:29

報(bào)表數(shù)據(jù)計(jì)算層

2017-05-16 21:31:03

結(jié)構(gòu)化數(shù)據(jù)新模式

2018-03-14 07:47:41

大數(shù)據(jù)語(yǔ)法SQL

2011-08-15 13:48:52

大話ITiOSAndroid

2020-09-16 12:04:30

AWS數(shù)據(jù)庫(kù)

2009-12-01 10:20:16

2019-12-27 17:25:13

大咖來(lái)了數(shù)據(jù)安全

2018-07-20 11:10:21

數(shù)據(jù)庫(kù)事務(wù)隔離性

2020-03-14 16:37:09

數(shù)據(jù)庫(kù)IT技術(shù)

2017-08-09 16:13:48

SQL大數(shù)據(jù)語(yǔ)法

2011-03-01 16:00:08

java數(shù)據(jù)庫(kù)

2019-10-29 16:02:14

開(kāi)發(fā)者技能工具

2011-05-24 14:48:46

壓縮數(shù)據(jù)庫(kù)

2010-10-26 11:14:07

Oracle數(shù)據(jù)庫(kù)備份

2019-02-17 09:04:36

QQ微信馬化騰

2010-03-25 15:46:18

云計(jì)算

2024-01-01 16:16:26

點(diǎn)贊
收藏

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

主站蜘蛛池模板: 色综合一区二区三区 | 国产一二区免费视频 | 国产综合久久久久久鬼色 | 毛片视频免费 | 久久美女网 | 亚洲va在线va天堂va狼色在线 | 一区二区在线免费观看 | 国产亚洲一级 | 精久久久久 | 成人国产在线视频 | 亚洲性在线 | 午夜影院 | 亚洲欧美激情网 | 亚洲网站在线观看 | 国产免费av在线 | 在线观看av中文字幕 | 欧美国产一区二区三区 | 中文字幕一区二区三区精彩视频 | 久久久久久久久久久久91 | 国产精品一区二区在线播放 | 在线观看成年人视频 | 国产精品一级在线观看 | 亚洲精品国产电影 | 羞羞网站免费 | 在线观看日韩av | av中文字幕在线观看 | 婷婷久久久久 | 国产人成精品一区二区三 | 国产精品成人在线 | 99热视| 日韩在线一区二区 | 亚洲免费在线观看 | 羞羞在线观看视频 | 久久综合伊人一区二区三 | www.日韩| 精品免费视频 | 91在线一区 | 成人久久一区 | www.youjizz.com日韩| 羞羞视频免费在线 | 日韩网站在线观看 |