問:我們公司正在想辦法擴展現(xiàn)有的數(shù)據(jù)庫管理系統(tǒng)(DBMS)基礎(chǔ)設(shè)施,而且我們也在考慮如何以最佳方式來處理遺留數(shù)據(jù)的問題。為什么一家公司必須得把數(shù)據(jù)庫和數(shù)據(jù)倉庫分開呢?為什么不能只用一個大型數(shù)據(jù)庫來存儲當前的和歷史的所有數(shù)據(jù)呢?把所有數(shù)據(jù)都存儲在同一個數(shù)據(jù)庫中,會不會產(chǎn)生重大的安全問題?
答:我之所以要強烈建議你不要把所有數(shù)據(jù)都移到一個大型數(shù)據(jù)庫中,主要有以下幾個原因。首先,如果你把所有數(shù)據(jù)都放在一個數(shù)據(jù)庫中,那么此數(shù)據(jù)庫就會成為對惡意黑客而言極具吸引力的攻擊目標。這樣,黑客只需攻擊一個數(shù)據(jù)庫就可以了,如果他們成功潛入此該數(shù)據(jù)庫,那么他就可以訪問所有的歷史數(shù)據(jù),而不光是你的當前數(shù)據(jù)。
但持反對意見的人則認為,只運行一個數(shù)據(jù)庫可以節(jié)約成本,這樣公司就可以增加在實施最佳安全控制措施方面的預算,并且集中所有防御能力來保護這個唯一的數(shù)據(jù)庫。然而,在實際實施過程中,這種說法是站不住腳的。公司的數(shù)據(jù)庫需要提供交易和分析服務(wù),這意味著不同用戶的數(shù)量、任務(wù)和訪問要求將使安全配置過于復雜,會更容易出現(xiàn)錯誤配置和濫用的現(xiàn)象,很可能導致系統(tǒng)非常不安全。
例如,如果公司的數(shù)據(jù)庫是用來處理網(wǎng)上訂單的,那么就要保證互聯(lián)網(wǎng)用戶以及各個內(nèi)部部門(如客戶支持、決算和實現(xiàn)、以及諸如運送服務(wù)類的第三方供應(yīng)商)對所下的訂單擁有訪問權(quán)。如果公司只有一個數(shù)據(jù)庫,還必須制定一些形式來訪問銷售、營銷和研究部門。數(shù)據(jù)庫的最小特權(quán)安全原則要求減少訪問實時數(shù)據(jù)的用戶數(shù)量和類型,上述做法無疑是讓你背離了這條安全原則。
正如你所看到的,如果設(shè)立的用戶群體種類繁多,對這些群體設(shè)置中央數(shù)據(jù)庫的訪問權(quán)限和控制連接也將會相當復雜和困難,保護公司的數(shù)據(jù)庫安全并不像你預想的那樣簡單。我建議你把歷史數(shù)據(jù)移到數(shù)據(jù)倉庫,并為當前活動創(chuàng)建一個獨立的事務(wù)性數(shù)據(jù)庫,這樣二者的安全配置就都簡單了很多。例如,用于分析的數(shù)據(jù)倉庫,可以設(shè)計成執(zhí)行查詢的只讀系統(tǒng)。由于數(shù)據(jù)倉庫可以設(shè)計成專門處理復雜查詢的系統(tǒng),所以返回查詢結(jié)果速度就會更快,而且也不會減慢實時交易的處理速度。對實時交易而言,及時做出反應(yīng)至關(guān)重要。
更多信息請查看IT技術(shù)專欄