Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure Data Services choices for SQL Server Users

Hidekazu Sato
December 18, 2021

Azure Data Services choices for SQL Server Users

JSSUG 49th Microsoft Data Platform Day 登壇資料
【初級、中級者向け】SQL Server ユーザーのための Azure データ サービスの選択肢

Hidekazu Sato

December 18, 2021
Tweet

More Decks by Hidekazu Sato

Other Decks in Technology

Transcript

  1. 自己紹介 日本マイクロソフト株式会社 カスタマーサクセス事業本部 データ&クラウドAI アーキテクト統括本部 シニア クラウドソリューション アーキテクト 佐藤 秀和(さとう

    ひでかず) Mail : [email protected] Azure データサービスの導入に関する技術支援を行っています。 2001年にマイクロソフトへ入社以来データベース エンジニアリング一筋。 お客様やパートナー様に、マイクロソフトのデータサービスをより良くご活用いただく ために、日々奮闘中。
  2. 現行システムの棚卸と現状の把握 対象サーバーの洗い 出し • サーバーリソース (CPU/メモリ/ディス ク) • OS/SQL Serverの

    バージョン/エディ ション/互換性レベ ル • 構成情報 (アプリ ケーション構成や ネットワークトポロ ジーなど) 稼働サービスの確認 • データベースエンジ ン • SQL エージェント • Integration Services • Reporting Services • Analysis Services : 使用機能の確認 • 認証方式 • 可用性構成 • バックアップ手法 • カラムストアやイン メモリOLTPなどの 高速化機能 • レプリケーション • パーティション • セキュリティ構成 : 非機能要件 と 運用方式 • SLA • RPO/RTO • 修正プログラム等の メンテナンス方針 • 運用監視方法 • : その他 • 設計書等のドキュメ ントの有無 • パフォーマンスの ベースライン
  3. モダン クラウドアプ リケーションに最適 Database Instance Virtual Machine SQL Server on

    Azure Virtual Machines リソースの提供モデル Azure SQL Managed Instance Azure SQL Database SQL Server との高い互換性と PaaS のメリットを両立 SQL Server Instance の 完全な制御と機能 Microsoft管理 (PaaS) 利用者管理 (IaaS)
  4. 16

  5. SQL Server 物理マシン SQL Server Private Cloud 仮想マシン Azure VM上の

    SQL Server 仮想マシン Azure SQL Database 仮想データベース 仮想化ソフトのVM上の SQL Server 仮想マシン 物理 ストレージ サーバー ネットワーク OS ミドルウエア 仮想化 データ アプリケーション ランタイム ユ ー ザ ー 企 業 管 理 仮想/IaaS ストレージ サーバー ネットワーク OS ミドルウエア 仮想化 データ アプリケーション ランタイム ベ ン ダ ー 管 理 ユ ー ザ ー 企 業 管 理 PaaS ストレージ サーバー ネットワーク OS ミドルウエア 仮想化 アプリケーション ランタイム データ ベ ン ダ ー 管 理 ユ ー ザ ー 企 業 管 理 オンプレミス クラウド 17 ストレージ サーバー ネットワーク OS ミドルウエア 仮想化 データ アプリケーション ランタイム 環境構築 SLA の担保 (可用性、災害対策) 運用管理 環境構築 SLA の担保 運用管理
  6. 自動バックアップ ポイントタイム 復元 エクスポート エクスポート時 点への復元 BLOB ストレージ Bacpac ファイル

    システムのサービスレベルに合わせてリカ バリタイムを考えてバックアップ/リカバリ 方法を設計し、運用と管理をする必要があ る。 自動で35日間 のバックアップを取得
  7. 20 バージョン 互換性レベル SQL Server 2019 150 SQL Server 2017

    140 SQL Server 2016 130 SQL Server 2014 120 SQL Server 2012 110 SQL Server 2008 / 2008 R2 100 SQL Server 2005 90 SQL Server 2019 SQL Managed Instance で サポートされる互換性レベル SQL Server 2005のバックアップイメージから復元が可能だが、 互換性レベル 100 まで自動的に上げられる
  8. 現行システムのアセスメントの後に、下記手順で移行先を判断 1. シンプルな条件でざっくりと • IaaS or PaaS • 互換性重視 •

    新規開発 2. ノックアウト条件で対象を絞る • OS / 操作 • 最大容量 / DB数 • メンテナンス 3. 機能詳細のフィット & ギャップ • AD 認証 • VNET 対応 • Link Server • DWH or OLTP • 脅威検出 • etc... 4. ギャップを埋められるかで 最終的な判断 • バージョン • etc... 必須要件の洗い出し と 優先順位付け が重要
  9. 22 Volume データ量 Velocity 発生から消費まで Concurrency 同時アクセス Cost 費用 Operational

    Store Analytic Store SQL Database SQL Server VM PostgreSQL MySQL Cosmos DB Data Lake Storage Synapse Analytics
  10. SQL Server on Azure VM Single Elastic Pool Managed Instance

    SQL DW OS/DBの管理 修正プログラムの適用 必要 不要(自動) 不要(自動) 不要(自動) 不要(自動) 修正プログラムの 適用タイミング制御 〇 〇 〇 〇 〇 バックアップ運用 △ 要設定 〇 構成済み 〇 構成済み 〇 構成済み 〇 構成済み 可用性構成 △ 要設定 〇 構成済み 〇 構成済み 〇 構成済み 〇 構成済み ファイルパスの指定 〇 × × × ×
  11. 特定バージョンの維持 〇 × × × × 互換性レベルの変更 〇 〇 〇

    〇 × 最大データ容量 64TB*1 4TB 4TB*2 8TB 240TB*3 利用可能DB数 32,767 1 100 100 1
  12. 25 利用形態 ワークロード 種類 最大 DB サイズ / IOPS 最大

    CPU / メモリ 最大同時実行数 論理 サーバー OLTP Single Database 4 TB / 204,800 IOPS 80 コア / 408 GB 8,000 Elastic Pool 4 TB / 256,000 IOPS 80 コア / 408 GB 8,400 Hyperscale 100 TB / 204,800 IOPS 80 コア / 408 GB 8,000 Serverless 3 TB / 5,120 IOPS 16 コア / 48 GB 300 DWH Synapse Analytics 行ストア : 240 TB 列ストア : 無制限 60 の コンピュートリソース 128 インスタンス Managed Instance 8 TB / 320,000 IOPS 80 コア / 408 GB -
  13. 2GB 1TB 4TB 8TB 64TB 240TB • General Purpose •

    Business Critical • Basic • Standard • Business Critical • General Purpose ※ プールの上限内で 1DB あたり Gen1:未圧縮で240TB Gen2:列ストアは無制限 Elastic Pool Managed Instance Single SQL VM SQL DW • Hyperscale ~100 TB
  14. AD 認証 〇 〇 AAD 認証 〇 AAD 認証 〇

    AAD 認証 〇 AAD 認証 VNET 対応 ◎ VNET配置 〇 〇 ◎ VNET配置 〇 マルチ DB 〇 × △ 〇 × Link Server 〇 × × 〇 × MSDTC による 分散トランザクション 〇 × × △ × SSAS、SSRS、SSIS 〇 △* △* △* △* 脅威検出 〇 〇 〇 〇 〇 https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-features SSAS、SSRS、SSIS はそれぞれ Azure の PaaS サービスで置き換え可能(SSAS: Azure Analysis Services、SSRS: Power BI、SSIS: Azure Data Factory+SSIS 統合ランタイム)
  15. 1DB 100DB 500DB ~ • General Purpose • Basic /

    Standard • Business Critical • Premium シングル データ ベース としての利用 • General Purpose • Business Critical Link Server 利用不可 Link Server 利用可能 ※ SQL Server / SQL Database のみ Elastic Pool Managed Instance Single / Hyperscale SQL DW SQL VM Link Server 利用可能 ※ 他社 DB とも連携可能
  16. 31 インスタンスレベルでの照合順序の変更ができません Managed Instance の照合順を既定値(SQL_Latin1_General_CP1_CI_AS)から変更できません。 例えば、一時テーブルを使用した場合、一時テーブルが格納される TempDB の照合順序は、 インスタンスの照合順 序である

    SQL_Latin1_General_CP1_CI_AS となり、仮にユーザDBを Japanese_CS_AS として作成した場合に照合順序 の競合を解決できず、エラーとなる場合があります。 → 規定の照合順序以外を利用する場合は、包含データベースを使用することで TempDB の照合順序の依存を 解消することができるためエラーを回避できます。 Managed Instance (SQL_Latin1_General_CP1_CI_AS) TempDB (SQL_Latin1_General_CP1_CI_AS) UserDB (Japanese_CS_AS) CREATE TABLE #temp_tbl … 一時テーブル SQL Database、 SQL Managed Instance では対応済み
  17. SQL Server データ収集・加工(SSIS) レポーティング(SSRS) アプリケーション 認証 Azure AD と連携することで、SSOを実現 34

    基幹システム BIシステム データ収集・加工 レポーティング Azure SSIS Integration Runtime Cloud ADFS Cloud AD Azure AD Power BI Managed Instance Managed Instance App Service
  18. 35 SQL Server on Azure VM アプリケーション Azure SQL Managed

    Instance Azure SQL Database 利用者が管理 Microsoft が管理 データベース SQL Server Operating System Hypervisor ハードウェア 環境管理 アプリケーション Hypervisor ハードウェア 環境管理 SQL Server データベース アプリケーション Hypervisor ハードウェア 環境管理 データベース Operating System Operating System SQL Server
  19. 36 SQL Server on Azure VM アプリケーション Azure SQL Managed

    Instance Azure SQL Database 利用者が管理 Microsoft が管理 SQL Server on Azure VM + SQL IaaS Agent 拡張機能 データベース SQL Server Operating System Hypervisor ハードウェア 環境管理 アプリケーション Hypervisor ハードウェア 環境管理 SQL Server データベース アプリケーション Hypervisor ハードウェア 環境管理 データベース Operating System Operating System SQL Server アプリケーション Hypervisor ハードウェア 環境管理 SQL Server データベース Operating System
  20. 37 SQL IaaS Agent 拡張機能を導入することで、コスト削減、セキュリティ強化、可用性向上、ストレージ管理の簡素化が可能 コストの最適化 セキュリティの強化 稼働率の向上 管理の簡素化 Azure

    VM で稼働している SQL Server をす べて 1 か所でまとめて確認でき、ライセンス の種類を容易に切り替えられるため、使用し た分のみの料金を支払うようにすることでコ スト削減も可能。 セキュリティ更新プログラムの適用を 管理し、暗号化機能を簡単に実装して、 セキュリティとコンプライアンスを強 化できる。 バックアップの自動化、高可用性の容 易な構成、HA/DR に関するライセン ス特典の活用を通じて、ビジネス継続 性を強化できる。 ストレージのベスト プラクティスを 自動的に適用し、ストレージの設定 を SQL Server に最適化できる。 • インベントリ管理 - 各種ライセンスをカウントし て、データ資産を把握できる。 • 柔軟なライセンス体系 - 可用性に影響を及ぼすこ となく、従量課金制 (PAYG) と Azure ハイブリッ ド特典 (AHB) のライセンス モデルを瞬時に切り替 えたり、Developer エディションと Enterprise エ ディションを切り替えたりすることができる。 • エディションのインプレース アップグレード – サポート対象のアップグレード パスでは、可用性 に影響を及ぼすことなく、SQL Server エディショ ンをアップグレードまたはダウングレードできる。 価格変更は自動的に反映されます。 • パッチの自動適用 - メンテナンスの時間帯 を独自に設定して、SQL Server のセキュリ ティ更新プログラムのインストールを自動化 できる。 • Azure Key Vault の統合 - SQL Server イン スタンスに Azure Key Vault を構成して、 SQL Server の透過的なデータ暗号化 (TDE)、 列レベルの暗号化、Always Encrypted 機能 に Key Vault を活用し、保存中および通信中 のデータを暗号化できる。 • 自動バックアップ - SQL Server のバック アップを設定する際に、バックアップの暗 号化、保持期間の設定、システム データ ベースのバックアップ、手動バックアップ スケジュールの構成、自動バックアップの 設定など、各種オプションを使用できる。 • 高可用性 (HA) 構成の自動化 - VM 上の SQL Server に Always On 可用性グループ (AG) を構成することで、クラスターの新規 作成や既存のクラスターのオンボードと いった 複雑な管理作業が容易になる。 • ディザスター リカバリー (DR) ライセンス - Azure の SQL Server HA/DR ソフトウェア アシュアランス特典 (英語) を活用できる。 ソフトウェア アシュアランスまたは SQL Server サブスクリプション ライセンスを利 用している場合、追加のライセンス コスト なしで、オンプレミス SQL Server 用のディ ザスター リカバリー サイトとして Azure を 使用できる。 • ストレージ管理の自動化 - ストレージの 構成が容易なうえ、構成済みのストレージ で VM をセットアップできるため、データ、 ログ、tempdb ファイルの適切なストレー ジ構成を確実に選択できる。 • 管理の一元化 - SQL VM と SQL PaaS の 環境を簡単に一元管理できる。 • ベスト プラクティスの適用 - あらかじめ 構成されたベスト プラクティスに沿って SQL Server をデプロイできる。 SQL Server HA/DR ソフトウェア アシュアランス特典 (英語) https://cloudblogs.microsoft.com/sqlserver/2019/10/30/new-high-availability-and-disaster-recovery-benefits-for-sql-server/
  21. 1 File 10 File 15 File 20 File CTAS COPY

    Data Flow CTAS COPY Data Flow CTAS COPY Data Flow CTAS COPY Data Flow Round Robin Heap 256 355 2,514 265 328 254 290 263 293 Column Store 320 364 297 342 308 373 315 351 Hash Heap 400 816 489 350 395 334 389 352 Column Store 393 847 382 472 409 391 401 370 60 File 100 File 500 File 1000 File CTAS COPY Data Flow CTAS COPY Data Flow CTAS COPY Data Flow CTAS COPY Data Flow Round Robin Heap 276 292 277 150 281 164 287 161 Column Store 311 309 309 207 309 205 336 241 Hash Heap 377 336 379 203 397 186 392 183 Column Store 384 386 412 261 392 248 371 249 1 File 2 vCore 4 vCore 6 vCore 10 vCore 20 vCore 40 vCore 80 vCore General Purpose (Gen5) 3,150 1,604 1050 812 853 838 931 Business Critical (Gen5) 1,208 857 792 729 756 784 963 Hyperscale (Gen5) 1,429 913 1,027 1,859 1,979 1,854 3,667 2 vCore 4 vCore 6 vCore 10 vCore 20 vCore 40 vCore 80 vCore General Purpose (Gen5) 9Mbps 18Mbps 27Mbps 45Mbps 50Mbps 50Mbps 50Mbps Business Critical (Gen5) 24Mbps 48Mbps 72Mbps 96Mbps 96Mbps 96Mbps 96Mbps Hyperscale (Gen5) 100Mbps 100Mbps 100Mbps 100Mbps 100Mbps 100Mbps 100Mbps 1 File P1 P2 P4 P6 P11 P15 Premium 4,723 2,362 1,180 829 747 859
  22. 40

  23. アセスメント データベース移行 (スキーマ/データ) アプリケーション移行 新環境での最適化 •Database Migration Assistant (DMA) •Database

    Migration Assistant (DMA) •BACPAC •Replication / Data Sync •Database Migration Service (DMS) •Database Experimentation Assistant (DEA) •クエリストア •Data Access Migration Toolkit •Database Migration Assistant (DMA)
  24. Data Migration Assistant (DMA) Microsoft® Data Migration Assistant v5.0 https://www.microsoft.com/en-us/download/details.aspx?id=53595

    Data Migration Assistant (DMA) https://techcommunity.microsoft.com/t5/microsoft-data-migration/bg-p/MicrosoftDataMigration Data Migration Assistant の概要 https://docs.microsoft.com/ja-jp/sql/dma/dma-overview SQL Server データベースを Azure SQL Database に移行する https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-migrate-your-sql-server-database
  25. Data Access Migration Toolkit .Net application assessments in Data Access

    Migration Toolkit are now available https://azure.microsoft.com/en-us/updates/net-application-assessments-in-data-access-migration-toolkit-are-now-available/ Data Access Migration Toolkit https://marketplace.visualstudio.com/items?itemName=ms-databasemigration.data-access-migration-toolkit
  26. Database Experimentation Assistant (DEA) Microsoft® Database Experimentation Assistant 2.6 https://www.microsoft.com/en-us/download/details.aspx?id=54090

    Release: Database Experimentation Assistant (DEA) v2.6 https://blogs.msdn.microsoft.com/datamigration/2018/08/06/release-database-experimentation-assistant-dea-v2-6/ 日本語版 SQL Server で レポートを作成する場合、 DEA からの接続に使用する ログインの言語をEnglish に変更 ログインの言語設定の変更 DEA により作成されるレポート
  27. 参考) DEA を使用した分析の流れ ①分析対象のクエリをキャプチャ ②クエリの再生 ③再生結果の分析 SQL Server DEA ①キャプチャの設定を

    DEA から投入 Application ②クエリを実行 ③トレースを生成 トレースファイル SQL Server ①クエリを再生 再生結果 ②再生結果を生成 クエリの再生は環境 A/B に 対して実行し、両環境の結果を取得 分析データ格納用 SQL Server 環境 A 再生結果 環境 B 再生結果 DEA DEA ①再生結果を比較 / 分析 ②分析結果からレポートを生成
  28. データの同期 SQL Server パブリッシャー (同期対象 DB) ディストリビューター (同期制御 DB) SQL

    Database サブスクライバー (同期先 DB) プッシュサブスクリプション SQL Database へのレプリケーション https://docs.microsoft.com/ja-jp/sql/relational-databases/replication/replication-to-sql-database Sync data across multiple cloud and on-premises databases with SQL Data Sync https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-sync-data 同期エージェント SQL Server SQL Database SQL Database (論理サーバー) メタデータ DB 同期グループ (同期の論理単位) ハブ データベース (同期対象) トランザクションレプリケーションと Data Sync で同期するためには主キーが必要 注意事項
  29. Identify the right Azure SQL Database/Managed Instance SKU for your

    on-premises database https://docs.microsoft.com/en-us/sql/dma/dma-sku-recommend-sql-db?view=sql-server-ver15
  30. 51 Microsoft / Microsoft 以外のデータベースを Azure にマイグレーションするためのサービス • 移行のためのツールや実行環境を自分で準備することなく、サービスとして利用することが可能 •

    Standard / Premium の 2 種類の価格レベルで利用可能 • Standard : オフライン移行 (ワンタイム移行) の機能を利用可能 (無料で利用可能) • Premium : Standard + オンライン移行 (継続的な移行) を利用可能 (作成後 6 か月間 (183 日) は無料で利用可 能) DMS は Azure の仮想ネットワーク内のリソースとして作成し、DMS からアクセス可能な DB の 移行を行う • DMS を配置した仮想ネットワークを VPN / Express Route でオンプレミスと接続することで、社内 DB の移行が可能 Azure Database Migration Service https://azure.microsoft.com/ja-jp/services/database-migration/ FAQ about using the Azure Database Migration Service https://docs.microsoft.com/en-us/azure/dms/faq Azure Database Migration Service とは https://docs.microsoft.com/ja-jp/azure/dms/dms-overview DMS Azure 仮想ネットワーク Azure 社内 他クラウド 移行元 / 移行先 DMS の仮想ネットワークから アクセス可能な範囲が移行対象
  31. 52 オフライン移行 (Standard / Premium) 移行作業中に変更されたデータは移行されない アプリケーションからのデータ更新を停止し、停止期間中に移行作業を実施 最もシンプルな移行方法ではあるが、移行に必要な停止期間はデータサイズに依存 オンライン移行 (Premium)

    初期以降 / 切り替えまでの増分移行の 2 種類の機能により実現 初期移行後に変更されたデータについても、自動的に増分移行が実施される 最終的な切り替えを実施する直前に、一時的にアプリケーションからのデータ更新を停止し、最 終同期を実施することで移行完了 (最終切り替え時のみシステム停止が発生) システム停止 データ移行 システム切り替え 初期データ移行 増分移行 システム停止 最終データ移行 システム切り替え
  32. 54 ①スキーマの移行 SQL Server SQL Database スキーマを移行 ②データ移行の開始 DMS SQL

    Server SQL Database ①DMS がデータをエクスポート ②DMS がデータをインポート DMS バックアップの取得とリストア SQL Server 共有フォルダー BLOB ストレージ ①DMS がバックアップ 要求を送信 ②SQL Server が共有フォルダーに バックアップを取得 ③DMS がバックアップを BLOB ストレージに移動 Managed Instance ⑤Managed Instance が BLOB ストレージから バックアップをリストア ④DMS がリストア 要求を送信
  33. 55 Migrate SQL Server to Azure SQL Database online using

    DMS https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-azure-sql-online Migrate SQL Server to Azure SQL Database Managed Instance online using DMS https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-managed-instance-online
  34. 56 Known issues/migration limitations with online migrations to Azure SQL

    DB https://docs.microsoft.com/en-us/azure/dms/known-issues-azure-sql-online
  35. 57 ①スキーマの移行 (DMS を使用する前の事前作業) SQL Server SQL Database スキーマを移行 DMS

    の Online Migration では、データ移行のみが実施されるため、 スキーマについては、「DMA」を使用して移行 ②DMS で Online Migration Project を作成 ③ DMS でデータ移行を開始 DMS SQL Server SQL Database ①DMS がデータを取得 (初回同期以降は増分データを取得) ②DMS がデータを反映 ④移行元で更新を停止し、最終データ移行を実施
  36. 58 ①事前バックアップの取得 SQL Server 「完全バックアップ」「トランザクションログバックアップ」の 2 種類を取得し共有フォルダーに配置 ※バックアップは「CHECKSUM オプション」を有効にして取得 ②DMS

    で Online Migration Project を作成 ③ DMS でデータ移行を開始 DMS ①DMS が配置されているバックアップを BLOB ストレージにアップロード ②DMS がバックアップをリストア 初回リストア以降は追加された ログバックアップを定期的にリストア ④移行元で更新を停止し、最終データ移行を実施 共有フォルダー Managed Instance 共有フォルダー
  37. • Migrate SQL Server to Azure SQL Database offline using

    DMS • https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-to-azure-sql • Migrate SQL Server to Azure SQL Database online using DMS • https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-azure-sql-online • Migrate SQL Server to Azure SQL Database Managed Instance offline using DMS • https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-to-managed-instance • Migrate SQL Server to Azure SQL Database Managed Instance online using DMS • https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-managed-instance-online • Migrate RDS SQL Server to Azure SQL DB or Azure SQL DB Managed Instance online • https://docs.microsoft.com/en-us/azure/dms/tutorial-rds-sql-server-azure-sql-and-managed-instance-online 59
  38. 61

  39. ◼ 本書に記載した情報は、本書各項目に関する発行日現在の Microsoft の見解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないため、 ここに記載した情報に対していかなる責務を負うものではなく、提示された情報の信憑性については保証できません。 ◼ 本書は情報提供のみを目的としています。 Microsoft は、明示的または暗示的を問わず、本書にいかなる保証も与えるものではありません。 ◼

    すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書面による明確な許可なく、本書の如何なる部分についても、転載や検索システムへの格納または挿入を行うことは、どのような形式または手段(電子的、 機械的、複写、レコーディング、その他)、および目的であっても禁じられています。 これらは著作権保護された権利を制限するものではありません。 ◼ Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。Microsoftから書面によるライセンス契約が明確に供給される場合を除いて、本書の提供はこれらの 特許、商標、著作権、またはその他の知的財産へのライセンスを与えるものではありません。 © 2021 Microsoft Corporation. All rights reserved. Microsoft, Windows, その他本文中に登場した各製品名は、Microsoft Corporation の米国およびその他の国における登録商標または商標です。 その他、記載されている会社名および製品名は、一般に各社の商標です。