データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

Stretch Databaseとは?SQL ServerからAzureへのコールドデータ移行をわかりやすく解説

こんにちは、皆さん。今回は、データベース(DB)をさまざまな面で改善してくれる、シンプルながら非常に強力な機能「Stretch Database」についてご紹介します。

それでは早速始めましょう。

Stretch Databaseとは?

SQL Server 2016で導入された「Stretch Database(略称:StretchDB)」は、オンプレミスのSQL ServerからMicrosoft Azureクラウドへデータを拡張できる機能です。ローカルのSQL Server®上にあるコールドデータ(アクセス頻度の低いデータ)をAzure®へアーカイブしながら、ウォームデータ(アクセス頻度の高いデータ)はローカル側に保持し続けます。大量の履歴データを保有しているものの、その大半がめったに参照されないといったシナリオで特に威力を発揮します。

※Stretch DatabaseはSQL Server 2016で提供された機能です。ご利用中のSQL Serverのバージョンにおけるサポート状況については、Microsoftの公式ドキュメントで最新情報をご確認ください。

Stretch DBがもたらすメリット

  • コールドデータをオンプレミスからAzure SQL DBへ簡単かつ手間なく移行でき、ローカルのクエリは主にウォームデータやローカルデータを扱うため、全体的なパフォーマンスが向上します
  • データ移行にコードが不要なため、ローカルのSQL Serverに余計な負荷がかかりません
  • アーカイブ済みデータを照会するために、アプリケーションコードを変更する必要がありません
  • アーカイブデータを、ローカル環境よりも低コストでAzureに保存できます
  • コールドデータをアーカイブすることで、ローカルDBのバックアップ・復元・メンテナンス作業にかかる時間が大幅に短縮されます(ホットデータだけを扱えばよくなるため)

StretchDBの使い方

StretchDBを試すには、次の2つが必要です。

  • ローカルのSQL Server
  • Azureサブスクリプション

今回のデモでは、AdventureWorks2016_EXT.bakというDBバックアップファイルをダウンロードし、ローカルのSQL Serverにリストアしました。ファイルはこちらからダウンロードできます。

StretchDBでテーブルを構成する手順

  1. ローカルのSQL Serverに接続し、AdventureWorks2016_EXTを右クリック→タスクStretch有効化を選択します。
Stretch Databaseとは?SQL ServerからAzureへのコールドデータ移行をわかりやすく解説

  1. アーカイブ対象とするテーブルを選択します。StretchDBに対応していないテーブルはグレーアウト表示されます。
Stretch Databaseとは?SQL ServerからAzureへのコールドデータ移行をわかりやすく解説

  1. 求められたら、Azure環境にサインインします。
Stretch Databaseとは?SQL ServerからAzureへのコールドデータ移行をわかりやすく解説

  1. Azureアカウントにサインインしたら、データをアーカイブするサブスクリプションとリージョンを選択します。
Stretch Databaseとは?SQL ServerからAzureへのコールドデータ移行をわかりやすく解説

  1. DMK(データベース マスター キー)のパスワードを入力します。
Stretch Databaseとは?SQL ServerからAzureへのコールドデータ移行をわかりやすく解説

  1. 通信のためにAzureファイアウォール規則を作成します。
Stretch Databaseとは?SQL ServerからAzureへのコールドデータ移行をわかりやすく解説

  1. 概要を確認し、完了をクリックします。
Stretch Databaseとは?SQL ServerからAzureへのコールドデータ移行をわかりやすく解説

  1. 正常に完了すると、次の画面が表示されます。生成されたログを確認すれば、詳細もチェックできます。
Stretch Databaseとは?SQL ServerからAzureへのコールドデータ移行をわかりやすく解説

  1. 次に、Azure SQL DBへ移行されたデータを検証しましょう。ローカルのSSMSから、通常のSQL Serverと同じ要領でAzure SQL DBに接続します。このとき、手順4で作成したAzure SQL DB用の資格情報を必ず控えておいてください。接続時に使用します。
Stretch Databaseとは?SQL ServerからAzureへのコールドデータ移行をわかりやすく解説

下の画像は、作成されたテーブルを示しています。

Stretch Databaseとは?SQL ServerからAzureへのコールドデータ移行をわかりやすく解説

まとめ

これらのとてもシンプルな手順に従うだけで、パフォーマンスの向上とコスト効率化を同時に実現できます。

この記事がお役に立てたかどうか、またより詳しい内容を扱う続編をご希望かどうか、ぜひコメントでお知らせください。

Rackspace Data Servicesの詳細については、こちらをご覧ください。

コメントやご質問がある場合は、フィードバックタブをご利用ください。Sales Chatをクリックすれば、今すぐチャットで会話を始めることもできます。

  1. MongoDBのディスク使用量を理解する――領域割り当ての仕組みと最適化の判断基準

    はじめにMongoDBを使い始めたばかりの方にとって、そのディスク(スペース)使用量は一見すると分かりにくいものです。本記事では、MongoDBがどのようにディスク領域を割り当てるのか、そしてObjectRocketダッシュボードに表示される使用量情報をどう読み解けばよいのかを解説します。これにより、インスタンスのコンパクション(最適化)が必要なタイミングや、シャードを追加して利用可能領域を拡張すべきタイミングを適切に判断できるようになります。検証環境:5GBシングルシャードのMediumインスタンスまず、5GBのシャード1つで構成された真っさらなMediumインスタンスを用意します。このイン

  2. MS Access から SQL Server へデータを移行する方法【初心者向け手順解説】

    データベースのサイズが大きくなりすぎてAccessでは管理しきれなくなったため、筆者は最近AccessデータベースからSQL Server 2014へデータを移行しました。作業自体はそれほど難しくありませんが、同じことで悩む方のために、ステップごとの詳しい手順を記事としてまとめておきます。 事前準備:SQL Serverのインストール まず最初に、お使いのパソコンにSQL ServerまたはSQL Server Expressがインストールされていることを確認してください。個人用PCにSQL Server Expressをダウンロードする場合は、必ずAdvanced Services(高度なサ