インメモリ処理のバックエンドストレージを考える

「NVDIMM」はなぜインメモリデータベースの“相棒”になり切れないのか?

高速なデータ処理を可能にする「インメモリデータベース」は、電源を切るとデータを保持できないのが一般的だ。そのためバックエンドのストレージシステムが重要になるが、技術選定は容易ではない。

画像 インメモリデータベースの課題に対処できる適切なバックエンドストレージ技術とは

 インメモリ処理を活用すると、HDDやSDD(ソリッドステートドライブ)のストレージ処理で発生するデータ転送のレイテンシ(遅延)を回避できる。ただしバックエンドに、どのようなストレージを使用するかを考える必要がある。

 データベースをメインメモリ内に保持する「インメモリデータベース」は、ストレージに保持する「オンディスクデータベース」の一次キャッシュメモリより、ずっと多くのメリットをもたらす。インメモリデータベースはほとんどの場合、キャッシュメモリやその他のプロセス用の不要なI/O処理を全てなくし、データベースそのものを更新できる。データを正しく記録したかどうかを確認する「リードアフターライト」の検証処理も非常に高速だ。データベース処理を大幅に高速化し、複数のサーバでデータベースを構成する「データベースクラスタ」に必要なサーバの数も削減できる。

NVDIMMの登場

 インメモリデータベースの採用には課題もある。全てをDRAMで処理すればパフォーマンスが向上する半面、サーバの障害発生時にはDRAMの内容が空になってしまい、データを失うことになる。電源が失われてもデータベースの一部または全部を保持する永続性を確保できれば、インメモリデータベースの用途は広がる。その場合は、バックエンドにどのようなストレージを使うべきかを考えなければならない。

 これまでであれば、ストレージ接続規格NVMeに準拠したSSDや、PCI Express(PCIe)カードにフラッシュメモリを搭載した「PCIeフラッシュカード」に保存することを推奨していた。DRAMから永続的にデータを保持可能なストレージ(以下、永続的ストレージ)へデータを移すには、それが最も速かったからだ。

 現在は永続的ストレージの要素技術として、不揮発性メモリ規格「NVDIMM」も選択肢に入ってきた。NVDIMMは、一般的なメモリモジュール規格「DIMM」のフォームファクタ(形状や仕様)に、DRAMやNANDフラッシュメモリをまとめたメモリ規格だ。

 NVDIMMは高速なバスとメモリI/O方式を使用しており、SSDと比べて非常に高速に動作する。これをDRAMと組み合わせて使うと、インメモリデータベースにシームレスかつ大容量のメモリ領域を利用でき、データを複数のサーバに分散する「シャーディング」の問題を避けることができる。

 ただしNVDIMMは、そのサイズの小ささからSSDよりも一般的に容量制限が厳しく、ビッグデータの処理には問題がある。センサーから連続的に取得するストリームデータや、大部分はアクセスすることのない非常に大きなサイズのデータを処理するには、どうしたらよいか。

 代替策は2つある。

印刷する
SNSでシェア

この記事の著者

Jim O'Reilly
Jim O'Reilly

ITベンダーGermane Systems(Mercury Systemsが買収)のエンジニアリング担当バイスプレジデントを務め、米国海軍向けのサーバとストレージ開発を率いた。IT分野のスタートアップの経営に携わる他、クラウドコンピューティングのコンサルタントとして活躍した経験も持つ。

関連記事

こんなメディアも見られています

TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。

無料会員登録
最新情報をいち早くチェック!

製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます(メディアごとに文章は変更)

いますぐ無料会員登録

ベンダーコンテンツ PR

From Informa TechTarget

アクセスランキング

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10

ホワイトペーパーランキング PR

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10

TechTargetジャパン SNS

X @techtarget_itmをフォロー

インフォメーション

TechTargetジャパンをフォロー