爆 サイ パチスロk8 カジノAzureで利用可能なPaaSのSQL Serverの特徴を学ぼう[後編]――Azure SQL DatabaseとAzure SQL Database Managed Instanceの違い仮想通貨カジノパチンコオンライン パチンコ マルハン

爆 サイ パチスロk8 カジノAzureで利用可能なPaaSのSQL Serverの特徴を学ぼう[後編]――Azure SQL DatabaseとAzure SQL Database Managed Instanceの違い仮想通貨カジノパチンコオンライン パチンコ マルハン

canon カメラ 噂k8 カジノ SQL DatabaseとManaged Instanceの特徴Azureで利用可能なPaaSのSQL Serverの特徴を学ぼう[前編]

パチスロ 11月末 撤去台 「Azure SQL Database」(以下、SQL Database)と「Azure SQL Database Managed Instance」(以下、Managed Instance)は、どちらもMicrosoft AzureのPaaS(Platform as a Service)ですが、構成や機能に違いがあります。環境の構成も違いの一つです。各環境の概要は、以下の図1のような構成になります。

図1図1 SQL DatabaseとManaged Instanceの構成の違い

 SQL Databaseは「論理サーバ」という管理単位の中にデータベースが作成され、「各データベースが独立したリソース」となり、データベース単位でリソースのサイズを柔軟に調整できます。

 各データベースは論理サーバという管理単位の中に配置されますが、それぞれ独立したリソースとなっているため、データベースをまたがるクエリ実行については注意が必要です。

 データベースをまたいだクエリの実行はエラスティッククエリ/エラスティックトランザクションという機能で実現できますが、SQL Serverとは方法が異なります。

 一方、Managed Instanceは「インスタンスにリソースを割り当て、インスタンス内に各データベースを作成する」という構成で、各データベースは同一インスタンスのリソースを使用します。この構成はSQL Serverと同じなので、SQL Serverと同じ操作性で利用できます。

 また、SQL Databaseとは異なり、データベースが同一インスタンス内に存在しているため、データベースをまたいだクエリもSQL Serverと同様の方法で実行できます。その他、「SQL Serverエージェント」機能のサポートなどもあり、SQL Serverと高い互換性を備えたPaaS環境として利用できます。

 では、SQL DatabaseとManaged Instanceには、この他にどのような特徴があるのかを見ていきましょう。

SQL Database(シングルデータベース/エラスティックプール)の特徴

 データベースが利用できる環境を構築する目的は「情報(データ)を活用(格納/分析)するための領域(データストア)を作成する」ことではないでしょうか。

 SQL Databaseは、この目的に向け、「環境構築に時間をかけず、すぐにデータベースを使い始める」ことができる最適な環境です。さまざまなリソースのサイズが提供されており、ポータルからの簡単な操作ですぐに利用できます。

●SQL Serverとの機能の違い

 前編でも少し触れましたが、SQL DatabaseはSQL Serverのデータベースエンジンを使用したRDBMS(リレーショナルデータベース管理システム)ですが、SQL Serverの一部の機能は利用することができません(機能向上/改善により、以前は機能の違いがあったものが、最新状態では解消されている可能性もありますので、サービスを利用するタイミングで最新の情報を確認してください)。

 代表的な違いとしては、表1のような機能があります。

SQL Serverとの機能の違い代替案タイムゾーンがUTC(協定世界時)固定日本時間を使用する必要がある場合は9時間の差を考慮するように処理を実装するSQL Serverと同一の方法でデータベースをまたいだクエリを実行できないエラスティッククエリやエラスティックトランザクションで代替可能かどうかを検討リンクサーバをサポートしていないAzure BLOBストレージを介したデータアクセスやAzure Data Factoryなどの機能で外部データ連携が代替可能かどうかを検討レプリケーションはトランザクション/スナップショットのサブスクライバーのみをサポートSQL Databaseを起点としたデータ同期が必要な場合、Data Syncで代替可能かどうかを検討SQL Serverのネイティブバックアップを利用できない(BACKUP/RESTOREステートメントをサポートしていない)BACPACファイルを使用したデータベースのエクスポート/インポートで代替可能かどうかを検討Windows認証をサポートしていないAzure Active Directory認証で認証管理が代替可能かどうかを検討SQL Serverプロファイラーによるクエリ情報の取得をサポートしていない拡張イベントで代替可能かどうかを検討SQL ServerエージェントをサポートしていないAzure Automationなどの機能で代替可能かどうかを検討表1 SQL DatabaseとSQL Serverの代表的な機能の違い

 機能の違いには、タイムゾーンやデータベースをまたいだクエリ実行のような開発観点の考慮が必要なもの、SQL ServerプロファイラーやSQL Serverエージェントといった運用観点の考慮が必要なものがあります。

 この他、SQL Serverとの機能の違いについてはこちらの情報を参照してください。

 既存のSQL Server環境がある場合「Database Migration Assistant」で、SQL Databaseに移行する際のアセスメントを実行することで、移行にどのような問題があるのかを確認できます(画面1)。既存環境は、直近の移行の有無にかかわらず、機能の違いに関する情報収集に最適な環境です。機能の違いを確認する際にはドキュメントだけでなく、このようなアセスメントツールも活用してみてください。

画面1画面1 「Database Migration Assistant」を使用したSQL Databaseとの互換性のアセスメント●リソースの利用形態

 SQL Databaseのリソースの基本単位は「データベース」で、「シングルデータベース」という利用形態が一般的です。

 シングルデータベースでは、データベース単位でリソースの割り当てを設定できるので、負荷を考慮してリソースのサイズを柔軟に調整できます(図2)。アクセス頻度や時間帯に応じてリソースのサイズを変更することで、コスト削減につなげることもできます。

図2図2 シングルデータベースのリソースの利用形態

 複数のデータベースを作成する場合には「エラスティックプール」という利用形態も検討してください。エラスティックプールでは、「プール」という単位でリソースを管理し、そのリソースをプール内のデータベースで共有することができます(図3)。

図3図3 エラスティックプールのリソースの利用形態

 「データベースによって負荷が高くなる時間が異なり、ピークタイムがずれる」というような、“瞬間的に一定の性能が必要だが、恒常的に高い性能は不要”という場合は、エラスティックプールが適しています。

 データベースの数が多い場合は、各データベースをシングルデータベースで作成するよりも、エラスティックプールで作成することでコストを抑えられる可能性があります。シングルデータベースとエラスティックプールはデータベースを作成した後でも、相互に変更することができます。

 データベースの数やデータベース利用者が増えた場合には、利用形態を変更することで、さまざまなメリットを得られる可能性があります。状況に応じて利用形態の変更を検討してください。

●購入モデル

 SQL Databaseには「DTU」と「仮想コア」という2つの購入モデルがあり、リソースサイズをこの2種類のモデルから選択できます。

■DTU DTUは「Database Transaction Unit」の略です。データベースを利用する際には「CPUコア数がxxで、メモリがxxGB、ディスク性能がxxxxIOPS/MB/sec」というような「利用可能なリソース」を基に利用する環境のサイズを検討することが多いのではないでしょうか。

 DTUの購入モデルについては、割り当てられているリソースの具体的な値は公開されておらず、DTUという相対的な単位で性能(利用可能なリソース)が表現されます。

 例えば、200DTUという性能であれば、100DTUの2倍のリソースが割り当てられており、トランザクションのスループットが2倍になるというような考え方ができます。しかし、それぞれのDTUで利用可能なリソースの明示的な値については提示されていません。

 以下の画面2が、DTUモデルのサイズの設定画面です。

画面2画面2 シングルデータベースのDTUモデルのサイズ設定画面

 DTUモデルで選択する必要がある項目は、次の通りです。

Basic/Standard/Premiumのサービスレベルの設定各サービスレベルに応じたDTUのサイズの指定データベースの最大サイズ

 サービスレベルに応じて、利用可能な機能/基本性能/DTUなどのリソース制限が異なりますので、利用目的に応じたサービスレベルを選択する必要があります(表2)。

サービスレベルBasicStandardPremiumDTU510、20、50、100、200、400、800、1600、3000125、250、500、1000、1750、4000基本性能IOスループットDTU当たり 2.5 IOPSDTU当たり 48 IOPSIO待機時間読み込み:5ミリ秒書き込み:10ミリ秒読み込み/書き込み:2ミリ秒最大ストレージサイズ2GB1TB4TBバックアップ保有期間7日35日35日読み取り可能レプリカなしなしあり利用可能な機能列ストアインデックス不可S3以上は利用可能利用可能インメモリOLTP不可不可利用可能表2 シングルデータベースのDTUのサービスレベルとリソース制限

 サービスレベルやDTUのサイズについては、データベースの作成後も状況に応じて柔軟に変更することができます。

 現在、SQL Serverを利用しており、SQL Serverの負荷状況を基にして対応したDTUが知りたい場合には、Azure SQL Database DTU CalculatorやDatabase Migration Assistantを使用してください。これらのツールで、SQL Serverの負荷状況に応じたDTUの推奨サイズを算出できます。

 DTUは安価にデータベースを利用できますが、割り当てられているリソースは“相対的”なものになり、DTUの考え方に慣れていないとサイズの判断に悩むことがあります。利用可能なリソースの具体的な情報が提示されていて、性能を予測しやすい環境が望ましい場合には、次に紹介する「仮想コア」モデルを検討してください。

■仮想コア 仮想コアでは「汎用目的」と「ビジネスクリティカル」の2種類のモデルが提供されており、使用するハードウェアのコンピューティング世代についても、第4世代/第5世代という2種類から選べます。これらの組み合わせによりリソースの制限が変わります。

 以下の画面3が、仮想コアモデルのサイズの設定画面です。

画面3画面3 シングルデータベースの仮想コアモデルのサイズ設定画面

 仮想コアモデルで選択する必要がある項目は、次の通りです。

第4世代/第5世代 のコンピューティング世代仮想コア数(仮想コア数に応じて利用可能なメモリが決まる)データの最大サイズ

 DTUと異なり、仮想コアの場合は利用可能なCPU/メモリ/IOスループットの情報が明記されています(表3)。

サービスレベル汎用目的ビジネスクリティカルCPU第4世代1~24仮想コア第5世代1~80仮想コアメモリ第4世代コア当たり 7GB第5世代コア当たり 5.1GB最大ストレージサイズ4TB4TB利用ストレージAzure PremiumストレージローカルSSDストレージIOスループットコア当たり 500 IOPS最大 7000 IOPSコア当たり 5000 IOPS最大20万IOPSバックアップ保有期間7~35日7~35日読み取り可能レプリカなしあり利用可能な機能列ストアインデックス利用可能利用可能インメモリOLTP不可利用可能表3 シングルデータベースの仮想コアのサービスレベルとリソース制限

 このような情報が公開されており、DTUより性能が予測しやすくなっていることが、仮想コアの特徴です。DTUから仮想コアに変更すること(または、その逆)も可能なので、既に作成済みのデータベースの購入モデルを変更することもできます。

 また、Database Migration Assistantによる推奨サイズの算出は、DTUだけでなく、仮想コアにも対応しているので、既存のSQL Serverの性能情報を基にした仮想コアの対応を確認できます。

 価格の情報から仮想コアとDTUと比較すると、仮想コアの方が高コストに見えるかもしれませんが、仮想コアでは予約の購入方法を利用できます。この購入方法によって、大幅にコストを抑えることができます。長期利用が確定している場合には、こちらの購入方法も検討してください。

 また、Azureハイブリッド特典を使用することでコストを抑えられるので、特典を利用できる場合はこちらも併せて活用してください。

 今回は解説していませんが、仮想コアのモデルでは、最大で100TBのデータベースを利用できるハイパースケールというサービスモデルもあります。大容量のデータベースが必要となった場合は、こちらのサービスモデルの利用も検討してください。

●ネットワーク構成

 SQL Databaseはデータベースを管理するための「論理サーバ」を作成すると、接続先名称として利用する「サーバ名」が付与されます。この「サーバ名」はインターネット経由での接続にも利用できるため、さまざまな環境からアクセス可能なデータベースとして使用できます。

 標準でファイアウォール機能を備えており、論理サーバ/データベースの2種類の粒度で、接続を許可するIPアドレスの指定やAzure内からのアクセスのみを許可する設定、インターネット経由でのアクセスを全て拒否するといった設定が可能です。

 仮想ネットワークエンドポイントの設定を使用すると、自分で作成したAzure内の特定のネットワーク内からのみアクセス可能という制限も行えるので、Azure内からのアクセスも接続元を制御できます(図4)。

図4図4 SQL Databaseのネットワーク構成Managed Instanceの特徴仮想通貨カジノパチンコクリスティアーノ ロナウド 2017