共通分散ファイルストレージの紹介、選択比較、アーキテクチャ設計

共通分散ファイルストレージの紹介、選択比較、アーキテクチャ設計

[[243682]]

データは世界で最も価値のあるリソースになりつつあります。分散ファイル ストレージは、分散ファイル ストレージ ソリューション、選択、およびアーキテクチャ設計を伴うデータ爆発に対処するための最適なソリューションです。

分散ファイルストレージの起源

データ爆発の時代において、生成されるデータの量は GB、TB、PB、ZB と増加し続けています。データの価値を掘り起こすことも、企業が常に追求している究極の目標です。しかし、膨大な量のデータをマイニングしたい場合、まず考慮する必要があるのは、テラバイト単位のデータなど、膨大な量のデータの保存です。

データストレージについて話すときは、ディスクのデータの読み取り速度と書き込み速度について話す必要があります。 1990 年代初頭には、一般的なハードディスクの記憶容量は約 1G で、ハードディスクの読み取り速度は約 4.4MB/秒でした。ハードディスクの読み込みには5分程度かかっていましたが、現在ではハードディスクの容量は1TB程度と、1000倍近くまで拡大しています。しかし、ハードディスクの読み取り速度は約100MB/秒です。ハードドライブの読み取りには約 2.5 時間かかります。そのため、TB レベルのデータに基づく分析の場合、計算による分析はおろか、ハードディスクからデータを読み取るだけでも数日かかります。では、ビッグデータの保存、計算、分析はどのように行うのでしょうか?これには、次の分散ファイル ストレージが含まれます。

一般的な分散ファイルシステム

GFS、HDFS、Luster、Ceph、GridFS、mogileFS、TFS、FastDFS など。それぞれ異なる分野に適しています。これらはシステム レベルの分散ファイル システムではなく、アプリケーション レベルの分散ファイル ストレージ サービスです。

分散ファイルストレージモデルの比較

よく知られているオープンソースの分散ファイルストレージ

1. GFS (Google ファイル システム)

Google が自社のニーズを満たすために開発した、Linux ベースの独自の分散ファイルシステム。 Google はシステムの技術的な詳細の一部を公開していますが、システムのソフトウェア部分はオープンソース ソフトウェアとして公開していません。

2. HDFS

Hadoop は、HDFS と呼ばれる分散ファイル システム (Hadoop Distributed File System) を実装します。 Hadoop は、Apache Lucene の作成者である Doug Cutting によって開発された、広く使用されているテキスト検索ライブラリです。それはApache Nutchから生まれました。

後者はオープンソースの Web 検索エンジンであり、それ自体が Luene プロジェクトの一部です。 Aapche Hadoop アーキテクチャは、MapReduce アルゴリズムのオープン ソース アプリケーションであり、Google が帝国を築く上で重要な基礎となります。

3.TFS

TFS (Taobao FileSystem) は、主に大量の非構造化データを対象とした、拡張性、可用性、パフォーマンスに優れたインターネット指向の分散ファイルシステムです。一般的なLinuxマシンクラスタ上に構築されており、外部に高い信頼性を提供することができます。

高度な同時ストレージアクセスを実現します。 TFS は、通常ファイル サイズが 1 MB を超えない大規模な小さなファイル ストレージを Taobao に提供します。これは、Taobao の小さなファイル ストレージの需要を満たし、さまざまな Taobao アプリケーションで広く使用されています。 HA アーキテクチャとスムーズな拡張を採用し、ファイルシステム全体の可用性とスケーラビリティを確保します。同時に、フラットなデータ編成構造により、ファイル名をファイルの物理アドレスにマップできるため、ファイル アクセス プロセスが簡素化され、TFS に一定の範囲で優れた読み取りおよび書き込みパフォーマンスが提供されます。

多くの分散ファイルシステムの起源となった Google の学術論文。 HDFS と TFS は、Google の GFS を参考に設計されています。

典型的な分散ファイルストレージアーキテクチャ設計

Hadoop の HDFS を例に挙げてみます。結局のところ、これは最も広く使用されているオープンソースの分散ファイルストレージです。

Hadoop 分散ファイル システム (HDFS) は、市販のハードウェア上で実行するのに適した分散ファイル システムとして設計されています。 HDFS は、安価なマシンへの導入に適した、耐障害性が非常に高いシステムです。 HDFS は高スループットのデータ アクセスを提供でき、大規模なデータ セット上のアプリケーションに非常に適しています。 HDFS は、ファイル システム データをストリーミングするという目的を達成するために、いくつかの POSIX 制約を緩和します。

大規模データセット

HDFS 上で実行されるアプリケーションには非常に大きなデータ セットがあります。 HDFS 上の典型的なファイル サイズは、通常、G バイトから T バイトの間です。したがって、HDFS は大容量のファイル ストレージをサポートするように調整されています。全体的に高いデータ転送帯域幅を提供し、クラスター内の数百のノードに拡張できる必要があります。単一の HDFS インスタンスは、数千万のファイルをサポートできる必要があります。

シンプルな一貫性モデル

HDFS アプリケーションには、「一度書き込み、何度も読み取り」のファイル アクセス モデルが必要です。ファイルが作成され、書き込まれ、閉じられた後は、変更する必要はありません。この仮定により、データの一貫性の問題が簡素化され、高スループットのデータ アクセスが可能になります。 Map/Reduce アプリケーションや Web クローラー アプリケーションは、このモデルに非常に適しています。将来的にはこのモデルを拡張して、ファイルへの追加の書き込み操作をサポートする予定です。

異機種ハードウェアおよびソフトウェアプラットフォーム間の移植性

HDFS は、プラットフォームの移植性を念頭に置いて設計されました。この機能により、大規模データ アプリケーション プラットフォームとしての HDFS の推進が容易になります。

ネームノードとデータノード

HDFS はマスター/スレーブ アーキテクチャを採用しています。 HDFS クラスターは、Namenode と一定数のデータノードで構成されます。

Namenode は、ファイル システムの名前空間とファイルへのクライアント アクセスの管理を担当する中央サーバーです。

通常、クラスターにはノードごとに 1 つのデータノードがあり、それが配置されているノード上のストレージを管理する役割を担います。 HDFS はファイル システムの名前空間を公開し、ユーザーはファイルの形式でデータを保存できます。内部的には、ファイルは 1 つ以上のデータ ブロックに分割され、一連のデータノードに保存されます。

Namenode は、ファイルやディレクトリを開く、閉じる、名前を変更するなどのファイル システムの名前空間操作を実行します。また、データ ブロックを特定のデータノード ノードにマッピングする決定も行います。データノードは、ファイル システム クライアントからの読み取りおよび書き込み要求を処理する役割を担います。データ ブロックは、Namenode の統一されたスケジュールに従って作成、削除、複製されます。

Namenode と Datanode は、一般的な市販マシン上で実行できるように設計されています。これらのマシンでは通常、GNU/Linux オペレーティング システム (OS) が実行されます。 HDFS は Java で開発されているため、Java をサポートするマシンであれば、Namenode または Datanode をデプロイできます。 HDFS は移植性の高い Java 言語を使用しているため、さまざまな種類のマシンに導入できます。一般的なデプロイメント シナリオでは、マシン上で 1 つの Namenode インスタンスのみが実行され、クラスター内の他のマシンはそれぞれ Datanode インスタンスを実行します。このアーキテクチャでは、単一のマシン上で複数のデータノードを実行することを排除するものではありませんが、これはあまり一般的ではありません。

分散ストレージの未来

現代社会が産業時代から情報化時代へと移行する中で、情報技術の発展と人間生活のインテリジェント化により、データが爆発的に増加し、データは世界で最も価値のある資源になりつつあります。

物理的な保存形式に応じて、データ保存は集中型ストレージと分散型ストレージに分けられます。集中型ストレージは主に従来のストレージアレイ (従来のストレージ) に基づいていますが、分散型ストレージ (クラウド ストレージ) は主にソフトウェア定義ストレージに基づいています。

従来のストレージは、高い信頼性、優れた安定性、豊富な機能で常に知られていますが、同時に、水平方向のスケーラビリティが低い、価格が高い、データ接続が難しいなどの欠点も露呈しています。データアイランドが形成されやすく、データセンターの管理と保守のコストが高くなります。

分散ストレージ: データはネットワーク上の複数の独立したデバイスに保存されます。一般的には、標準の x86 サーバーとネットワーク相互接続が使用され、関連するストレージ ソフトウェアがそれら上で実行されます。システム全体としては外部世界に対してストレージ サービスを提供します。 。

つまり、分散ファイルストレージは、ストレージスペースの利用率を向上させるだけでなく、弾力的な拡張を実現し、運用コストを削減し、リソースの無駄を回避し、将来のデータ爆発時代のシナリオにより適しています。

<<:  アプリケーションをクラウドに移行しますか?これらの3つのステップは素晴らしい顧客体験を保証します

>>:  避けられないトレンドであるハイブリッドクラウドにとって、管理上の問題が障害となるのはなぜでしょうか?

推薦する

コミュニティサイトにおけるネットユーザーの重要性

ウェブマスターは、独自の Web サイトを所有する人々のグループです。彼らはインターネット上でユーザ...

動的なウェブページを静的なウェブページに変換するにはソフトウェアプログラムに頼るだけでは不十分です。

多くのウェブマスターの心の中では、動的なウェブページを静的なウェブページに変換するのは非常に簡単です...

チュートリアル: Linode に Windows をインストールする

Linode の VPS は KVM 仮想化に基づいています。デフォルトのシステム テンプレートでは...

2013 年 6 月の SEO 体験

SEOをやっていたものの、以前の仕事とはどんどん違いが出てきており、小さなサイトしかなく、長い間更新...

Scrapy 分散クローラー、キュー、ブルーム フィルターを 1 分で入手

[[348974]] Scrapy を使用して分散クローラーを開発しますか?一番早い方法は何か知って...

Oracleエンタープライズアプリケーションをクラウドに移行する上で知っておくべきこと

クラウド コンピューティング、パブリック クラウド、マルチクラウド... クラウド コンピューティン...

Google オプティマイズ ウェブマスター ガイドライン

これらのガイドラインに従うことは、Google による発見、インデックス登録、ランク付けに非常に役立...

ブログにトラフィックを集める10の方法

コアヒント: ブログは一般的なウェブサイトとは大きく異なり、ブログのプロモーション方法もウェブサイト...

hosteons - 無制限の VPS、KVM 仮想化/Windows、ロサンゼルス、20G の高防御

hosteons はシンガポールに登録されている会社です (HOSTEONS PTE. LTD.、登...

vmiss: 韓国 VPS (cn2+bgp) 30% 割引、18 元/月、1G メモリ/1 コア/10gSSD/300G トラフィック/100M 帯域幅

vmiss は、韓国のソウル データ センターに新しい韓国 VPS を立ち上げました。公式では、引き...

ウェブサイトの SEO 最適化の基本チュートリアル: ウェブサイトの TKD (タイトル、キーワード、説明) 設定

ウェブサイトの SEO 最適化の最初のステップは、TKD を設定することです。TKD は、タイトル、...

事例分析:3つの側面から旅行サイトをもっとユーザーフレンドリーにする

国内の物質消費レベルが継続的に向上するにつれて、中国人の旅行への熱意も高まり、観光産業も急速に発展し...

Baiduウェブマスターツールの検索キーワードクエリは期待するほどの価値はない

実際、Baidu 検索キーワード クエリ ツールのベータ版がオンラインになっています。表示量とクリッ...

Google Cloud Games はパフォーマンスが低いため優先順位が下がった

Stadiaは、Googleが2019年後半に開始したクラウドゲームサービスです。この技術により、ユ...

ブランドマーケティングの5つの落とし穴!

最近、一部のオンライン取引プラットフォームでは、一部の「限定版」国産スニーカーの価格が急騰している。...