自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

破解分布式庫使用難點(diǎn):數(shù)據(jù)分片策略

原創(chuàng) 精選
開發(fā) 前端 分布式
產(chǎn)品針對(duì)數(shù)據(jù)分片策略部分做的不多,主要是對(duì)兼容類的評(píng)估工具;即根據(jù)數(shù)據(jù)庫自身能力,評(píng)估原有對(duì)象、SQL語句需要做哪些改造等。

隨著分布式數(shù)據(jù)庫日漸成熟,在推廣使用上開始步入深水區(qū)。在這一過程中,對(duì)企業(yè)的架構(gòu)、運(yùn)維、開發(fā)都帶來不小的沖擊,如何快速掌握這一新技術(shù),盡快落地成為大家關(guān)注的焦點(diǎn)。本文從開發(fā)者的視角出發(fā),討論使用分布式數(shù)據(jù)庫所面臨的難點(diǎn)之一:數(shù)據(jù)分片策略,這也是阻礙很多企業(yè)上到分布式數(shù)據(jù)庫的核心問題。

1. 數(shù)據(jù)分片策略是什么

分布式數(shù)據(jù)庫的核心能力之一,就是通過數(shù)據(jù)分片存儲(chǔ),來承載更大的數(shù)據(jù)規(guī)模和計(jì)算負(fù)載。數(shù)據(jù)分片,是把數(shù)據(jù)庫橫向擴(kuò)展到多個(gè)物理節(jié)點(diǎn)上的一種分布式技術(shù)??梢岳斫鉃閷⒈頂?shù)據(jù)按照特定的分片規(guī)則水平切分成若干片段(shard),使這些數(shù)據(jù)片段分布在不同物理節(jié)點(diǎn)上。數(shù)據(jù)分片從大類可分為垂直分片和水平分片,前者是按業(yè)務(wù)類別進(jìn)行拆分,常見為業(yè)務(wù)拆庫;后者則是以字段為依據(jù),按照一定策略拆分到若干表中。本文后面所談的數(shù)據(jù)分片,是針對(duì)后者。那么如何將數(shù)據(jù)從單體更換為分布式,這就需要考慮數(shù)據(jù)分片策略。數(shù)據(jù)分片策略包括分片算法、數(shù)據(jù)分布、分布關(guān)系等,簡單描述參見下表。

圖片圖片

2. 分布式數(shù)據(jù)庫分片策略

業(yè)內(nèi)分布式數(shù)據(jù)庫產(chǎn)品,針對(duì)數(shù)據(jù)分片策略通常有三種做法。一種是基于主鍵/唯一索引/隱含主鍵等做統(tǒng)一數(shù)據(jù)分片,即用戶無需人為設(shè)置分片策略;一種是開放若干數(shù)據(jù)分片算法,用戶可自行創(chuàng)建數(shù)據(jù)對(duì)象時(shí)人為指定;還有一些數(shù)據(jù)庫中間件產(chǎn)品,支持更為靈活的分片方式,可以讓用戶自行擴(kuò)展。上面三種,我們可命名為內(nèi)置、開放、自定義。下面從開發(fā)者角度,簡單對(duì)比下這幾種方式。

圖片圖片

這里解釋一下:

  • 內(nèi)置方式產(chǎn)品,通常對(duì)開發(fā)者來說更容易上手,使用體驗(yàn)與單機(jī)數(shù)據(jù)庫基本一致。但由于無法干預(yù)分片策略,其靈活性較差且與業(yè)務(wù)無關(guān)。在大部分業(yè)務(wù)場景下,是需要犧牲性能體驗(yàn)、消耗更多硬件資源來彌補(bǔ)上述不足。
  • 開放方式產(chǎn)品,需要開發(fā)者從內(nèi)置策略中選擇一種相對(duì)最優(yōu)解,其具備一定靈活性也兼具了性能表現(xiàn),可滿足絕大多數(shù)場景的需要,只有個(gè)別業(yè)務(wù)因其特殊性很難找到合適分片策略,需要業(yè)務(wù)定制改造。
  • 自定義方式產(chǎn)品,為開發(fā)者提供最大的靈活自由度,但也意味著易用性較差及需要開發(fā)運(yùn)維方面做更多工作,很難做到標(biāo)準(zhǔn)產(chǎn)品化。

3. 分片實(shí)施難點(diǎn)與解法

除了第一種方式外,其余兩種都涉及一個(gè)問題就是現(xiàn)有數(shù)據(jù)對(duì)象如何拆分?好的拆分策略,一定是兼顧業(yè)務(wù)模型、性能最佳、穩(wěn)定可靠、研發(fā)改造、運(yùn)維難點(diǎn)等多種因素下,結(jié)合分布式數(shù)據(jù)庫的特點(diǎn)而做的最優(yōu)解,這是在多種因素下平衡的結(jié)果。在具體實(shí)施上,需要收集大量信息后才能做出決定,下面將主要部分整理為一個(gè)表格。

圖片圖片

圖片圖片

從上表可見,數(shù)據(jù)分片設(shè)計(jì)過程中,需考慮的問題很多,是一個(gè)多維立體的模型分析過程。包括對(duì)企業(yè)的業(yè)務(wù)流、數(shù)據(jù)流、數(shù)據(jù)模型、業(yè)務(wù)特征、基礎(chǔ)環(huán)境等諸多方面的考慮。上述還需要結(jié)合分布式架構(gòu)數(shù)據(jù)庫的能力理解才能得出一個(gè)相對(duì)“適合”的設(shè)計(jì)方案。這對(duì)于企業(yè)來說是非常痛苦的,也是阻礙企業(yè)上到分布式數(shù)據(jù)庫的難點(diǎn)之一。不能將上述包袱完全推給用戶去完成,而是盡量在數(shù)據(jù)庫產(chǎn)品側(cè)給出答案,即產(chǎn)品需具備數(shù)據(jù)分片優(yōu)化推薦功能。如果分片設(shè)計(jì)不合理,可能造成影響到業(yè)務(wù)系統(tǒng)的穩(wěn)定可靠、服務(wù)體驗(yàn),往往服務(wù)體驗(yàn)是忽快忽慢且最可怕是某一些時(shí)刻或者業(yè)務(wù)場景是最慢的,從而導(dǎo)致排錯(cuò)分析的困難復(fù)雜增加。當(dāng)然,開始設(shè)計(jì)很難做到十全十美,但系統(tǒng)在運(yùn)行中經(jīng)過不斷摸索后還需數(shù)據(jù)庫具備一定的在線分片調(diào)整能力,例如針對(duì)分片類型或分片字段的調(diào)整。在這一過程中要做到不中斷現(xiàn)有業(yè)務(wù)服務(wù)的正常運(yùn)行,其次要做到盡量少地影響現(xiàn)有業(yè)務(wù)服務(wù)的性能體驗(yàn)(也即控制資源占用對(duì)生產(chǎn)環(huán)境的業(yè)務(wù)服務(wù)影響),最后要做到盡量快地完成分片信息的調(diào)整。

4. 業(yè)內(nèi)產(chǎn)品現(xiàn)狀及展望

目前國內(nèi)很多分布式數(shù)據(jù)庫廠商都加強(qiáng)了遷移能力的支持,一般是通過外置工具的方式提供收集、評(píng)估、輔助遷移、驗(yàn)證等一系列流程的支持。下圖是以O(shè)ceanBase的OMA工具舉例,說明其提供的支持能力。

圖片圖片

通過上圖可見,產(chǎn)品針對(duì)數(shù)據(jù)分片策略部分做的不多,主要是對(duì)兼容類的評(píng)估工具;即根據(jù)數(shù)據(jù)庫自身能力,評(píng)估原有對(duì)象、SQL語句需要做哪些改造等。尚沒有實(shí)現(xiàn)數(shù)據(jù)分片策略的推薦工作,處于空白。其實(shí)去年公眾號(hào)也發(fā)布過一篇文章,就是想通過小工具去完成這一過程,只是目前還未看到有廠商產(chǎn)品支持。相信未來這一能力得到支持后,將加快國內(nèi)企業(yè)選擇分布式數(shù)據(jù)庫實(shí)踐之路。

責(zé)任編輯:武曉燕 來源: 韓鋒頻道
相關(guān)推薦

2018-08-24 07:03:45

分布式系統(tǒng)數(shù)據(jù)分片元數(shù)據(jù)

2019-11-12 09:32:39

分布式elastic-job分片

2010-07-26 13:25:11

SQL Server分

2022-09-01 07:23:53

云原生數(shù)據(jù)庫Aurora

2021-11-08 10:52:02

數(shù)據(jù)庫分布式技術(shù)

2022-12-02 07:19:46

分布式數(shù)據(jù)庫數(shù)據(jù)分片

2024-09-27 09:19:30

2023-11-20 11:57:00

數(shù)據(jù)庫分片

2010-07-23 13:25:31

2011-07-28 13:24:03

MongoDBAuto-shardi

2013-04-26 16:18:29

大數(shù)據(jù)全球技術(shù)峰會(huì)

2023-03-26 12:43:31

數(shù)據(jù)庫KeyValue

2021-12-20 15:44:28

ShardingSph分布式數(shù)據(jù)庫開源

2023-12-05 07:30:40

KlustronBa數(shù)據(jù)庫

2014-06-30 14:20:05

NoSQL數(shù)據(jù)庫

2022-12-08 08:13:11

分布式數(shù)據(jù)庫CAP

2023-11-03 08:13:35

ZAB協(xié)議負(fù)載均衡

2020-04-14 11:14:02

PostgreSQL分布式數(shù)據(jù)庫

2022-03-10 06:36:59

分布式數(shù)據(jù)庫排序

2011-11-29 09:49:16

數(shù)據(jù)庫其他數(shù)據(jù)庫NoSQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)