sql >> データベース >  >> RDS >> Database

Azureのギャップを埋める:マネージドインスタンス

    SQL Server環境をAzureに移行することを検討している場合、選択肢は2つしかありません。まず、Azure SQL DatabaseのPaaSソリューションを利用して、単一のデータベースを移動するか、エラスティックプールを使用できます。もう1つのオプションは、MicrosoftSQLServerを実行しているAzure仮想マシンを使用するIaaSソリューションです。間もなく、SQLデータベースマネージドインスタンスと呼ばれる3番目のオプションがあります。


    マネージドインスタンスは、オンプレミスのSQLServerとAzureの間のギャップを埋めますSQLデータベース

    マネージドインスタンスは、2017年春のMicrosoft Buildカンファレンスで最初に紹介されましたが、これまでのところ、プレビューは少数の顧客とコンサルタントに限定されていました。管理対象インスタンスは、フルバージョンのSQLServerとAzureSQLデータベースのハイブリッドと見なすことができます。シングルデータベースとエラスティックデータベースはデータベーススコープのプログラミングモデルに基づいて構築され、マネージドインスタンスはインスタンススコープのプログラミングモデルに基づいて構築されます。これにより、マネージドインスタンスはオンプレミスのSQLServerとの互換性が高まります。

    マネージドインスタンスは、オンプレミスのSQL Serverの感覚をはるかに提供しますが、AzureSQLデータベースと同じインフラストラクチャ上に構築されています。 Azure SQL Databaseとの違いは、SQLServerインスタンス全体を顧客に提示することです。 Azure SQL Databaseでは、サーバーを構成します。これは実際にはコンテナーであり、そのサーバーに複数のデータベースを含めることができますが、それらは互いに簡単に通信できません。管理対象インスタンスを使用すると、インスタンス内のすべてのデータベースが同じ実際のSQL Server上にあるため、データベース間クエリを完全にサポートできます。これは、他の方法ではAzure SQL Databaseに適していない多くのアプリケーションにとって大きな機能であり、これにより、さらに多くのSQLServerアプリケーションをクラウドに移行できるようになると思います。

    インスタンスレベルの機能がサポートされるようになりました。これには、グローバル一時テーブル、SQL Serverエージェント、サービスブローカー、レプリケーション、SQL監査、共通言語ランタイム(CLR)などが含まれます。管理対象インスタンスは、最大35TBのサイズのデータ​​ベースもサポートできます。現在、AzureSQLデータベースの最大容量は最上位層の4TBです。これはまもなく変更される可能性があり、また、より多くのアプリケーションのためにクラウドが開かれると思います。

    マネージドインスタンスは、自動バックアップ、脅威検出、脆弱性評価、高可用性、ジオレプリケーション、データベースアドバイザーなど、PaaSプラットフォームのすべての機能を利用することもできます。自動フェイルオーバープロセスがどのように機能するかを説明しているプレゼンテーションを見て、サーバーレベルのオブジェクトがフェイルオーバーインスタンスに複製されることを学びました。これは、ログインやジョブなど、今日の多くの環境の問題点であるものが自動的に処理されることを意味します。

    過去1年間、私は多くのお客様がAzure SQL Databaseに移行するのを支援してきましたが、主な課題の1つはデータの移行です。 SQLServerのバックアップとAzureSQLDatabaseへの復元だけを実行することはできません。 SQLデータベースマネージドインスタンスを使用すると、ネイティブSQL Serverバックアップを使用してマネージドインスタンスに復元できると聞いて非常にうれしく思いますが、URLへのバックアップメカニズムを使用する必要があります。これにより、マネージドインスタンスへの移行がはるかに簡単になりますが、マネージドインスタンスはAzure SQLデータベース上に構築されているため、これは一方向のチケットです。マネージドインスタンスデータベースをバックアップしてオンプレミスに復元することはできません。データベースをオンプレミスまたはマネージドインスタンスから戻すことにした場合は、データをエクスポートする必要があります。


    マネージドインスタンスのデータベースはAzureSQLに移行する準備がはるかに整っていますデータベース

    一方、これらはAzure SQLデータベースプラットフォーム上に構築されているため、マネージドインスタンスに配置した個々のデータベースを独自の個々のAzureSQLデータベースに移行できます。これにより、マネージドインスタンスは、PaaSに直接移行することを妨げる分離の複雑さを解決できる完璧な足がかりになります。

    レプリケーションがサポートされていることに興味があります。マネージドインスタンスデータベースがパブリッシャーになることができるかどうか、またはAzure SQLデータベースのようにサブスクライバーのみになることができるかどうかは、まだわかりません。それがパブリッシャーである可能性がある場合、それはオンプレミスに戻るための効果的な方法である可能性があります。近い将来、ネイティブSQLServerバックアップをシングルトンのAzureSQLデータベースに復元できるようになることを心から望んでいます。テクノロジーはそこにあるようです。既存のPaaS環境に合わせて拡張する必要があります。

    マネージドインスタンスに関するもう1つの興味深い観察結果は、テクノロジがAzure SQLデータベースモデルに基づいて構築されているため、SQLServerのバージョンがAzureSQLデータベースのバージョンに従うことです。これにより、ベンダーのサポートが複雑になる可能性があります。多くのベンダーは、SQLServerバージョンXで製品を認定していると述べています。マネージドインスタンスはSQLServer 2017のほぼすべての機能をサポートしますが、同じビルドバージョンを使用しないため、プログラムによるバージョンチェックは複雑になります。ここでの最善の行動は、Microsoftがこのスタンスを揺るがす可能性が低いため、ベンダーを後押しすることです。これらの会話のいくつかは難しいものになることは間違いありません。

    ベンダーはマネージドインスタンスで製品を認定する努力をしますか、それとも仮想化で経験したような問題になりますか?仮想化の初期の頃、多くのベンダーは、仮想化された製品をサポートしていないと述べていましたが、Microsoftは仮想化されたWindowsXとSQLServerXを完全にサポートしていました。うまくいけば、ベンダーが参加し、マネージドインスタンスで製品を認定するのを目にするでしょう。確かに、SQL Serverのパイオニアの中には、独自のテストの後にマネージドインスタンスに移行する人もいます。

    顧客がクラウドへの移行を検討しているときはいつでも、セキュリティは大きな懸念事項です。マネージドインスタンスは、プライベートIPアドレスとオンプレミスネットワークへのVPNを使用したVNETサポートを提供します。これにより、クライアントはパブリックインターネットから環境を保護し、完全に隔離することができます。

    私はマネージドインスタンスに興奮しており、より広く利用できるようになるまで本当に待ちきれません。マネージド環境を必要としているが、シングルトンまたはエラスティックAzure SQLデータベースよりも機能豊富なソリューションが必要なクライアントの場合、マネージドインスタンスが最適だと思います。多くのお客様がAzureSQLDatabaseが提供する以上のものを必要としているため、Azure SQLDatabaseとAzureVM上のSQLServerの間にはギャップがありますが、AzureVM上のSQLServerは、それでも彼らが望んでいたよりも多くの保守と責任を負っています。マネージドインスタンスは、実際にそのギャップを埋めます。これらは、はるかに大規模なデータベースをサポートし、データ移行を容易にし、データベース間のクエリを可能にします。プラットフォームはオンプレミスのSQL Serverと非常に互換性があるため、コードを変更する必要はありません。

    要約すると、組織がAzure SQLデータベースプラットフォーム内のホスト環境への移行を検討している場合は、個々のAzure SQLデータベース、エラスティックプール、またはマネージドインスタンスから選択できます。アプリケーションのニーズに応じて、これらのソリューションの1つが最適です。それ以外の場合は、Azure仮想マシンで従来のSQL Serverインスタンスを実行するオプションもあります。これは、マネージドバックアップ、ジオレプリケーション、AzureSiteRecoveryなどの優れた機能を提供します。マイクロソフトは、顧客が必要とする新しい製品と機能を提供することにより、Azureプラットフォームへの投資を継続しており、マネージドインスタンスの今後のリリースは、その焦点の継続的な証拠です。近い将来、公開プレビューが約束されているので、しばらくお待ちください。


    1. ロールバックスクリプトオラクルの自動化

    2. SQLServer2014での遅延耐久性

    3. Node.jsでSequelizeを使用して結合クエリを作成する方法

    4. PubNub関数のガイド