インメモリDBの「SAP HANA」、Intelの不揮発性メモリに正式対応 サーバダウン時もデータを失わず高速起動:Publickey(4/4 ページ)
「SAP HANA」がインテルの不揮発性メモリに正式に対応したことを発表しました。インメモリDBに、不揮発性メモリを利用するメリットはどこにあるのでしょうか。SAP HANAの内部構造からそれを解き明かします。
メインストアの性質が、SAP HANAの不揮発性メモリ活用を支えている
ここまでの説明で、SAP HANAのメインストアはすなわち、高い圧縮率でデータを保存し、データの読み込みや集計処理に特化した領域なのだということが分かります。
そこで、データの追加・削除・更新といった、高速なデータの書き換えを要求されるL1デルタとL2デルタはDRAMに配置して高速な処理を支えつつ、読み込みや集計に特化したメインストアを不揮発性メモリに配置することで、全体として性能低下を抑制できるわけです。
特にメインストアのデータ圧縮率は高いため、たとえ不揮発性メモリがDRAMよりも10倍遅くとも、集計や分析など、データをまとめて読むケースでは、読み込みにかかる時間を10倍以下にできる(圧縮率が10倍であれば、伸張の時間が余計にかかるものの、DRAMとほぼ同じ読み出し時間になる)と考えられます。
こうしてみると、インメモリデータベースとして生まれたSAP HANAは、不揮発性メモリを活用するという面でもよくできた内部構造を備えているのだと思わされます。
サーバダウン時も不揮発性メモリ上のデータは保存されたまま
不揮発性メモリを採用するメリットのもう1つは、サーバがダウンし、再起動したとしても不揮発性メモリの内容は消えないという点です。
SAP HANAはインメモリデータベースなので、利用可能な状態になるにはストレージから全てのデータをメモリへロードする必要があります。しかし、メインストアを不揮発性メモリに配置すると、電源が落ちて再起動したとしてもメインストアの内容は消えません。
DRAM上にあるL1デルタとL2デルタの内容はメモリ上に戻す必要があるので、ログなどから戻す必要がありますが、全体のデータのほとんどはメインストアに配置されているため、復旧処理は短時間で済むはずです。
メインストアを不揮発性メモリに配置することで、万が一SAP HANAがダウンしたとしても非常に高速な再起動が可能になるのです。
不揮発性メモリをどう活用して最適なシステムを構築していくか
不揮発性メモリは今後間違いなく、多くの企業向けサーバに採用されていくテクノロジーです。
SAP HANAは初めて不揮発性メモリに正式対応を表明した主要なデータベースとなりましたが、Oracle DatabaseやMicrosoft SQL Serverなども、今後数年以内に不揮発性メモリへの対応を実現するでしょう。それだけでなく、2019年からIntel Optane DC persistent memoryの本格出荷が始まれば、クラウドにおける仮想サーバでも、不揮発性メモリを搭載したものが出てくるはずです。
これらをどう活用して最適なシステムを構築していくか、技術者にとって新たに考慮すべき要素が増えていくことになります。
この記事は、新野淳一氏のブログ「Publickey」の記事「インメモリDBの「SAP HANA」、インテルの不揮発性メモリに正式対応。サーバダウン時もデータを失わず高速起動」を許可を得た上で転載、編集しています。
関連記事
- なぜSAPはPaaSの名称から「HANA」を外したのか
SAPがクラウドプラットフォームを強化した。注目されるのは、これまで「HANA」を前面に出していたPaaSの名称を「SAP Cloud Platform」に変えたことだ。その意図とは――。 - SAPが「HANA Cloud Platform」に込めた大いなる野望
SAPがPaaS型クラウドサービス「SAP HANA Cloud Platform」の日本での事業展開を強化すると発表。このサービスには同社の大いなる野望が込められていることが分かる。 - データベースのインメモリ化がIT市場にもたらすインパクト
ビッグデータの活用などに向け、データベースをインメモリ化して高速処理を実現した製品が相次いで登場している。この動き、IT市場全体にも大きな影響がありそうだ。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.