友快網

導航選單

【乾貨】資料探勘:如何選擇一款適合自己的資料庫產品?| 企業管理

本文轉載自韓鋒頻道,作者韓鋒

近些年來,資料庫產業發展迅猛,各種資料庫產品層出不窮。那麼如何選擇一款資料庫產品成為很多企業面臨的問題?特別是隨著資料規模、計算能力等需求,分散式資料庫產品成為很多企業的新寵。那麼這類資料庫較傳統資料庫又有何差異?在資料庫選型中,需要注意哪些方面?本文嘗試描述資料庫(特別是分散式資料庫)選型需考慮維度,希望幫助企業可以做出最適合的選擇。

1。 資料庫評估維度概覽

人生基本上就是兩件事,選題和解題。最好的人生是在每個關鍵點上,既選對題,又解好題。人生最大的痛苦在於解對了題,但選錯了題,而且還不知道自己選錯了題。正如人生最大的遺憾就是,不是你不行,而是你本可以。

因需對比的維度很多,故將其大致做了個分類,歸納為下面腦圖所示。下文將按各分類詳細描述。在各對比維度分類之上,又抽象出非互動式測試與互動測試兩大類。之所以做了這樣的劃分,是因為曾參與過多款資料庫產品評測,大量的人工測試方式非常低效。這裡是嘗試將部分對比維度分類提取出來,可嘗試使用自動化方式解決上述問題。則後者的互動式測試,則還需要人工介入;但可透過此方法固化對比維度,減少互動成本。

2。 評估維度:基本功能篇

人生基本上就是兩件事,選題和解題。最好的人生是在每個關鍵點上,既選對題,又解好題。人生最大的痛苦在於解對了題,但選錯了題,而且還不知道自己選錯了題。正如人生最大的遺憾就是,不是你不行,而是你本可以。

表示式

運算子

字符集:支援常規的UTF8MB4及定長字符集GBK等。

函式:支援基本函式、擴充套件函式(如正則函式、安全函式、視窗分析函式等)、自定義函式。

計算:雖然不提倡在資料庫端進行計算,但如果支援計算的話,將有利於將傳統資料庫應用遷移到新型資料庫中。在分散式架構下,這部分實現較難。

3。 評估維度:資料物件篇

人生基本上就是兩件事,選題和解題。最好的人生是在每個關鍵點上,既選對題,又解好題。人生最大的痛苦在於解對了題,但選錯了題,而且還不知道自己選錯了題。正如人生最大的遺憾就是,不是你不行,而是你本可以。

序列:對分散式資料庫,需提供全域性唯一、單調遞增的序列物件。

檢視:對分散式資料庫,需提供滿足全域性性、一致性的檢視訪問。擴充套件要求,可提供引數檢視、動態檢視、物化檢視等能力。

約束:支援常規的主鍵(PK)、外來鍵(FK)、唯一(UK)、非空(NULL)、條件(CHECK),特別是分散式條件下的約束能力。此外,支援非分佈鍵下的約束。

表:支援常規的表(例如堆表、簇表)。表的儲存方式是行存、列存亦或是混存。支援全域性表(廣播表)、ER表、追加表、只讀表等特殊表型別。

索引:支援多種型別索引(如B樹、雜湊等),支援函式索引等。對於分散式環境支援全域性索引、二級索引。對於分割槽條件下,是否支援本地、全域性分割槽索引。

同義詞

資料型別:對多模場景,豐富的資料型別十分必要。此外,在金融場景中,對高精度資料型別也有特殊的要求。

分片:支援的分片演算法,支援自定義分片策略。在單分片鍵基礎上,支援多欄位分片或自定義分片等。

分割槽:支援的分割槽型別(如HASH、LIST、RANGE等),支援複合分割槽。常規分割槽操作支援增加、刪除、移動、截斷、分裂、合併等。

4。 評估維度:SQL篇

人生基本上就是兩件事,選題和解題。最好的人生是在每個關鍵點上,既選對題,又解好題。人生最大的痛苦在於解對了題,但選錯了題,而且還不知道自己選錯了題。正如人生最大的遺憾就是,不是你不行,而是你本可以。

DML

DDL

DQL:對於分散式資料庫而言,靈活複雜的查詢能力實現難度較高。很多產品在這部分都有所取捨,沒有實現全集。

5。 評估維度:核心功能篇

人生基本上就是兩件事,選題和解題。最好的人生是在每個關鍵點上,既選對題,又解好題。人生最大的痛苦在於解對了題,但選錯了題,而且還不知道自己選錯了題。正如人生最大的遺憾就是,不是你不行,而是你本可以。

鎖:支援樂觀、悲觀鎖機制。提供完善的死鎖檢測機制。

事務:支援標準的ACID能力。

隔離級:提供常規的RC、RR等隔離級別,支援MVCC,提供全域性一致性資料讀取能力,支援強一致性的資料讀取並可讀到最新資料。

並行:支援平行計算,已利用多核能力加速執行。

6。 評估維度:效能篇

人生基本上就是兩件事,選題和解題。最好的人生是在每個關鍵點上,既選對題,又解好題。人生最大的痛苦在於解對了題,但選錯了題,而且還不知道自己選錯了題。正如人生最大的遺憾就是,不是你不行,而是你本可以。

通用模型:支援透過常規的事務型、分析型測試標準,提供基礎的效能測試指標。

業務模型:透過抽象業務模型,提供近似業務訪問的效能指標。

其他場景:提供諸如匯入匯出等場景的效能資料。

7。 評估維度:安全篇

人生基本上就是兩件事,選題和解題。最好的人生是在每個關鍵點上,既選對題,又解好題。人生最大的痛苦在於解對了題,但選錯了題,而且還不知道自己選錯了題。正如人生最大的遺憾就是,不是你不行,而是你本可以。

❖ 資料管理

資料加密:資料儲存加密,是保證資料安全的根本方法。即使發生了資料洩漏,也不用擔心資料為他人所用。針對加密的要點在於加密演算法及效率,除常規加密演算法外,是否支援國密演算法及自定義演算法?此外,最為重要的是對應用透明。

資料傳輸:在資料傳輸方面,支援資料的加密傳輸方式。

資料訪問:在資料訪問方面,支援行級、列級資料訪問控制。

生命週期管理:建立全生命週期的資料安全策略,在後續的資料歸檔、備份、匯出直至銷燬階段均需考慮必要的資料安全。

敏感資料:具備建立敏感資料識別、分級,根據不同級別採取不同策略,支援資料脫敏訪問。

❖ 使用者管理

使用者:具備唯一標識的使用者名稱,採用滿足複雜度要求的口令策略並加密儲存。同時,具備多種鑑權方式。

角色(組):透過角色或角色組方式,簡化許可權管理。支援所謂“三權分立”,即系統管理員、審計管理員、安全管理員三權分立

許可權:具備多種物件不同粒度的許可權控制能力。

❖ 訪問控制

物件:針對不同物件,可設定訪問、執行、變更等不同的控制權限。

叢集:在多個應用共享叢集時,應支援多個應用間自有資料庫物件的訪問控制。

會話:支援基於IP、埠、資料庫、使用者和密碼的連線認證功能,會話應進行安全隔離,不同會話應具備獨立的上下文。

節點:分散式資料庫的不同節點(如計算節點、儲存節點),支援白名單信任策略,複合要求的地址才能連線訪問。

❖ 安全管理

金鑰管理

安全告警

安全審計:支援安全審計的長久儲存。

8。 評估維度:相容篇

人生基本

客戶端:支援標準的客戶端訪問方式。提供不同語言的訪問驅動。

應用:支援常規資料應用的訪問。

語法:相容部分事實標準,例如Oracle、MySQL等。這對於業務的遷移意義很大。

硬體:支援多種硬體平臺,特別是國產化硬體平臺。

9。 評估維度:運維篇

人生基本

備份恢復:支援物理備份、邏輯備份。支援全量、增量備份。提供時點還原能力。提供物件級閃回能力。

資料遷移:在分散式環境下,提供全域性一致性的資料遷移能力。

系統配置

租戶管理

審計管理

容量管理

版本升級

監控

10。 評估維度:架構篇

人生基本

讀寫分離

11。 評估維度:例項管理篇

人生基本

執行計劃:支援分散式環境的執行計劃顯示。

統計資訊

空間管理

模式管理

時區

可擴充套件:支援不同層次的擴充套件能力,從前端接入層、計算層到儲存層。

12。 評估維度:高可用篇

人生基本

高可用:高可用包括多種維度,例如服務層高可用、資料層高可用、接入層高可用。服務高可用包括全部元件支援高可用;出現元件異常時自動恢復;在常規變更操作時(例如擴縮容)支援高可用。資料高可用,則從資料的RTO角度來考慮。接入層,則是指諸如Proxy代理元件的高可用。

高可靠:資料的整體可靠性,例如常見的透過多副本技術保證,且副本間是否滿足強一致等。還包括透過全量+增量+日誌的備份策略,滿足資料還原需求。

容災:提供單機、機架、可用區、同地域、跨地域不同層級的容災能力。

上一篇:一加9系旗開得勝,劉作虎還會有大動作嗎?看完這篇文章你就明白了
下一篇:頭部手機廠商為打造更具競爭力的優秀產品,都做了哪些重要的改革?