優(yōu)惠活動(dòng) - 12周年慶本月新客福利
                                      優(yōu)惠活動(dòng) - 12周年慶本月新客福利
                                      優(yōu)惠活動(dòng) - 12周年慶本月新客福利

                                      刪除事務(wù)處理中的商業(yè)智能

                                      把業(yè)務(wù)系統和產(chǎn)品系統分開(kāi),刪除數據庫系統中的產(chǎn)品智能??紤]公司的內部需求以及在產(chǎn)品內或產(chǎn)品間傳翰數據的情況。從數據庫中刪除存儲過(guò)程,把它們放在應用邏輯中。不要在企業(yè)系統和產(chǎn)品系統之間進(jìn)行同步調用。把應用邏輯放在數據庫中成本很高且難以擴展。把企業(yè)系統和產(chǎn)品系統綁定在一起,成本也很高,不僅難以擴展,可用性也令人擔憂(yōu)。

                                      由于許可和單一系統的特性,數據庫和內部企業(yè)系統的擴展成本會(huì )很高。因此,我們希望它們能專(zhuān)注于執行特定的任務(wù)。就數據庫而言,我們希望它們能夠專(zhuān)注于事務(wù)而不是產(chǎn)品智能。就后臺辦公系統(商業(yè)智能)而言,我們不希望產(chǎn)品與系統的擴展能力聯(lián)系在一起。對于業(yè)務(wù)系統的數據,采用異步傳輸模式。



                                      我們常常告訴客戶(hù),要避免在關(guān)系數據庫中使用存儲過(guò)程。他們的第一反應通常是:“你們?yōu)槭裁催@么討厭存儲過(guò)程呢?”其實(shí)我們并不討厭存儲過(guò)程,我們在很多情況下也在用它們。但問(wèn)題在于,存儲過(guò)程經(jīng)常在解決方案中被過(guò)度使用,而這種過(guò)度使用有時(shí)會(huì )造成系統中的擴展瓶。既然這個(gè)原則強調的是數據庫方面的問(wèn)題,那為什么不把這個(gè)原則放在數據庫那章中呢?事實(shí)上我們關(guān)注存儲過(guò)程的真正原因是,我們主張把商業(yè)智能和產(chǎn)品智能與事務(wù)處理區分開(kāi)來(lái)。一般說(shuō)來(lái),這個(gè)主張可以進(jìn)一步概括為“把相似的事務(wù)放在一起(或者說(shuō)把不同的事務(wù)分開(kāi))以獲取最大的可用性和可擴展性以及最低的成本”。這樣的表述可能不太好理解,因此讓我們仍以存儲過(guò)程和數據庫為例,說(shuō)明為什么需要這種區分。

                                      在你的架構中、數據庫可能是最貴的系統或服務(wù)之一。即使采用的是開(kāi)源數據庫,這些系統所在的服務(wù)器也可能會(huì )連接到成本相對較高的存儲解決方案(相對于你其他的解決方案而言),它們具有最快、最大數量的處理器以及最大數量的內存。在成熟的環(huán)境中中,這些系統通常都被用于做一件事情、即執行關(guān)系操作,并把事務(wù)盡可能快地提交給穩定的存儲引。這些系統上的每個(gè)計算周期的成本都比架構中的其他解決方案或服務(wù)(如應用服務(wù)器或web服務(wù)器)要高。這些系統是某些服務(wù)的匯集點(diǎn)、也是泳道的定義點(diǎn)。在極端情況下,如在架構的初期,這些系統所占的比例可能更為巨大的,那么它們顯然是影響整個(gè)環(huán)境的擴展的決定性因素。

                                      出于以上這些原因,把這種昂貴的計算資源用于業(yè)務(wù)邏輯幾乎是毫無(wú)意義的。這時(shí)每個(gè)事務(wù)所花的成本會(huì )增加,因為處理這些事務(wù)的系統的操作成本更為昂貴了。同日時(shí)這個(gè)系統本身也可能是影響我們擴展的決定性因素,那么為什么我們還要浪費生產(chǎn)力在它上面運行與事務(wù)處理不相關(guān)的操作呢?因此,我們應該讓這些系統只處理與數據庫(或相關(guān)的存儲或 NOSQL)相關(guān)的事務(wù),以便讓它們做自己最擅長(cháng)的事情。這樣我們不僅提高了可擴展性,還能減少擴展成本。

                                      在數據庫這個(gè)例子中,我們把不相似的服各區分開(kāi)可以應用到架構中的其他環(huán)節。我們很可能會(huì )有后臺辦公系統,諸如發(fā)送和接收電子郵件(與平臺無(wú)關(guān))的系統、做總賬和其他會(huì )計事務(wù)的系統、市場(chǎng)細分的系統,以及支持客戶(hù)戶(hù)的運維系統,等等。我們很可能會(huì )把這些系統一股腦地放到我們的平臺上。我們可能希望電子商務(wù)系統中的一筆交易能立刻顯示在我們CFO的ERP系統中,或者我們想讓客戶(hù)支持代表能立刻看到它,以免這筆交易出問(wèn)題。同樣地,如果我們運行的是一個(gè)廣告平臺,那么我們可能想實(shí)時(shí)分析數據倉庫中的數據,以便給出更好的廣告建議。有很多原因促使我們想把業(yè)務(wù)流程與產(chǎn)品平臺中的系統混在一起。但是,我們的建議很簡(jiǎn)單:不要這樣做。

                                      理想的情況是,讓這些系統都能根據自己的需要獨立地進(jìn)行擴展。如果把這些系統綁定在一起,那么當一個(gè)系統需要擴展時(shí),所有系統都要同時(shí)擴展。在某些情況下,如用數據庫執行業(yè)務(wù)邏輯,系統的擴展成本會(huì )更高。許可證是與CPU相關(guān)聯(lián)的ERP系統就經(jīng)常會(huì )發(fā)生這種情況。如果每個(gè)事務(wù)都同步調用ERP系統,那么擴展成本一定會(huì )提高。此外,把系統以串聯(lián)方式加入平臺,也會(huì )降低產(chǎn)品的可用性,那么為什么我們還要如此做呢?

                                      就像不應該把產(chǎn)品智能放在數據庫中一樣,商業(yè)智能也不應該綁定到產(chǎn)品事務(wù)上。在許多情況下,我們需要讓數據駐留在我們的產(chǎn)品中而且此時(shí)我們最好讓數據駐留在產(chǎn)品中。我們可以從其他系統中選擇數據集,在產(chǎn)品中正確地表示出來(lái)。通常,最好用一種新的或不同的方式表示這些數據,有時(shí)是采用不同的范式。我們經(jīng)常需要把數據從產(chǎn)品移到后臺的業(yè)務(wù)系統中,如客戶(hù)支持系統、市場(chǎng)營(yíng)銷(xiāo)系統、數據倉庫和ERP系統。在這些情況下,我們也希望能夠用不同的方式總結或表示數據。此外,為了提高可用性,我們希望以異步方式在系統間傳輸這些數據。為此可以采用ETL(提取、轉換、加載)系統,甚至還有很多開(kāi)源工具可以幫助你構建自己的ETL過(guò)程。

                                      記住,網(wǎng)站制作模式并不意味著(zhù)是“舊”數據。沒(méi)有理由選擇過(guò)期的數據元素在系統間進(jìn)行傳輸。此外,還可以把數據發(fā)布到某種消息總線(xiàn)上,以供其他系統使用。成本最低的解決方案是批提取,不過(guò)如果時(shí)間有限不允許采用這種方法,那么消息總線(xiàn)絕對是個(gè)好選擇。

                                      本文地址:http://www.havencoinwallet.com//article/3525.html
                                      相關(guān)文章:
                                      最新文章:
                                      国产免费丝袜调教视频爱剪辑|国产小受18asian|国产福利91精品一区二区三区|久久久青草大香|欧美丰满熟妇xxxx性