「性能」「価格」「信頼性」をすべて満たすストレージとは
企業活動や国・自治体の運営に、デジタルデータが重要な意味を持つことは論を待たない。だからこそ、膨大になるデータを低コストで安全に蓄積する環境が求められる。Neutrix Cloud Japanの田口氏は「データが非常に重要な世の中になりました。Neutrix Cloud Japanは“データのクラウド”を提供するために、この分野で着実な積み重ねを続けてきました」と語る。
コンピューティングリソースや、その上で動くサービスをクラウド化する動きが進む中で、データそのものをクラウド化することも重要性が高まっている。実際、クラウドスト レージ市場は年々成長を続けている。Kenneth Researchの調査レポートによれば、2018年から2028年の間に世界のクラウドストレージ市場はCAGR(年平均成長率)が29%という高い成長を予測している。3年経つと、クラウドストレージに蓄積するデータが倍になるという成長も見られる。田口氏は「こうしたデータの加速的な増加に対して、ストレージのあり方を根底から考え直さないといけない時期に来ているでしょう」と指摘する。
根底から考え直す必要がある「今までの常識」とは、どのようなものか。例えば、金融機関が使うストレージは絶対にデータが消えてはならないし、高速に処理する必要がある。そのような高い性能や信頼性が求められるストレージは、価格も高いことが当たり前であった。「性能」「信頼性」「価格」というストレージの評価軸があったときに、その中から2つを選んで1つは目をつぶるということが常識であったのだ。今後はこの考え方が本当に正しいのかどうかについて、疑問を持つことが必要になる。
田口氏は、「企業が扱うデータの量が、TB(テラバイト)のオーダーだったら、価格に目をつぶっても良かったでしょう。しかしそれが100TBになったり、1PB(ペタバイト)になったりしたらどうするのでしょうか。オンプレミスもクラウドも並行して維持するとしたらどうですか。本来ならば、3つの評価軸のすべてを満たすストレージが必要になるはずです」と語る。
「性能」「価格」「信頼性」のすべてを満たすには、ストレージに新しい考え方が必要になってくると田口氏は指摘する。要件を2つに絞るのではなく、3つとも満たすストレージは、これまでの仕 組みでは実現が難しい。「Neutrix Cloudを開発、提供するINFINIDATの創立者、モシェ・ヤナイは、数学的なアプローチでこの課題に答えを見出しています」(田口氏)。新しいストレージの考え方は、すでに現存しているようだ。
数学とソフトウェアでストレージを作り変える
ストレージは様々な媒体にデータを記録し、必要に応じて読み出す。媒体としては、磁気テープや、ハードディスクドライブ(HDD)、フラッシュメモリーに書き込むソリッドステートドライブ(SSD)などが使われてきた。田口氏は、「INFINIDATでは、数学とソフトウェアでストレージを作り変えることで、性能がよくて無限にスケールできて、価格が圧倒的に安いストレージを作る技術を持っています」と語る。HDDやSSDという媒体に依存するのではなく、ストレージを再定義するのは数学とソフトの力だというのだ。
「ストレージに使われる媒体のパフォーマンスは、それぞれ異なります。フラッシュメモリーを使うSSDは、ディスクが回転するHDDの1000倍のオーダーのパフォーマンスがあります。さらにコンピューターのメインメモリーなどに使われるDRAMは、SSDの1000倍のオーダーのパフォーマンスがあります。DRAMとHDDの間には、100万倍のパフォーマンスの差があるのです。一方で、DRAMは電源を切ったらメモリーの内容が消えてしまう特性がありますし、HDDよりもコストが高いトレードオフの関係にあります」(田口氏)
これらの特性を理解した上で、INFINIDATのクラウドストレージでは実際のデータがどのように保存され、 どのようにアクセスされているかを見てみよう。
「1PBのデータ容量があったとします。INFINIDATのクラウドストレージでは、統計的に見た1PBのデータのうち、940TBはHDDに保管します。SSDに蓄積しているのは、40TBほど、そして最もパフォーマンスの高いDRAMには20TBほどのデータがあるに過ぎません。一方で、アクセスする頻度は逆になり、93%のアクセスはDRAMで完結します。SSDまでアクセスするのは6%、HDDにアクセスする必要があるのは1%に過ぎません」(田口氏)
すなわち、100回のアクセスがあったとき、INFINIDATの技術でDRAMにデータが適切に展開されていれば、93回のアクセスはHDDの100万倍の高速処理が可能になる。HDDやフラッシュメモリーの高性能化を目指すのではなく、数学とソフトによってストレージを構成する媒体の使い分けを最適化することで、総体として新しいストレージを作り上げる考え方だ。どのデータをアクセスが多くパフォーマンスの高いDRAMに格納し、どのデータはアクセス頻度が低いのでコストが低いHDDに格納するか。そうした処理をソフトで実現するのがINFINIDATの技術だという。
これは、ソフトウェアでストレージを定義し、物理的な媒体から切り離して仮想化を実現する「ソフトウェアデファインドストレージ(SDS)」の基本的な考え方である。媒体としては、HDDは低コストで、SSD、DRAMへとコスト高になる。データの94%は安価なHDDに保管しておく。一方で93%のデータアクセスは、実は2%のデータしか持たないDRAMにより高速処理を実現する。総合的に見ると、安価で高性能なストレージがSDSとして構成できることになる。
さらに、低コストと信頼性の両立も果たす。「HDDに記録する際は、64KBの小さいサイズにデータを分割してHDDの中にばらまくような形を採っています。ソフト的な処理でばらまいたデータを管理することにより、HDDの一部にトラブルがあってもデータは消えません。すなわち、HDDが安価なものでも、高い信頼性でデータを保存できるのです」(田口氏)。ストレージ全体の94%を安価なHDDで構成し、ソフト的に制御することで、ほとんどのアクセスはDRAMのパフォーマンスで実現できる新しいストレージが作れるのである。
予測と先読みで最適にキャッシュレイヤーを構成
すなわち、INFINIDATが提供するSDSの技術の核は、HDDとSSD、DRAMで構成する複合的なストレージに対して、コンピューターとのデータのやり取りを最適化する方法にある。シンプルに言えば、コンピューターからのアクセスのほとんどをDRAMとSSDで処理できるようにして、HDDへのアクセスを1%といった少量に抑制できるようにキャッシュレイヤーを構成する技術である。アクセス頻度に合わせて最適化したキャッシュレイヤーにより、I/Oのフローの最適化を実現するわけだ。
その技術は「Neural Cash(Trie)」と呼ぶものだと田口氏は説明する。Trie(トライ)はINFINIDATの特許技術で、検索木のような構造を用いて、データ検索をデータ量に依存せずに高速化できるもの。田口氏は、「文字列の検索ならば1文字ごとに検索木の枝を切って余分なノードを減らし、高速に検索処理できるアルゴリズムが裏側にあると考えてください」とイメージを伝える。
さらに、機械学習とAI(人工知能)を活用したキャッシュシステムにより、ワークロードの特性に合わせたキャッシュメカニズムを能動的に生成する技術も採用している。これらを組み合わせたNeural Cash(Trie)でデータを積極的に先読みし、キャッシュヒット率を高めて「HDDへのアクセスを1%に抑制」できるようになるのだ。
INFINIDATのこうした技術は、クラウド接続ストレージのサービスであるNeutrix Cloudや、ストレージアプライアンスのInfiniBoxに利用されている。「性能」「価格」「信頼性」のすべての条件を満たし、膨大なデータを蓄積できるインフラとして利用できるクラウドストレージの姿が、少し具体的にイメージできるようになってきたのではないだろうか。