Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
sakuyuki
Product and Topic Expert
Product and Topic Expert
1,938

はじめに

SAP HANA Cloud, databaseでは、四半期に一度新しいリリース(QRC)が提供されています。また、リリースが提供されてから7ヶ月経つと(= 新しいリリースが2つ以上出ると)、SAP によってインスタンスが次の上位バージョンに自動的にアップグレードされます。そのため、SAP HANA Cloud, HANA Databaseをご利用いただいるお客様はHANA Cloudのバージョンアップを定期的に計画していただく必要があります。

SAP Help"SAP HANA Cloud管理ガイド"より抜粋:
sakuyuki_3-1708050241109.png
詳細はこちらのSAP HANA Cloud管理ガイドを参照してください。

本ブログでは、お客様にてバージョンアップをしていただく際に押さえておいていただきたい以下の3つのポイントについて紹介させていただきます。

  1. 新しい機能・変更情報の確認
  2. アップグレード方法
  3. プランスタビリティ機能の活用

1. 新しい機能・変更情報の確認

HANA Cloud, HANA Databaseのバージョンアップを計画するにあたり、新しい機能および変更情報を確認いただく必要があります。新しい機能でより効果的にSAP HANA Cloudをご活用いただけるができるかもしれません。また、あまり多くはない印象ですが、仕様変更によりバージョンアップに伴いお客様にご対応いただく必要がある場合もございます。新機能・変更される機能に基づいて運用やアプリケーションの再テストを計画いただくために、必ずアップグレード前にはリリース情報をご確認ください。

SAP HANA Cloudのリリース情報、新機能・変更の情報は下記よりご確認いただけます。

1) Blog: What's New SAP HANA Cloud

sakuyuki_2-1708050215981.png

新しいリリースの情報については、SAP HANA Cloudのプロダクトマネージャーよりブログにて、主要な新機能について説明されています。Google Chromeでの翻訳機能などを使って、まずはざっくりどんな機能があるか確認するのも良いかと思います。

私の知る限りでは、このブログシリーズへの公式リンク集はないので、新しいリリースが提供された際に「What's New in SAP HANA Cloud」とブログを検索してみてください。2023年のリリースに関するブログはこちらです。

What’s New in SAP HANA Cloud – March 2023
What’s New in SAP HANA Cloud – June 2023
What’s New in SAP HANA Cloud – September 2023
What’s New in SAP HANA Cloud – December 2023

 

2) YouTube – プレイリスト : SAP HANA Cloud

sakuyuki_1-1708049744010.png

このYoutubeのプレイリストでは、先ほどのブログのSAP HANA Cloudのプロダクトマネージャー達がSAP HANA Cloudの各リリースで提供される新機能のハイライトについて、デモを交えながら紹介しています。実際にどのように動くのかみたい場合にはブログと合わせて、こちらの動画も見てみてください

3) ヘルプドキュメント What's New in SAP HANA Cloud

sakuyuki_5-1708051078684.png

このヘルプドキュメントでは、SAP HANA Cloudで提供される新しい機能について一覧でまとめたものになります。コンポーネント(SAP HANA Cloud、Data Lake、Database)、バージョン、関連領域(管理、開発、セキュリティなど)、カテゴリ(SQL、パフォーマンス、管理ツールなど)、環境(CloudFoundry、 Kyma)などで分類されていますので、ご利用のシナリオに応じて新機能や変更内容について確認いただけます。

特に確認していただきたいのは、「Action: Required」の変更です。Requiredとなっている変更内容は、お客様に対応が必要となる変更内容となりますので、利用シナリオに該当するか確認の上、必ずご対応ください。

例えば、下図では2024/QRC1でHANA Cloud, Data Lakeの監査ログの仕様変更に伴う準備について記載されています。
sakuyuki_6-1708051436194.png

なお、このWhat's Newは、CSVでダウンロードすることが可能です。ダウンロードして、Excelなどで新機能・変更内容が利用シナリオに関連するかメモなどを残すと良いかと思います。

sakuyuki_7-1708051649077.png

2. アップグレード手法

SAP HANA Cloud, HANA Databaseのアップグレードは、SAP HANA Cloud Centralから行うことができます。SAP HANA Cloud Centralにて、利用可能なリリースおよびパッチがある場合、NotificationにInfoマークで表示されます。もし、!のWarningマークが表示されている場合はメンテナンス期間が終了し、SAPによる自動アップグレードの対象となることを示しているので、できる限り早くアップグレードを計画してください。なお、SAPによる自動アップグレードを行う場合は、実施の約1ヶ月ほど前に通知される保守時間帯に実行されます。

sakuyuki_9-1708052668792.png

SAP HANA Cloud Centralでアップグレードおよびパッチ適用する際には、2つのオプションから実行することが可能です。

  1. 再起動ありのアップグレード(デフォルト)
  2. 再起動なしのアップグレード(ニアゼロダウンタイム)

sakuyuki_10-1708052702903.png

再起動ありのアップグレード

デフォルトの動作です。再起動ありのアップグレードの場合は、今稼働しているインスタンスで直接アップグレードを行います。そのため、アップグレード実行中にインスタンスの再起動が発生するのでダウンタイムが発生します。しかし、後述の再起動なしのアップグレードに比べて、トータルの所要時間は短かく、ダウンタイムの時間帯が明確なのがメリットです。

再起動なしのアップグレード

再起動なしのアップグレードでは、一時的な追加システム(シャドウ)を作成し、アップグレードを行います。シャドウでのアップグレードが完了後、テイクオーバーを実行し、元々のインスタンスは切り離されます。そのため、実際のダウンタイムは、1分ほどのテイクオーバーの実行時間で短く抑えることができます。また、シャドウの作成に伴う追加の料金は発生しません。一方で、シャドウシステムへのデータの同期が必要なため、トータルの実行時間は再起動ありのアップグレードより長く、またテイクオーバーのタイミングは制御できないことをご注意ください。

2つのオプションの詳細はこちらのSAP HANA Cloud管理ガイドをご参照ください。どちらのオプションを利用するかは、お客様の利用シナリオ・用途によって判断いただく必要がございます。私個人の所感では、

  • 本番環境でも、明確な計画停止時間内に行う必要がある場合や、定期的な長時間実行される処理がある場合には、停止時間が明確な「再起動ありのアップグレード」
  • ダウンタイムを少しでも短くする必要がある場合や、オンライン処理が中心でエラーが出ても再処理で簡単に対応できるような場合は、「再起動なしのアップグレード」

のように選択すると良いかと思います。

3. プランスタビリティの活用

ここでは、アップグレードに伴うSQLクエリのパフォーマンスに影響を少なくするための機能 Plan Stabilityについて説明します。

SAP HANA Cloud, HANA Databaseでは、多くの他のRDBMSと同じようにSQLクエリを実行する際に、どのように内部的に処理するかオプティマイザーが"実行計画(SQL Plan)"を立てて、実際のクエリを処理します。実行計画の中では、例えば、複数のJoinがある場合にどの順番から結合するのか、UnionとJoinをどの順序で実行するのか、、、などを決めます。また、SAP HANA Cloud, HANA Databaseの場合、クエリを処理するための複数のエンジン(HEX, ESX, OLAP, Joinなど)があり、それぞれ得意・不得意があるため、どのエンジンで実行するかも決めています。そのため、実行順序や実行エンジンを決めた実行計画よって、SQLクエリのパフォーマンスが変わってきます。
※各エンジンの詳細については、こちらのヘルプをご参照ください。

SAPでは、より最適な実行計画を作れるようにオプティマイザーの改良を続けていますが、どうしても全体最適という形なので、アップグレードに伴い実行計画が変わることでパフォーマンスが低下してしまうケースが発生することが起こりえます。

それを解決するための機能として、プランスタビリティという機能をSAP HANA Cloud, HANA Databaseでは提供しています。プランスタビリティ機能では、クエリのパフォーマンスを保証するために、抽象 SQL プラン (ASP) を取得することができます。アップグレード後、パフォーマンスの低下が確認されたクエリがある場合お、アップグレード前に取得していた抽象SQLプラン 再利用して元のプランを再生成し、元のパフォーマンスを回復することができます。

抽象SQLプランの取得対象は任意で設定することが可能ですが、SAP HANA Cloud, HANA Databaseでは、2023/QRC1より自動取得されるようになりました。ただし、全てのSQLクエリが取得できるのではなく、更新DMLやテーブル関数などサポートされないクエリがあることもご注意ください(SAPノート 3133960 - SQL Plan Stability for SAP HANA Cloud )

プランスタビリティの機能の詳細については、上記のノートと合わせて下記もご参照ください

さいごに

アップグレードに伴うテストをどれくらいやればいいのか?というご相談をいただくことがあります。前述のとおり、SAP HANA Cloudでは、機能・仕様の変更については"What's New"にて確認、性能低下に対応するには"プランスタビリティ"機能をご利用いただくことが可能です。

とはいえ、どこまでやれば安心か・テストに見合うコストはどう考えるかは、お客様の利用シナリオやサービスレベルに依存すると思います。クラウド上のマネージドデータベースのため、定期的なアップグレードは避けることができません。そのため、主要なシナリオに対してテストスクリプトやテスト自動化を導入し、よりクイックに・コストを抑えてアップグレードに伴うテストを計画・実施いただくこととをおすすめします。