😽

Azure SQLの違いまとめてみた 基礎編

2022/12/07に公開約3,400字

はじめに

DP-300勉強記01

Azure上のSQLについて

デプロイオプション

AzureでのSQL Serverのデプロイオプションは3つ存在します。Azure Virtual Machine上にSQL Serverを構築するIaaSモデル、PaaSのManaged Instance、SQL Databaseの3種類です。

image01

ざっくりとしたイメージ

SQL VM

「オンプレのSQL ServerをそのままAzureで使いたい場合採用」

SQL ServerとOSを自由に触れる
SQL Server、OSのバージョンを選べる
SQL Server(オンプレ)の機能をフルに利用できる
すべて自分で運用する必要がある
SQL Server用の拡張機能が用意されている

Managed Instance

「ほぼSQL Serverの機能を使えるAzure上のマネージドSQL Server」

フルマネージドサービス
インスタンスが提供される(単一インスタンス or インスタンスプール)
SQL Serverのほとんどの機能が使えるため、オンプレからの移行に向いている

SQL DB

「アプリ開発に集中できるマネージドなSQL DB」

フルマネージドサービス
OS、SQL Serverインスタンスが抽象化される(要はDBだけをユーザは意識して利用する)
無制限のデータベースストレージ (ハイパースケール) と自動スケーリング (サーバーレス) プランがある

エラスティックデータベースプール

SQL Database と SQL Managed Instance には、複数のインスタンスまたはデータベースがある場合の追加オプションがあります。 これらのオプションは "エラスティック データベース プール" と呼ばれます。 エラスティック データベース プールを使用すると、複数のインスタンスやデータベースの間でリソースを共有し、コストを最適化することができます。

SQL Database エラスティック プール

プロビジョニングされた SQL Database リソースの 1 つのセット内で、多くのデータベースをホストすることができます。 このオプションは、多くのデータベースのパフォーマンスを簡単に管理および監視できるため、サービスとしてのソフトウェア (SaaS) のアプリケーションまたはプロバイダーに最適です。

SQL Managed Instance プール

複数のマネージド インスタンスをホストし、リソースを共有できます。 コンピューティング リソースを事前にプロビジョニングすることができます。 これにより、全体的なデプロイ時間を短縮して、移行を容易にすることができます。 また、インスタンス プールでは、1 つのマネージド インスタンスの場合よりも小さいマネージド インスタンスをホストすることができます。 このプランは現在、パブリック プレビュー段階です。

購入モデル、サービス レベル、ハードウェアの選択

購入モデル

Azure SQLの購入モデルは下記2種類です。

  • 仮想コアに基づく (仮想コア ベース)
  • データベース トランザクション ユニットに基づく (DTU ベース)

※Managed Instanceは仮装コアモデルのみです。

MS推奨は仮装コアモデルです。仮装コアモデルのみAzure予約購入(割引)が可能です。

サービスレベル

仮装コアモデルでは下記3種類のサービスレベルが選択できます。

  • General Purpose
    • ほとんどのビジネス ワークロードに適しています。 は、予算指向の、バランスが取れた、スケーラブルなコンピューティングおよびストレージ オプションが提供されます。
  • Business Critical
    • 待機時間の短い応答の要件のあるビジネス アプリケーションに適しています。 複数の分離されたレプリカを使用すると、障害に対する最大限の回復力が提供されます。 インメモリ OLTP を使用してパフォーマンスを向上できるのは、このレベルだけです。
  • Hyperscale
    • スケーラブルなストレージ (100 TB 以上) と読み取りスケールの要件を持つビジネス ワークロードに適しています。 パフォーマンスとコストの観点からは、このレベルは General Purpose と Business Critical の間になります。 現在、Hyperscale は Azure SQL Database の単一データベースでのみ使用できます。

コンピューティングレベル

General Purpose かつ 仮装コアモデルを選択した場合は、課金対象のコンピューティングレベルを更に選択できます。

  • プロビジョニング済みコンピューティング は、継続的に平均コンピューティング使用量が高い比較的規則正しい使用パターンや、エラスティック プールを使用する複数のデータベースを対象としたものです。 プロビジョニング済みコンピューティングにより、最適なパフォーマンスを確保するために一定の時間に一定量のリソースが提供され、使用量に関係なくそれらのリソースに対して課金されます。 プロビジョニング済みコンピューティングの場合、ワークロードのコンピューティング リソースのサイズを管理する必要があります。

  • サーバーレス コンピューティング は、継続的に平均コンピューティング使用量が低い、断続的で予測できない使用量を対象としたものです。 サーバーレスの場合、パフォーマンス管理を簡略化するために自動コンピューティング スケーリングが提供され、使用されたコンピューティングの量に対してのみ課金されます。 サーバーレスでは、自動的な一時停止と再開もサポートされているため、価格をさらに最適化できます。 データベースが一時停止している場合は、ストレージに対してのみ課金されます。

Azure SQLの管理インターフェース

Azure Portal

image02

SQL Server Management Studio(SSMS)

※Mac非対応

image03

Azure Data Studio

Azure Data Studio は、SQL Server や Azure SQL などのさまざまな Azure データ ソースでクエリと操作を行うための、オープンソースのクロスプラットフォームツールです。

ノートブックという機能でJupyter Notebookを利用してSQLを実行することが可能です。

image04

参考サイト

Discussion

ログインするとコメントできます