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