分散ストレージシステムの信頼性をどのように評価するのでしょうか?

分散ストレージシステムの信頼性をどのように評価するのでしょうか?

通常、構造化データベース ストレージ (一般的な MySQL など)、ドキュメントベースの Nosql データベース ストレージ (mongodb)、従来の BLOB ストレージ システム (GFS、Hadoop) など、ストレージ システムの信頼性を向上させるには、マルチコピー テクノロジを使用するのが一般的です。

データは企業の活力の中核とも言えるため、データ ストレージ システムの信頼性を確保することは、どの企業にとっても簡単なことではありません。

では、クラスターデータの信頼性をより正確に測定するにはどうすればよいでしょうか?クラスターデータの信頼性を高めるためにシステムをどのように設計すればよいでしょうか?この記事では、これらの質問に答えてみます。

[[214781]]

データ損失とレプリカセット

「999 台のディスクで構成される 3 コピー ストレージ システムで、3 台のディスクが同時に故障した場合、データが失われる確率はどれくらいですか?」これはストレージ システムの設計と密接に関係しています。まず、2 つの極端な設計の状況を考えてみましょう。

設計 1: 999 個のディスクを 333 個のディスク ペアにグループ化します。

この設計では、ディスク ペアの 1 つが選択された場合にのみデータ損失が発生します。この設計では、データが欠損する確率は333/C(999,3) = 5.025095326058336*e-07です。

設計 2: データは 999 個のディスクにランダムに分散されます。

極端なケースでは、ランダム ディスク上の論理データのレプリカが、クラスター内の 998 個のディスクすべてに分散されます。この設計では、データが失われる確率は C(999,3)/C(999,3)=1 となり、これは必ず存在することを意味します。

これら 2 つの極端な例から、データ損失の確率はデータの断片化の程度と密接に関係していることがわかります。以降の読み取りを容易にするために、レプリカセットという新しい概念を導入します。

コピーセット: データのすべてのコピーが含まれるデバイスの組み合わせ。たとえば、データがディスク 1、2、3 に書き込まれる場合、{1,2,3} はレプリケーション グループになります。

9 個のディスクのクラスターでは、レプリカセットの組み合わせの最小数は 3 で、レプリカセット = {1,2,3}、{4,5,6}、{7,8,9} です。つまり、データを書き込むために選択できるのは、レプリケーション グループの 1 つだけです。データ損失は、{1,2,3}、{4,5,6}、または {7,8,9} が同時に失敗した場合にのみ発生します。つまり、レプリカの最小数は N/R です。

システム内のレプリカの最大数は C(N,R) です。ここで、R はレプリカの数、N はディスクの数です。レプリカデータを書き込むためにノードが完全にランダムに選択されると、システム内のレプリカの数は最大値 C(N,R) に達します。つまり、任意の R ディスクを選択すると、これらの R ディスク上に一部のデータのコピーが 3 つ存在することになります。

N 個のディスクと R 個のレプリカを持つストレージ システムでは、レプリカの数は S、N/R < S < C(N, R) です。

ディスク障害とストレージシステムの信頼性の推定

1. ディスク障害とポアソン分布

関連する確率を正式に推定する前に、基本的な確率分布であるポアソン分布について学ぶ必要があります。ポアソン分布は主に、バス停で待っている乗客の数が特定の値である確率や、病院で 1 時間以内に N 人の新生児が生まれる確率など、システム内で発生するランダム イベントの確率を表します。

上記はポアソン分布の式です。このうち、P は確率、N は特定の関数関係、t は時間、n は量、λ はイベントの頻度を表します。

たとえば、1 年以内に 1,000 台のディスクのうち 10 台が故障する確率は P (N(365) = 10) です [注: t の平均単位は日数です]。 λ は、1 日以内の 1000 台のディスクのうち故障したディスクの数です。 Google の統計によると、年間の故障率は 8% なので、λ = 1000*8%/365 となります。

上記は、N 台のディスクが損傷する確率の単なる統計分析です。では、この式を使用して、分散システムにおけるデータの信頼性のおおよその値 (つまり、データ損失の確率) をどのように計算できるでしょうか?

2. 分散ストレージシステムにおける損失率の推定

2.1 T時間以内の故障率

分散ストレージ システムの年間故障率を推定する方法としては、まず、T が 1 年のときにシステムがデータでいっぱいになり、不良ディスクが処理されないという状況を想定します。この場合、データの年間故障率を計算します。

ここでまずいくつかの値を定義します

N: ディスクの数

T: 統計時間

K: 不良ディスクの数

S: システム内のレプリカセットの数(レプリケーショングループの数)

R: バックアップの数

T(1年)以内にデータが失われる確率を計算するにはどうすればよいでしょうか?確率統計の観点からは、T(1年)以内にデータ損失が発生する可能性のあるすべての事象を考慮することです。 N 個の冗長ディスク R を備えたシステムでは、T 時間内にデータ損失イベントが発生する可能性があります。つまり、不良ディスクの数が R 以上、つまり R、R+1、R+2、... N (つまり、すべてのイベントが区間 K∈[R,N] 内) になります。これらのランダムなイベントが発生した場合、どのような状況でデータ損失が発生しますか?はい、*** レプリケーション グループの場合はその通りです。

K 個の障害が発生した場合 (K 個のディスクがランダムに選択される)、*** レプリケーション グループの確率は次のとおりです。

p = X/C(N,K) ここで、XはK個のディスクをランダムに選択するプロセスにおけるレプリケーショングループの組み合わせの数です。

システム内の K ディスクの損傷によってデータが失われる確率は次のようになります。

Pa(T,K) = p * P(N(T)=K)

***時間 T 内にシステムでデータ損失が発生する確率は、データ損失を引き起こす可能性のあるすべてのイベントの確率の合計です。

Pb(T) = ΣPa(T,K) ; K∈[R,N]

2.2 分散システムの年間故障率の測定

上記では、1 年間にハードウェア障害が発生した場合でも、復旧対策が講じられないことを前提としています。次に、t に 1 を代入すると、このシステム状態における年間故障率を計算できます。ただし、大規模なストレージ システムでは、データが失われたときに回復プログラムが開始されることがよくあります。回復が完了すると、理論的には初期状態からのランダムなイベントになります。この要素を追加すると、信頼性の計算はより複雑になります。

理論的には、大規模ストレージ システムにおけるディスク障害と回復は、極めて複雑な連続イベントです。ここでは、統計計算のために、この確率モデルを異なる単位時間 T 内の離散イベントに簡略化します。 2 つの T 間の連続イベントの確率が極めて小さく、不良ディスクのほとんどが T 時間内に回復できる限り、次回の T は新しい状態から開始され、この推定によっておおよその正確さが保証されます。 T の単位は時間として定義されているため、1 年は 365*24/T の期間に分割できます。システムの年間故障率は、ユニット T の全期間で故障が発生しない確率を 100% から引いた値として理解できます。

つまり、システム全体でデータが失われる確率は、Pc = 1 - (1-Pb(T))*(36524/T) となります。

<<:  クラウド コンピューティングはなぜ企業の間でこれほど普及したのでしょうか?

>>:  UCloud CEO の Ji Xinhua 氏が「トップ 10 の革新的な経済人」賞を受賞

推薦する

インターネット分散ストレージ入門

Google、Amazon、Tencent などの大手インターネット企業では、事業が広範囲にわたるた...

litemoe: 49元/月、3ネットワークcn2 gia VPS、1Gbps帯域幅、KVM/512Mメモリ/10gSSD/512Gトラフィック

litemoe さん、ロサンゼルスのトリプルネットワーク cn2 gia vps ラインの VPS ...

アマゾン ウェブ サービスの中国における「12345」戦略

[51CTO.com からのオリジナル記事]企業が長期的な成功を維持するのは簡単なことではありません...

エッジコンピューティングはIoTの最大の問題を解決する

2021 年は、重要な処理がクラウド内の集中サーバーではなく、ネットワークの「エッジ」(私たちが依存...

クラウド時代の再編における Amazon Web Services China Summit 上海の違いは何でしょうか?

[51CTO.com からのオリジナル記事] Amazon Web Services Technol...

NLP ライブラリを使用して Python でテキストを解析する方法

翻訳者 |チェン・ジュン校正:孫淑娟Python は、人工知能の分野で広く使用されている強力なオブジ...

GO言語のパフォーマンス問題の発見と解決

事件の原因この事件は、社内の同僚が社内メーリンググループに質問を投稿したことから始まりました。 go...

度重なる禁止措置にもかかわらず、オンラインねずみ講は続く:報告、証拠収集、調査は困難

【重要なヒント】:「1か月以内に2人参加すれば、1年後には少なくとも月収50万元になります!」「1,...

Big Bird 草の根 SEO チュートリアル キーワード

この記事で説明の起源や、なぜ説明と呼ばれているのかを私に尋ねる必要はありません。私はそれを知りません...

クラウド ネイティブが企業のデジタル変革の鍵となるのはなぜでしょうか?

2020年は、疫病の影響を受け、どのビジネスも好調ではありませんでした。しかし、インターネット企業と...

真のハイブリッドクラウドが主流になる

業界の専門家は、唯一の「本物の」クラウドはパブリッククラウドであると指摘しています。企業には適してい...

コダック株:洗練された交通運用が将来のトレンドになる可能性

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています「トラフィ...

「分散キャッシュの詳細」 - 「独自のキャッシュを作成する」

【51CTO.comオリジナル記事】 [51CTO オリジナル記事、パートナーサイトに転載する場合は...

WeChat はどのようにして想像力とユーザーのバランスをとっているのでしょうか?

10年分の価値を放出したい製品の場合、その製品が持つ可能性が無限であればあるほど、想像力を抑制する必...

SEO 担当者は、キーワードのランキングがどのように達成されるかを明確に理解する必要があります。

このタイトルを見て笑う人もいるかもしれません。キーワードはどうやってトップに上がったのですか?と聞く...