SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

現場からお届けするSQL Server 2019最新情報コラム

高速データベース復旧(ADR:Accelerated Database Recovery)中編

 前回の記事では、これまでSQL Serverが抱えてきたデータベース復旧処理に関する課題について紹介しました。今回は、その決定的な打開策として実装された高速データベース復旧の概念やコンポーネントについて詳しく確認していきます。

高速データベース復旧の基本的な概念

 高速データベース復旧の目標は、SQL Serverが停止された際に実行されていたワークロードやトランザクションのサイズに関わらず、データベースに対するREDO(ロールフォワード)とUNDO(ロールバック)を一定時間内に完了させることにあります。

 SQL Server 2019より前のバージョンでは単純に、従来の処理を高速化や並列化することにより時間短縮を模索しましたが、大きな効果を得ることはできませんでした。その経験をもとに、データベース復旧を一定時間内に完了させるという目標達成ためには、これまでとは大きく異なる動作原理の導入が必須であることは自明でした。そこで以下の2つの概念がデータベース復旧高速化のための新たな基軸として導入されました。

行バージョンの使用によるUNDO操作の最適化

 データベース復旧処理に長い時間がかかる大きな要因は、トランザクションログに記録された更新操作の順序に基づいて(基本的にはトランザクションログの逐次適用)データの変更を行うことにあります。

 SQL Serverの前回停止時に非常に負荷の高い処理が実行されていて、復旧対象となるトランザクションログが大量にある場合は、必然的にデータベース復旧に時間を要しユーザーが使用できるまでに長い時間がかかってしまうことになります。つまり一定時間内に復旧処理を完了させることは不可能です。

 この問題を解消するために、行バージョンを使用したUNDOを導入しました。行バージョンの考え方はスナップショット分離レベルで使用されるものと、基本的には同じですが一点決定的に異なる点があります。スナップショット分離レベルで使用する行バージョンはtempdbに格納されていて、SQL Serverが再起動されるとその内容が消失してしまいます。データベース復旧処理はSQL Serverの再起動後に行われるため、これでは役に立ちません。

 そのため、高速データベース復旧用の行バージョンは永続的バージョンストア(Persistent Version Store 以下、PVS)と呼ばれ、各ユーザデータベースに格納され、SQL Serverの再起動後も内容が保持されています。

 PVSを使用することによって、従来のARIES(Algorithm for Recovery and Isolation Exploiting Semantics)をもとにした構造から完全に脱却するのではなく、より短時間でのUNDO操作完了が可能になります。

次のページ
トランザクションログに記録される更新操作の分類による復旧処理の最適化

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
現場からお届けするSQL Server 2019最新情報コラム連載記事一覧

もっと読む

この記事の著者

平山理(ヒラヤマオサム)

日本マイクロソフト株式会社
プレミアフィールドエンジニアリング
プレミアフィールドエンジニア日本マイクロソフトの Premier Field Engineering 部で、お客様に SQL Server をスムーズにお使いいただくための様々なお手伝いをしています。Sybase (現 SAP) 勤務時代の 5 年間とマイクロソフトでの 12 年間、データベース道を極めるために精進する毎日です。
二人の娘の父親で...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/12715 2020/02/10 08:00

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング