分析:ノートパソコンのファイルシステムに、30日間開かれていないMP3ファイルがいくつ保存されているか尋ねれば、比較的すぐに答えが見つかります。しかし、100万ファイルも保存されている企業のファイルシステムに尋ねれば、大きな問題が生じます。
10 億個のファイルを保持するファイル システムにこの質問をすると、あなたの一日はもっと悪くなります。
なぜこのようなことが起こるのかを説明するファイルシステムの基礎知識を以下に示します。
ファイルシステムは、フォルダ内のファイルの逆さまのツリー構造のようなもので、フォルダは単一のルートから下に向かうディレクトリツリーを形成します。この構造の各ノードには、そこに含まれるファイル、ファイルに関するデータ、そしてその中のサブフォルダがリストされています。ファイルシステム全体のこれらすべてを一箇所にまとめた、中央ディレクトリは存在しません。
逆さまのファイルシステムツリー構造
したがって、最初の質問に答えると、システムはファイル システム ツリーをトラバースまたはウォークし、各ノード (F1-1、F1-2) で .MP3 拡張子を持つファイルと最後に開かれた日付を検索し、フィルター条件に一致する場合はリストに追加する必要があります。ネストされたサブフォルダー (F2-1、F2-2) がある場合は、ツリーを最初のノード (F2-1) までウォークしてこのプロセスを繰り返し、その後、サブフォルダーごとにこのプロセスを繰り返して、一連のノードの一番下まで進み、さらに別のサブフォルダー (F2-2) がリストされているノードまで戻り、そのサブフォルダーに移動し、これを無限に、つまりファイル システムの末尾まで繰り返す必要があります。
各ノード アクセスにディスク アクセスが必要で、これに 10 ミリ秒かかると仮定すると、10 ノードのファイル システムではおよそ 100 ミリ秒かかり、さらにツリーを遡るために必要なアクセスもかかることになります。単純に言えば 150 ミリ秒です。
したがって、もう一度言いますが、100 ノードのファイル システムでは 1,500 ミリ秒、1,000 ノードでは 15,000 ミリ秒、100 万ノードでは 15,000,000 ミリ秒、10 億ノードでは 15,000,000,000 ミリ秒かかります。前述したように、ツリー ウォークには数日かかるため、状況は大幅に悪化します。よく疑われる計算が正しければ、173.6 日かかります。
QumuloのCTO兼共同創業者であるピーター・ゴッドマン氏は、記者会見で、こうした数字は空想上のものではないと述べた。ドリームワークスの大作映画には5億ものファイルが必要であり、レガシーキット(つまり2010年以前のもの)ではこのようなファイルシステムの要求に対応できず、ツリーウォーク麻痺のような状態に陥り、管理と最適化が困難になるという。
Qumulo 氏は、ツリーウォークによりデータ管理タスクが数日から数週間に及ぶことになり、データの盲点につながると述べています。
Qumuloの共同創設者兼CEO、ピーター・ゴッドマン氏
一見単純な要求、たとえば 30 日間開かれていない MP3 ファイルの数など、実行するのは事実上不可能であり、ましてやそれらを安価なバックエンドのクラウド ストレージに移動するようにファイルシステムに指示するのは不可能です。
Qumulo のマーケティング担当副社長、ジェイ・ワンポルド氏は次のように語っています。「何であれ、10 億個もあれば、人間が管理できるものではありません。」
Godman 氏が言うように、関連するメタデータ処理はそれ自体が問題になります。「メタデータ自体は、大規模なビッグデータの問題です」。QF2 (Qumulo File Fabric) を使用すると、大規模なファイルのリアルタイム制御が可能になります。
既存のファイルシステムに必要なメタデータ生成、ストレージ、アクセスを後付けすることはできません。これらは設計段階から組み込む必要があります。Qumuloのスケールアウトファイルシステム(QFSとその基盤となるスケーラブルブロックストア(SBS))では、既に設計段階から組み込まれています。
従来のファイル システム メタデータの拡張機能である Qumulo データベース コンポーネントがあり、ファイル メタデータに仮想フィールドを配置し、分析機能を備えています。
Qumuloが開発・構築し、複数のノードに分散配置されています。これは同社独自のメタデータデータベースであり、ファイルシステムツリーのプロパティであり、メタデータを格納する独立した「ボックス」ではありません。
Qumulo QF2 の技術概要 (PDF) には次のように記載されています。
大量のファイルが存在する場合、ディレクトリ構造とファイル属性自体がビッグデータとなります。その結果、従来のストレージの基本であるツリーウォークなどのシーケンシャルプロセスは、もはや計算的に実行可能ではなくなります。大規模なファイルシステムのクエリと管理には、並列分散アルゴリズムを用いた新しいアプローチが必要になります。
技術論文には次のように記されています。「すべてのファイルのインデックスとして機能するinode Bツリーがあります。inodeリストは、ディレクトリ階層とは独立してファイルシステムの整合性をチェックするための標準的なファイルシステム実装技術です。inodeは、ディレクトリの移動などの更新操作を効率的に行うのにも役立ちます。」
ファイルとディレクトリは、ファイル名、サイズ、アクセス制御リスト (ACL)、POSIX 権限などの独自のキー/値のペアを持つ B ツリーとして表されます。
SBS 内の仮想化保護ブロック ストレージを指す B ツリーへのこの依存は、QF2 で 1 兆個のファイルを持つファイル システムが実現可能である理由の 1 つです。
QumuloDBの分析機能はファイルシステム自体に組み込まれ、統合されています。QF2ファイルシステムはBツリーに基づいているため、分析ではリアルタイム集計システムを使用でき、コストのかかるファイルシステムツリーの参照なしに、タイムリーな処理に必要な情報を得ることができます。
詳細については、技術概要をお読みください。®