日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

【数据蒋堂】第15期:开放的计算能力为数据库瘦身

發(fā)布時(shí)間:2025/7/14 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据蒋堂】第15期:开放的计算能力为数据库瘦身 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

我們在上一期談到,數(shù)據(jù)庫的臃腫,也就是過多的中間表以及相關(guān)存儲(chǔ)過程,是由于其計(jì)算封閉性造成的。如果能夠?qū)崿F(xiàn)獨(dú)立的計(jì)算引擎,使計(jì)算不再依賴于數(shù)據(jù)庫提供,那么就可以為數(shù)據(jù)庫瘦身了。

內(nèi)部來源的中間數(shù)據(jù)不必再以數(shù)據(jù)表的形式落地在數(shù)據(jù)庫中,而可以放到文件系統(tǒng)中,由外部計(jì)算引擎提供進(jìn)一步的計(jì)算能力。對于只讀的中間數(shù)據(jù),使用文件存儲(chǔ)時(shí)不需要考慮再改寫,可以更為緊致并采用一定的壓縮手段,而且在訪問時(shí)也不必考慮事務(wù)一致性,機(jī)制大為簡化,這樣能獲得比數(shù)據(jù)庫更好多的吞吐性能。文件系統(tǒng)還可以采用樹形組織方案,將各個(gè)應(yīng)用(模塊)的中間數(shù)據(jù)分類管理好,使更方便,并且可使中間數(shù)據(jù)將從屬于應(yīng)用模塊,不會(huì)被其它模塊訪問到。當(dāng)有模塊修改或下線時(shí),相應(yīng)的中間數(shù)據(jù)可以跟隨修改,而不必?fù)?dān)心被共享而產(chǎn)生的耦合問題。用于生成中間數(shù)據(jù)的存儲(chǔ)過程也可以移到數(shù)據(jù)庫外部,作為應(yīng)用程序的一部分,同樣不會(huì)產(chǎn)生耦合問題。

外部來源的中間表也可以減少甚至取消。ETL過程的E、T步驟可以直接在數(shù)據(jù)庫外部由計(jì)算引擎實(shí)施,在完成清洗轉(zhuǎn)換之后再加載進(jìn)數(shù)據(jù)庫。E、T步驟中不占用數(shù)據(jù)庫的計(jì)算資源,當(dāng)然也不需要建立中間表來保存這些數(shù)據(jù),數(shù)據(jù)庫只要保存最終需要的結(jié)果即可。

多樣性數(shù)據(jù)源的數(shù)據(jù)呈現(xiàn)也可以直接由計(jì)算引擎實(shí)現(xiàn)數(shù)據(jù)源和數(shù)據(jù)庫的混合計(jì)算,這樣就不必將外部數(shù)據(jù)源導(dǎo)入數(shù)據(jù)庫,有效減少中間表。在數(shù)據(jù)呈現(xiàn)時(shí)由計(jì)算引擎臨時(shí)向數(shù)據(jù)源發(fā)出取數(shù)指令以獲得最新的數(shù)據(jù),還可以獲得更好的實(shí)時(shí)性,而采用中間表方式一般只能定期把外部數(shù)據(jù)源轉(zhuǎn)入,無法看到最新的外部數(shù)據(jù)。而且,不將外部數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫,還能繼續(xù)利用原數(shù)據(jù)源的某些優(yōu)勢,比如NoSQL數(shù)據(jù)庫對于按鍵值查找有很好的性能,還能較好地解決數(shù)據(jù)結(jié)構(gòu)多樣性的問題。另外,專門設(shè)計(jì)的計(jì)算引擎如果再能處理好XML,json這類多層數(shù)據(jù),在計(jì)算描述上也比傳統(tǒng)的關(guān)系數(shù)據(jù)庫更有優(yōu)勢。

除了必須的計(jì)算能力本身之外,要用于數(shù)據(jù)庫瘦身的計(jì)算引擎必須擁有較好開放性和可集成性。

開放性是指計(jì)算能力并不依賴于某種存儲(chǔ)體系,而可以計(jì)算各種來源的數(shù)據(jù),比如文件系統(tǒng)中的數(shù)據(jù),這樣就能利用適合的存儲(chǔ)方案來組織管理中間數(shù)據(jù)。如果計(jì)算體系要求特有的數(shù)據(jù)存儲(chǔ)體系(比如數(shù)據(jù)庫),那只是把數(shù)據(jù)庫的臃腫換了一個(gè)地方繼續(xù)臃腫。可集成性是指計(jì)算能力可以嵌入到應(yīng)用程序中,成為應(yīng)用的一部分,而不能象數(shù)據(jù)庫那樣是個(gè)獨(dú)立的進(jìn)程,這樣就不會(huì)被其它應(yīng)用(模塊)共享,避免出現(xiàn)應(yīng)用間的耦合問題。

從這個(gè)意義上講,Hadoop體系(包括Spark)雖然有一定的計(jì)算能力,但并不合適充當(dāng)開放計(jì)算引擎的作用。Hadoop有一定的開放性,可以計(jì)算體系外的數(shù)據(jù),但并不常用,而且性能較差;Hadoop是以獨(dú)立進(jìn)程方式運(yùn)行的龐大體系,基本上沒有可集成性,很難完全嵌入到應(yīng)用程序中。

有了開放可集成的計(jì)算能力,相當(dāng)于實(shí)現(xiàn)了計(jì)算和存儲(chǔ)的分離,在設(shè)計(jì)應(yīng)用的體系結(jié)構(gòu)時(shí)就會(huì)更為得心應(yīng)手。不必為了獲得計(jì)算能力而部署多余的數(shù)據(jù)庫或者擴(kuò)容數(shù)據(jù)庫,讓數(shù)據(jù)庫專心做它最合適做的事情,將資源效用發(fā)揮到最大。


原文發(fā)布時(shí)間為:2017-7-18 本文作者:蔣步星 本文來自云棲社區(qū)合作伙伴“數(shù)據(jù)蔣堂”,了解相關(guān)信息可以關(guān)注“數(shù)據(jù)蔣堂”微信公眾號

總結(jié)

以上是生活随笔為你收集整理的【数据蒋堂】第15期:开放的计算能力为数据库瘦身的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。