SAP HANA の永続化って?メリットも解説

SAP ERPを置き換えるものとして、SAP S/4HANA が2015年2月に発表されてから約6年以上もの月日が流れました。しかしながら、SAP S/4HANAの技術の中核であるSAP HANAについてあまりよくわからないという方もいらっしゃるのではないでしょうか。平たく言うと、SAP HANAはデータベースの役割を担うのですが、活用されている技術は多いので、今回は、SAP HANAに使われている様々な技術に触れながらも、永続化をテーマにメリットも解説していきたいと思います。

SAP HANAって何?もう一度おさらいしてみよう

まず、SAP HANAの永続化について解説する前に、そもそもSAP HANAとは何かについて、触れていきたいと思います。SAP ERPの後継製品としてSAP S/4HANAが発表されましたが、そのSAP S/4HANAに利用されているデータベースがSAP HANAというデータベースです。従来のデータベースとは異なり、リアルタイムでデータを参照できる高速なデータベースを目指して開発されました。従来のSAP ERPでは、使用するデータベースは選択することができましたが、SAP S/4HANAはSAPの開発するSAP HANAのみデータベースとして利用できます。SAP S/4HANAがクラウド環境とオンプレミス環境の両方に対応しているので、SAP HANAもクラウド環境とオンプレミス環境の両方に対応可能です。つまり、従来のデータベースよりも高速で、クラウド環境にも対応したデータベースとなります。

SAP HANAの仕組み

では、なぜ従来のデータベースよりも高速なのでしょうか。それはSAP HANAの仕組みにあります。

記録方法

従来のデータベースではディスクに保存されているデータを一度メモリ上に読み出し、その読み出したデータに対してCPUが処理を行っていました。また、データに変更があれば、メモリ上のデータをディスクに書き込みます。この流れの中で、メモリからディスクに書き込むという操作には時間がかかります。ハードディスクではミリ秒(1/1000秒)単位での遅延、高速だと言われているSSDでもマイクロ秒(1/1000ミリ秒)単位の遅延があります。メモリ操作はナノ秒(1/1000マイクロ秒)単位の世界なので、いかにディスクへの書き込みがボトルネックになっているかというのがわかります。しかしながら、SAP HANAではインメモリデータベースという方式を採用することで、このボトルネックの大幅な改善に成功しました。この改善により、従来製品よりも3~7倍の速度でアクセスできるようになりました。

データの構造

また、記録方法だけではなく、データ構造そのものを見直すことでも高速化を図っています。通常のデータベースではロー(行)ストアという方式でデータを格納していますが、SAP HANAはカラム(列)ストアという方式にも対応しています。これにより、データベース容量の圧縮やレスポンスの改善が見込めます。

SAP HANA 永続化の仕組み

ここまで、SAP HANAはメモリ上に存在するデータベースで、従来のデータベースより高速で軽量であるといった解説をしました。しかし、「メモリ上に存在するデータベースは障害に弱いのではないか?」といった疑問や、 「メンテナンス時にデータはどうなるのか?」といったような疑問を持たれた方もいらっしゃるのではないでしょうか?SAP HANAはメモリ上だけではなく、データを永続化する仕組みが備わっているので、障害に弱いことや、メンテナンス時に困るなどといった事象は発生しません。それでは、一体どのような仕組みでデータの永続化を行っているのでしょうか。一つずつ見ていきましょう。

セーブポイント

SAP HANAは5分に一度セーブポイントという処理が行われます。これは自動的に行われる処理で、このセーブポイントという処理により、ディスクにデータを書き出すという形でデータが永続化できます。ただし、毎回すべてのデータをディスクに保存するわけではありません。前回のセーブポイントから変更があった部分のみディスクに保存されます。よってディスクへの書き込みを最小限に抑えた上で、SAP HANAのデータをディスクに保存することができます。

スナップショット

スナップショットもまた、SAP HANAのデータを永続化する手段の一つです。セーブポイントは一定周期で自動的にデータのバックアップが行われますが、スナップショットはコマンドや特定のイベント発生時に作成されます。また、セーブポイントは前回保存時と異なる部分を更新するというものでしたが、スナップショットはSAP HANAが持っているデータを丸ごとバックアップします。また、一度保存されたものが更新されることはなく、管理者が意図的に削除するか、SAP HANAを削除するまで保持されます。

SAP S/4HANA 導入支援サービス 基本ガイドブック

SAP HANA 永続化のメリット

インメモリデータベースで高速であるというメリットがあるにも関わらず、あえて低速であるディスクを使用してまで永続化の処理を行うのはなぜでしょうか。理由としては以下の5つが挙げられます。

  • メンテナンス時など、サーバーの再起動が必要な操作があるため。(SAP HANAはインメモリデータベースであるため、シャットダウンを行うとデータが消えてしまいます。)
  • 人的ミスによる障害から復旧するため。
  • ハードウェア、ソフトウェア障害などから復旧するため。
  • ランサムウェアなどへのリスク対応のため。
  • 自然災害などからの復旧のため。

今のITにとっては、もはや当たり前といってもよいくらいの要素ではないでしょうか。高速なデータベースであるだけでなく、上記のような押さえるべきポイントもしっかりと押さえています。

ここで、ポイントとなるのがSAP HANAが備えているのはただのバックアップ機能ではなく、復旧も視野にいれた永続化の機能を提供しているという点です。通常であれば、バックアップの要件や対象、バックアップを取るタイミングなどを設計しなければなりません。しかし、SAP HANAは復旧も含めた機能が提供されているので、より強固なデータベースになっています。

まとめ

いかがでしたでしょうか?今回のSAP HANA の永続化についてのポイントは以下です。

  • SAP HANAはインメモリデータベースと呼ばれるデータベースである。
  • 従来のデータベースよりも高速で動作する。
  • 豊富なバックアップの機能が備わっている。
  • バックアップを取るだけではなく、復旧も視野にいれた機能が備わっている。
  • SAP HANAは永続化技術により、高速なだけではなく、障害にも強いデータベースとなっている。

パソナテックではSAP S/4HANAマイグレーションを検討する際に欠かせない、考慮すべきポイントをまとめた入門資料「SAP S/4HANAへの道知っておくべきこと、今からやれること、とは?」をご用意しました。本資料は、SAP S/4HANAマイグレーションへ進む方へ必見の資料です。ぜひダウンロードいただき、ご覧ください。

SAPマイグレーション すべての選択肢 大全集
SAP S/4HANA 導入支援サービス 基本ガイドブック