Sap-hana-persistent-layer
SAP HANA-永続レイヤー
SAP HANAデータベース永続化レイヤーは、すべてのトランザクションのログを管理して、標準データのバックアップとシステムの復元機能を提供します。
再起動後、またはシステムがクラッシュし、トランザクションが完全にまたは完全に元に戻された後、データベースを最新のコミット状態に復元できるようにします。 SAP HANA Persistent Layerはインデックスサーバーの一部であり、HANAシステムのデータボリュームとトランザクションログボリュームがあり、メモリ内のデータはこれらのボリュームに定期的に保存されます。 HANAシステムには、独自の永続性を持つサービスがあります。 また、最後の保存ポイントからのすべてのデータベーストランザクションの保存ポイントとログも提供します。
SAP HANAデータベースに永続層が必要なのはなぜですか?
- メインメモリは揮発性であるため、再起動中または停電中にデータが失われます。
- データは永続的なメディアに保存する必要があります。
- バックアップと復元が利用可能です。
- 再起動後にデータベースが最新のコミット状態に復元され、トランザクションが完全に実行されるか、完全に取り消されることが保証されます。
データおよびトランザクションログボリューム
データベースは常に最新の状態に復元でき、データベース内のデータに対するこれらの変更が定期的にディスクにコピーされるようにします。 データの変更と特定のトランザクションイベントを含むログファイルも定期的にディスクに保存されます。 システムのデータとログはログボリュームに保存されます。
データボリュームには、SQLデータとUNDOログ情報、およびSAP HANA情報モデリングデータが格納されます。 この情報は、ブロックと呼ばれるデータページに保存されます。 これらのブロックは、一定の時間間隔でデータボリュームに書き込まれます。これは、セーブポイントと呼ばれます。
ログボリュームには、データの変更に関する情報が保存されます。 2つのログポイント間で行われた変更は、ログボリュームに書き込まれ、ログエントリと呼ばれます。 トランザクションがコミットされると、ログバッファに保存されます。
セーブポイント
SAP HANAデータベースでは、変更されたデータはメモリからディスクに自動的に保存されます。 これらの定期的な間隔はセーブポイントと呼ばれ、デフォルトでは5分ごとに発生するように設定されています。 SAP HANAデータベースの永続層は、これらのセーブポイントを定期的に実行します。 この操作中に、変更されたデータがディスクに書き込まれ、REDOログもディスクに保存されます。
セーブポイントに属するデータは、ディスク上のデータの一貫した状態を示し、次のセーブポイント操作が完了するまでそこに残ります。 再実行ログエントリは、永続データに対するすべての変更のログボリュームに書き込まれます。 データベースが再起動した場合、最後に完了したセーブポイントのデータをデータボリュームから読み取り、ログボリュームにREDOログエントリを書き込むことができます。
セーブポイントの頻度は、global.iniファイルで構成できます。 セーブポイントは、データベースのシャットダウンやシステムの再起動などの他の操作によって開始できます。 また、以下のコマンドを実行してセーブポイントを実行することができます-
ALTER System SAVEPOINT
データとREDOログをログボリュームに保存するには、これらをキャプチャするのに十分なディスクスペースがあることを確認する必要があります。そうしないと、システムはディスクフルイベントを発行し、データベースは動作を停止します。
HANAシステムのインストール中に、次のデフォルトディレクトリがデータボリュームとログボリュームの保存場所として作成されます-
- /usr/sap/<SID>/SYS/global/hdb/data */usr/sap/<SID>/SYS/global/hdb/log
これらのディレクトリはglobal.iniファイルで定義されており、後の段階で変更できます。
セーブポイントは、HANAシステムで実行されるトランザクションのパフォーマンスに影響を与えないことに注意してください。 セーブポイント操作中、トランザクションは通常どおり実行され続けます。 HANAシステムが適切なハードウェア上で実行されている場合、システムのパフォーマンスに対するセーブポイントの影響は無視できます。