2012年08月01日
世界を変える超高速処理の実現へ
インメモリ技術
インメモリ技術とは、処理で扱うデータやプログラムなどを全てメモリ上に格納し、処理する技術のことです。数時間かかるデータ処理を数分に短縮することや、発生したデータを瞬時に処理して結果を返すというリアルタイム処理を可能にする、この「インメモリ技術」が最近注目を集めています。
従来の処理方式
現在、パソコン(PC)やサーバーでは、ハードディスクドライブ(HDD)にデータやプログラムが格納されており、それらは必要に応じてメモリ上に展開されて、処理が行われます(図1参照)。このデータ格納および処理方式は、インメモリとの対比としてオンディスクと呼ばれることもあります。
図1.コンピュータのデータ・アクセス構造
インメモリ技術はなぜ有用なのか
CPUの処理速度とメモリのアクセス速度はナノ秒(1/1,000,000,000秒)単位なのに対して、HDDのアクセス速度はミリ秒(1/1,000秒)単位となっています。そのため、例えばCPUがある命令を処理しようとした時、メモリ上に必要なデータが存在しない場合は、データが存在した場合と比べて10万倍の時間がかかることになります(図2参照)。
しかし、データが全てメモリ上に存在するインメモリ技術では、データの存在場所を考慮する必要がないため、超高速なデータ処理が行えるのです。
図2.CPU vsメモリvs HDD速度比較
CPU、メモリといった半導体は、技術の進歩により年々アクセス速度が向上しています。一方、HDDは中身が金属製のレコードのようなもので、記憶媒体となる円盤が高速回転しているため、発熱や摩耗、振動を考慮すると、CPUやメモリのような速度の向上は見込めません。
そこで、HDDの遅さをカバーするために、データを複数のHDDに配置して並列に読みだす仕組みや、メモリとHDDの間にキャッシュと呼ばれるHDDよりも高速な領域を用意し、一度使ったデータはすぐメモリに展開できるように保管しておく仕組みなど、様々な工夫がなされてきました。しかし、それでも10万倍の速度差を埋めることはできません。
なぜ今インメモリ技術なのか
これほど有用なインメモリ技術が、なぜ今まで使われなかったのでしょうか。それは単純にメモリが高価だったことが原因です(図3参照)。図からも分かるように、ここ10年でメモリのビット単価(容量当たりの価格)は数十分の1程度にまで下落しています。サーバーに利用する信頼性と安全性の高いメモリでも、現在の実勢価格では、256GBで百万円~数百万円であり、企業が基幹システムとして利用するには、現実的な金額といえるでしょう。このような背景から、インメモリ技術の時代へと入ろうとしています。
図3.DRAM価格推移
インメモリ技術の考慮点
理論的にはHDDの実に10万倍もの速度が出るインメモリ技術ですが、良いことばかりではありません。いくつかの考慮すべき点も存在します。
第一に、メモリには電源が切れるとデータがすべて消える性質があります。計画的なシャットダウンにせよ不測の電源ダウンにせよ、その度にデータが消えては業務になりませんので、HDDなどの記憶媒体にデータを保存しておく仕組みが必要となります。
第二に費用の問題です。メモリの価格は下落してきたとは言うものの、HDDに比べるとまだまだ高価です。低価格な企業向けストレージを例に挙げると、メモリ256GBと同じ価格帯で、数TBのHDDを購入することができます。つまり、オンディスクであれば十倍程度の容量を用意できることになります。システムごとに、インメモリにするほどの高速性が求められるのか、費用対効果を十分検討する必要があります。
第三にソフトウェアの問題です。インメモリ技術のメリットを十分に活用するためには、インメモリに特化したアーキテクチャを実装したソフトウェアが必要です。ソフトウェアには主に次の3種類があります。①インメモリ型の分散KVS(Key Value Store)、②DB(Database)、③BI(Business Intelligence)。また、インメモリ技術の方式としては主に、①バックアップ用途にHDDを使う方式、②複数の筺体間でメモリ上のデータをコピーしあい障害発生時も継続してシステム稼働が可能な「クラスタ方式」の二つがあります。さらに、インメモリとオンディスクを両方扱うことにより、それぞれの利点を必要に応じて使い分けられる「ハイブリッド方式」もあります。大容量のメモリを十分に生かしきるためには、用途にあったインメモリ型ソフトウェアを正しく選定する必要があります。
世界を変える超高速処理
インメモリ技術を活用することで、従来型の技術に比べ超高速にデータ処理を行うことができます。最近注目を集めているのは、Big Dataを分析することでビジネス上の意思決定の支援をすることです。莫大な量のデータが日々増大し続けていますが、そのデータを処理し続けるには、高速性が必要になります。Big Dataの一例であるソーシャル・メディアのデータを利用した最新の流行分析を行う場合、データが構造化されていないことや、データの分析処理が複雑である上に、状況は刻一刻変わっていきます。こういった場面でインメモリ技術による超高速処理は非常に有用です。最新の分析結果をより早く利用することで、ビジネスチャンスに結びつけることができます。現代は、インターネットの世界でも企業でも、刻一刻と膨大なデータが発生し続けています。その膨大なデータの中から素早くビジネスチャンスを見出し、タイミング良く活用できるインメモリ技術は、今後、非常に重要な技術となっていくことでしょう。
2012年8月
最新の記事
年別
ITの可能性が満載のメルマガを、お客様への想いと共にお届けします!
Kobelco Systems Letter を購読