數(shù)據(jù)庫選型要考慮哪些問題?
數(shù)據(jù)無處不在。大數(shù)據(jù)話題日新月異,企業(yè)必須日復一日管理大量的數(shù)據(jù)。不管有多少數(shù)據(jù)(甚至什么類型的數(shù)據(jù)),其真正的價值在于企業(yè)如何處理這些數(shù)據(jù)。數(shù)據(jù)庫是一個(實際上)看不見的組件,它有助于推動商業(yè)決策,改善業(yè)務。這意味著為你的組織選擇合適的數(shù)據(jù)庫不應該被輕視。數(shù)據(jù)庫選型要注意什么事呢?
你需要它做什么?
過去的靜態(tài)數(shù)據(jù)庫不能應付今天的需求。隨著需要處理的數(shù)據(jù)量指數(shù)級增長,數(shù)據(jù)庫被用于比以往更多的地方,靈活性是關(guān)鍵。這對你的企業(yè)意味著什么?看看可以用你的數(shù)據(jù)庫存儲和使用什么類型的數(shù)據(jù),并考慮未來你可能需要的數(shù)據(jù)。雖然任何數(shù)據(jù)庫都可以存儲數(shù)字和文本,但你需要考慮你的數(shù)據(jù)庫能處理什么類型的數(shù)據(jù)以及如何處理。所謂的對象或文檔數(shù)據(jù)肯定是你想要存儲的一種數(shù)據(jù)類型。雖然這種類型的數(shù)據(jù)可以存儲為純文本,但有可能會丟失信息并產(chǎn)生額外的開銷。此外,你將無法在查詢中輕松處理完整的對象。
你還需要考慮可擴展性。今天的數(shù)據(jù)庫在面對不斷增長的數(shù)據(jù)量和對數(shù)據(jù)驅(qū)動決策的需求增加時,會很快變得過時。你的新數(shù)據(jù)庫需要能夠隨需擴展。你還應該考慮要在哪里運行數(shù)據(jù)庫。它可以在邊緣、公共云或私有云中運行嗎?雖然大多數(shù)現(xiàn)代數(shù)據(jù)庫可以在所有這些地方運行,但你也需要了解數(shù)據(jù)庫在這些部署模式中為你提供什么。例如,在功能上有什么不同嗎?記住,要不斷考慮你的未來需求。
最后,要警惕供應商鎖定問題。如果你更換了數(shù)據(jù)庫,你是否需要改變數(shù)據(jù)庫周圍的一切?無論現(xiàn)在還是未來,你是否能夠讓你的所有工具能使用它,或者由于非標準的查詢語言而不可用,這可能是一個挑戰(zhàn)?
它能做什么?
盡管大多數(shù)數(shù)據(jù)庫提供了一系列類似的功能,但你可能要更密切地關(guān)注特定領(lǐng)域。例如,使用內(nèi)置的數(shù)據(jù)庫功能可以顯著提高外部系統(tǒng)的性能,并有助于優(yōu)化任何數(shù)據(jù)存儲要求。另外,數(shù)據(jù)庫是如何讓你訪問數(shù)據(jù)的?是否需要特定的查詢語言或非標準的API?確保提供的查詢界面符合你的需求。它最終能提供什么?
如果你正在考慮一個基于云的數(shù)據(jù)庫,那么服務水平協(xié)議(SLA)就很重要。你是否知道數(shù)據(jù)庫將如何處理一個節(jié)點上的故障。它是否會自動重新平衡,是否會丟失任何數(shù)據(jù)?確保你了解數(shù)據(jù)庫如何從錯誤中恢復,以及備份選項是什么。
易用性
易用性(和性能)需要考慮你的用例。例如,數(shù)據(jù)庫系統(tǒng)提供的API或查詢語言對你所選擇的使用情況是否可用,你計劃采用的工具和應用程序是否與你的預期數(shù)據(jù)庫系統(tǒng)兼容(可用)?我們已經(jīng)談到了訪問方法和查詢語言,但如果一切都沒有以有效的方式整合,你可能需要開發(fā)一個定制的解決方案。你還應該考慮到整體操作的可用性--確保日志和審計功能適合你的使用情況。
在考慮可用性時,性能是一個關(guān)鍵因素。畢竟,如果你不能從你的數(shù)據(jù)庫中獲得適合的性能,它將無法使用。了解你在哪些方面需要最好的性能,以及數(shù)據(jù)庫系統(tǒng)在這方面提供了什么,會有幫助。該領(lǐng)域是攝取數(shù)據(jù)還是數(shù)據(jù)檢索?
保持安全
安全是任何IT系統(tǒng)的一個重要考慮因素,數(shù)據(jù)庫也不例外。媒體喜歡一個好的數(shù)據(jù)泄露的故事,但對所涉及的組織來說,這總是一個昂貴的代價。這里要解決的最重要的事情是訪問控制。你需要強有力的訪問控制措施,你需要能夠限制對數(shù)據(jù)的訪問,只限于需要的內(nèi)容。你還應該能夠?qū)徲嬚l訪問了數(shù)據(jù),以及什么時候訪問的。要有措施能夠識別數(shù)據(jù)的來源,虛假數(shù)據(jù)會導致很多問題。
安全的概念是廣泛的,你需要了解它如何與你組織的具體考慮相適應。例如,數(shù)據(jù)庫系統(tǒng)如何被整合到整個IT安全基礎設施中?零信任的方法無疑會在任何安全設計中體現(xiàn)出來。
這一切將花費多少錢?
這里沒有簡單的答案。你不是在買現(xiàn)成的東西。這里的成本不僅僅是指軟件許可費用,毫無疑問,軟件許可費是任何數(shù)據(jù)庫系統(tǒng)定價的組成部分。你還需要考慮到需要購買多少基礎設施來運行該數(shù)據(jù)庫。如果你傾向于基于云的服務,你是否了解它與內(nèi)部安裝相比的內(nèi)在附加值?此外,還有人員成本需要評估。你是否計算過與你所選擇的數(shù)據(jù)庫系統(tǒng)相關(guān)的任何額外的運營開銷?你需要適當數(shù)量的熟練員工來管理新的系統(tǒng),所以你可能最終不得不雇用更多的人或投資于現(xiàn)有員工進一步培訓。還有可能涉及到計劃中的工具和現(xiàn)有的工具之間的兼容性問題。任何改變都會產(chǎn)生額外的費用。
為你的需求選擇合適的數(shù)據(jù)庫系統(tǒng)要考慮許多因素--靈活性、可擴展性、易用性、性能、安全性、成本,以及其他。你還需要考慮你的組織的未來需求,所以要謹慎選擇并保持開放的心態(tài)。