分散ストレージシステムのベストプラクティス: システム開発パス

分散ストレージシステムのベストプラクティス: システム開発パス

分散ストレージシステムは、全体的なアーキテクチャの観点からは似ていますが、実装が困難です。自社開発の分散ストレージシステムは、徐々に成熟するまでに通常 2 ~ 3 年かかり、システムをいかに安定させるかが難しさとなります。システム開発プロセスには、アーキテクチャ設計、主要アルゴリズムの実装、品質管理、チームメンバーの育成、オンラインでの運用と保守、アプリケーションの連携などが含まれます。いずれかのリンクに問題があると、プロジェクト全体が失敗する可能性があります。

この記事では、一般的な分散ストレージシステムの開発パスを紹介します。

汎用分散ストレージ システムは設計されるのではなく、アプリケーションのニーズに応じて進化します。特定のビジネスに由来するものですが、一定の汎用性があり、幅広い問題を解決できます。一般的な分散ストレージ プラットフォームの利点は、そのスケール効果にあります。プラットフォームの規模が一定のバランスポイントを超えると、コストの優位性が明らかになります。

一般的な分散ストレージ プラットフォームには、主に 2 つの成長モデルがあります。

  • 同社の経営陣は、共通プラットフォームを積極的に開発する戦略を策定した。このモデルは初期段階ではスムーズに発展しますが、ビジネスから離れすぎているため、中期的にはプラットフォーム自体に多くの問題が露呈することがよくあります。
  • 特定のビジネスから生まれ、ビジネス要件を一般化します。このモデルはより大きな技術的課題に直面することになりますが、チームメンバーはその過程でより多くのトレーニングを受けることができます。

2 番目の開発モデルは比較的複雑であり、通常は次の段階を経る必要があります。

はじめに: 特定の問題を解決する

初期段階では、従来のシステムでは解決できなかった、または解決が不十分だった、ビジネスで提起された特別なニーズを解決する必要があります。たとえば、OceanBase システムが最初にリリースされたとき、Taobao のお気に入りビジネスによって発生した 2 つの大きなテーブルを左結合する問題を解決する必要がありました。スタートアップ段階における課題は主に技術的な課題であり、チームメンバーはこの段階で大きな技術的成長を達成できます。

生き残り:アプリが王様

プラットフォームの汎用性を証明するには、多数のビジネスを接続する必要があります。企業戦略のサポートがなければ、この段階では「鶏が先か、卵が先か」という問題に直面することになります。ビジネスがなければプラットフォームを改善することはできず、完璧なプラットフォームがなければ、より多くのビジネスアクセスを引き付けることはできません。この段階では、適切なアプリケーションに接続し、優れたアプリケーション サービスを提供して、良い評判を築くことが最優先事項です。サバイバルステージでは、チームは内部からの課題にも直面します。チームメンバーは立ち上げ期の新鮮味が欠けており、一部のメンバーの仕事への熱意が低下してしまいます。この段階では、チームのビジョンを明確にし、忍耐強く、細部まで注意を払う必要があります。

プラットフォーム化: 使いやすさと保守性の向上

アプリケーションの数が一定レベルまで蓄積されると、使いやすさと保守性を向上させるために多大な努力が必要になります。使いやすさの鍵は、アプリケーションの以前の使用法と互換性のある標準ユーザー インターフェイスを採用し、学習コストとアプリケーション変換コストを削減することです。操作性を向上させるには、より多くの内部システム状態を運用および保守担当者に公開し、便利な展開、監視、運用および保守ツールを開発する必要があります。

成熟度: 継続的な最適化

分散ストレージシステムが成熟段階に入ると、そのアプリケーションの推進はよりスムーズになります。この段階での開発チームの主な仕事は、システムを継続的に最適化し、アプリケーションの要件に応じて機能サポートを追加することです。プラットフォームの規模が拡大し、最適化作業が深まるにつれて、プラットフォームのスケール効果が明らかになり、プラットフォームは成功を収めるでしょう。

ユニバーサルストレージプラットフォームの開発は困難に満ちており、チームメンバーは強い信念と長期的な理想を持ち、孤独に耐えられることが求められます。さらに、システム開発時には技術的な詳細にも注意を払う必要があります。実装の詳細がユーザーからの苦情につながったり、オンライン障害を引き起こしたりする可能性があります。

企業の観点から見ると、汎用分散ストレージプラットフォームを開発するかどうかは、企業の規模によって異なります。小規模なインターネット企業(従業員 100 人未満)の場合は、MySQL オープン ソース リレーショナル データベースなど、より広く使用されているストレージ テクノロジを選択する必要があります。中規模インターネット企業(従業員数100〜1,000人)向け。次に、さまざまな SQL または NoSQL ストレージ テクノロジを組み合わせて、オープン ソース製品を改善したり、オープン ソース製品に基づいて二次開発を行ったりすることができます。たとえば、セクション 7.1 の MySQL Sharding アーキテクチャを実装するために、MySQL データベースに基づいて二次開発を行うことができます。大規模なインターネット企業 (従業員 1,000 人以上) では、分散アーキテクチャやストレージ エンジンなどのコア ストレージ テクノロジを独自に開発する必要があることがよくあります。一般的な分散ストレージシステムの開発サイクルは非常に長くなります。システムアーキテクチャは複数世代にわたって進化する必要があり、チームメンバーも開発プロセスを通じて成長する必要があります。したがって、これを実行する場合は、実行しないか、それに固執する必要があります。

<<:  クラウドコンピューティングの6つの関連技術

>>:  【AWSコミュニティディスカッション活動まとめ4】機械学習のプロセスにおける迂回路について語る

推薦する

公立病院検索における現在のレベル情報が医療 SEO に与える影響

今日、Souwai の Q&A チャンネルを閲覧していたところ、次のような質問を見つけました...

独創性は独創性のためだけのものではありません。独創性は、Web サイトの全体的なコンテンツ戦略を形成する必要があります。

一つの石が千の波紋を巻き起こす。百度の「百度地震」に関する公式声明と「低品質サイト」の定義は、ウェブ...

災害復旧について話すとき、私たちは何について話すのでしょうか?

災害復旧というと、多くの学生は「同じ都市でのデュアルアクティブ」、「2 つの場所に 3 つのセンター...

SaaS vs. PaaS vs. IaaS 市場動向

クラウド コンピューティング サービスの 3 つの基本モデルは、サービスとしてのソフトウェア (Sa...

3分レビュー! 2021年8月のクラウドコンピューティング分野の重要な動向を簡単に紹介します

[[419910]] 2020年以降、クラウドコンピューティングがトレンドになりました。ますます多く...

詳細が成功と失敗を決定づける: ウェブサイト上のリンク切れの検出と処理

ウェブサイトの最適化において、デッドリンクはウェブサイトのイメージに影響を与える重要なポイントです。...

2018年新年会ガイド、ゲーム界とブロックチェーンのどちらが人気があるか見てみましょう。

2018 年の初めに、編集者は 3 月と 4 月に会議を開催するための情報を全員に集めました。市場に...

NetApp、ハイブリッドクラウドデータ管理ソリューションを発表

NetApp は本日、ハイブリッド クラウド全体で顧客がデータを最大限に制御し、データ移動のセキュリ...

グーグル創業者がFTCの公聴会に出席すると報道、トップ弁護士を雇用

Google の共同創業者ラリー・ペイジとセルゲイ・ブリン(写真提供: テンセント テクノロジー)北...

#GPU サーバー# serverwala: インド製 GPU、最大 4 ウェイ NVIDIA-T4 または Tesla V100S、768G メモリ、Intel Gold/AMD EPYC

serverwala は、インドで VPS、専用サーバー、GPU サーバー、機器ホスティング、その他...

中小規模のサイト間で友好的なリンクを交換するためのヒントを共有します

友好的なリンクの交換は、あらゆるサイトにとって重要な部分です。権威が高く関連性の高いサイトからのリン...