インタビュー:ブロックストレージは時代遅れ、オブジェクトストレージはファイルストレージよりも高速になり、ストレージクラスメモリがサーバー上の唯一のローカルストレージになるだろう。ロバート・ノヴァクはそう言ったが…一体誰なのだろうか?
Novak 氏は最近まで HP サーバーのハイパースケール事業部門の著名な技術者であり、興味深い職歴を持っています。2012 年 4 月から 2014 年 12 月まで Nexenta Systems のシステム アーキテクチャ担当ディレクターを務め、VMworld 2014 で NexentaEdge を発表しました。NexentaEdge は、グローバルなインライン重複排除、動的負荷分散、容量分散などを提供しながら、クラスターのクラスター全体にグローバルな名前空間を提供するスケールアウト ストレージ アーキテクチャです。
それ以前は、2007年7月から2012年4月までSupermicroでエンタープライズサーバー担当ディレクターを務めていました。また、Sunで8年間、MIPSで2年間、Pyramidで6年間の勤務経験も有しています。Novak氏は昨年出版された「Software Defined Data Centers for Dummies」の著者でもあります。
彼は7月から取り組んでいるスタートアップ企業への資金調達に携わっており、オブジェクトストレージを管理する新しい方法について2つの特許を申請している。
私たちはロバートに一連の質問をして、彼の考えを探りました。皆さんが興味を持ち、好奇心をそそられ、そしてその答えを読んで楽しんでくれることを願っています。
El Reg Robertさん、ブロック ストレージが廃止されたのはなぜですか。また、それが Hollerith カードとどのような関係があるのでしょうか。
ロバート・ノヴァク私は長年ストレージ業界で働いてきました。以前はコンピュータサイエンス科2年生に、Unixファイルシステムと、iノード(現在はメタデータと呼ばれています)を使ってディスクドライブのブロック上のファイルの配置場所を追跡する方法を教えていました。
最近、新しいファイル システムを調べる作業に取り組んでおり、ストレージとファイル システムに関する印刷された書籍をすべて収集することから調査を始めました。
各書籍の冒頭には「ユニット・レコード・デバイス」の説明があります。読者の中には、このデバイスを使ったことを覚えているほどの年齢の人は少ないでしょうが、IBMメインフレームの全盛期には、80桁パンチカードとして知られていました。このカードは、実際にはホレリスカードと呼ばれる古い技術を改良したもので、その起源は鉄道のパンチ切符に遡ります。
ホレリスパンチカード
「ユニットレコード」は、記憶装置(テープであっても)に個別のレコードとして保存するには小さすぎたため、「ブロック」と呼ばれるレコードのグループにまとめられました。では、なぜこれが重要なのでしょうか?それは、ホレリスカードの最初の大規模な応用に関係しています。1890年、米国国勢調査局はすべての国勢調査データをホレリスカードにコード化し、その後、ソートマシンを使用してデータを集計・ソートしました。
だからこそ、コンピューターに使用されている「ブロック」ストレージは 125 年前のものだと私は主張します。
El Regオブジェクト ストレージは基礎となるファイル ストレージに基づいていますか? また、それはどのようにして実現したのですか?
ロバート・ノヴァックほとんどのオブジェクトストアは、オブジェクトをファイルの集合として保存することから始まりました。一部のオブジェクトストアは、独自のファイルシステム内のブロック上でオブジェクトを直接管理していますが、ほとんどのオブジェクトストアはファイルストレージ上に構築されており、ファイルストレージ内の別の領域を使用して、メタデータ(オブジェクト名、作成日、所有者など)とデータ(画像、動画、ドキュメント)を分離しています。この階層構造は、以下の図で示されています。
オブジェクトストアの階層化
El Regキー/値ストレージと直接ディスク アドレス指定によって、それがどのように改善されるのでしょうか?
ロバート・ノヴァックまず、キー/バリューストレージについてお話ししましょう。2013年、Seagateはキー/バリューストレージデバイス「Kinetic」ドライブの開発計画を発表し、実際にその1年後の2014年に出荷を開始しました。
これらのドライブを使用すると、ドライブのサイズ、ドライブ上のストレージ ブロックのサイズ、またはデータが実際にドライブ上のどこに保存されるかについて何も知る必要がありません。
必要なのは「鍵」(Kineticモデルでは最大4096ビット)だけです。これは政治的に正しくない表現で、失礼な意図はありませんが、私はこれを「チャイニーズ・ランドリー・モデル」と呼ぶことがあります。衣類をチャイニーズ・ランドリーに持ち込み、クリーニングに出します。店主が番号の書かれたチケットを渡します。
数日後、あなたは衣類(価値)を取り戻すためにランドリーに戻りましたが、ランドリーチケット(鍵)を忘れていました。店主は「チケットがないと洗濯できません」と言います。
キー/バリュードライブも同様の仕組みで動作します。ただし、所有者からチケット(キー)が付与されるのではなく、データに対してグローバルに一意である必要のある独自のキーを作成します。
この違いは、ホストサーバーがデバイスのどこにデータが格納されているかを一切認識しないことです。他のファイルシステムのように、データへの依存関係を構築しません。こうした依存関係こそが、ブロックポインタ書き換え問題を引き起こし、多くのファイルシステムでシングルド磁気ストレージの採用を阻む原因となっています。
キー/値ドライブのデータには「アドレス」がありません。ドライブの「アドレス」とは、ドライブに割り当てられた1つ(または複数)のIPアドレスです。ただし、適切なブロードキャストまたはマルチキャスト技術を使用すれば、ドライブのアドレスを知る必要さえありません。この点については後ほど詳しく説明します。言い換えると、キー/値は一種の遅延バインディングを表しています。