Special
» 2018年11月19日 10時00分 公開

<SQL Server Day> SQL Server丸わかり1日セミナー:SQL Server 2019、最新情報からマイグレーションまで徹底解説

日本マイクロソフトは定期的に「<SQL Server Day> SQL Server丸わかり1日セミナー」を開催している。今回はMicrosoft MVP for Data Platform 小澤真之氏と日本マイクロソフト クラウド&ソリューション事業本部 佐藤秀和氏が「Microsoft Ignite 2018」で発表された「SQL Server 2019」や「Azure SQL Database Managed Instance」などの最新情報を解説した。

[PR/@IT]
PR

SQL Server 2019最新情報:データ分析基盤の進化とプラットフォームの多様化

 Microsoft Ignite 2018開催中の9月24日、マイクロソフトはリレーショナルデータベースの次期版プレビューとなる「SQL Server 2019 CTP 2.0」をリリースした。新機能のなかでも、主にビッグデータ分析基盤の強化、データベースエンジンの機能拡張、プラットフォームの多様化の3点から見ていこう。

 なお同社は、SQL ServerやAzure Data Servicesについて、今回解説する「<SQL Server Day> SQL Server丸わかり1日セミナー」をはじめ、担当者から直接話を聞くことができるさまざまなセミナーを用意している。SQL Server 2019の最新情報やマイグレーションについて疑問点がある場合は、参加を検討してはいかがだろうか。

ビッグデータ分析基盤の強化

 SQL Server 2019ではAIやビッグデータ分析などに役立てる統合的なデータ分析基盤としての機能強化が進んでいる。新機能追加で目立つのが「Big Data Cluster」。Kubernetes上に作成するSQL ServerやApache Spark、HDFS(Hadoop Distributed File System)のスケーラブルなクラスタだ。

 また外部データソースにアクセスできる「PolyBase」が拡張され、従来のHDFSやBLOB(Binary Large Object)ストレージだけではなく、ODBC(Open Database Connectivity)やNoSQL、RDBMSも接続先に加わった。具体的にはOracle Database、Teradata、MongoDBなどだ。

 関連して「Machine Learning Services」ではRとPythonに加えてJavaも使用可能になった。また「SQL Operation Studio」としてプレビュー公開されていたDevOpsツールは「Azure Data Studio」として正式リリースされた。

データベースエンジンの機能拡張

 リレーショナルデータベースのエンジンとしての機能拡張も多数ある。Unicode文字列として従来のUTF-16だけではなくUTF-8も追加され、照合順序の幅が広がる。

 SQL Server 2017から追加されたクエリ性能向上のためのAdaptive Query Processingは、対象となる操作が強化され、性能向上に寄与する。なおSQL Server 2019では互換性レベルは「150」になる。

 グラフデータベースのデータ操作機能も目を引く。グラフデータベースにおけるエッジやノードをデータベースのレコードとして扱い、SQLでグラフデータベースの操作ができる。

 接続可能なエッジの種類や方向性を制御できるため、セキュリティ面の強化になる。セキュリティ関連では、Always Encryptedや監査ログでも機能を強化した。

プラットフォームの多様化

 SQL Server 2017からは、SQL Server on LinuxとしてLinux OS上でも稼働できるようになったものの、レプリケーションや分散トランザクションなど多少の制限があった。

 SQL Server 2019では機能ギャップが解消される方向にある。前述のレプリケーションや分散トランザクション、Machine Learning ServicesがSQL Server on Linuxでもサポートされるようなり、WindowsのSQL Serverとの機能差の改善が行われている。AlwaysOn可用性グループがKubernetes上で動作するようになり、コンテナーを利用した SQL Serverの可用性も向上している。

Azure SQL Database Managed Instance:SQL Serverに近いPaaSで移行に有利

Microsoft MVP for Data Platform 小澤真之氏

 2018年10月1日からマイクロソフトはAzure SQL Database Managed Instanceのサービス階層「汎用目的」を一般提供開始した(以下、Managed Instance)。

 ざっくり言うと、これはSQL ServerとSQL Databaseの中間にあたるもので、AzureでフルマネージドのPaaS(Platform as a Service)として提供される。日本では「東日本」と「西日本」の両方のリージョンで利用可能。SA(ソフトウェアアシュアランス)ライセンスならAzureハイブリッド特典が利用可能だ。

 SQL ServerとSQL Databaseはソースコードが同じであり、兄弟のような存在といえる。実装されている機能も同じように使える。

 ただし管理範囲が異なる。前者はオンプレミスまたはクラウドのIaaS(Infrastructure as a Service)であるため、管理できる範囲は広い。後者はPaaS、管理はほぼAzureにおまかせとなる。両者の中間となるManaged Instanceが利用可能となることで、ユーザーの移行を有利に進められることが期待されている。

 Managed InstanceはオンプレミスのSQL Serverとの互換性が高いため、移行に有利。さらに仮想ネットワークやプライベートIPアドレスで使うため、ネットワークが隔離されており、高いセキュリティを保つことができることも特徴だ。

 Managed Instanceでは2種類のサービス階層「汎用目的」と「ビジネスクリティカル」があり、2種類のコンピューティング世代「Gen4」と「Gen5」を選べる。

 サービス階層ではストレージや可用性が異なる。「汎用目的」は一般的な可用性とI/Oレイテンシ向けで、アクティブノードが1つであるため、読み取り可能レプリカやインメモリOLTP(OnLine Transaction Processing)は利用できない。アクティブノードに何かあれば待機ノードに切り替えたり、ストレージ機能を使ったりして冗長化を実現している。

 一方「ビジネスクリティカル」では高い可用性と低いI/Oレイテンシ向けだ。セカンダリレプリカが3つあるので読み取り専用レプリカやインメモリOLTPが利用可能だ。さらにAlwaysOn可用性グループのテクノロジーにより冗長化されており、フェイルオーバーが発生した場合も高速に切り替えを完了できる。

 コンピューティング世代では「Gen4」はIntel E5-2673 v3(Haswellマイクロアーキテクチャ)2.4GHz、「Gen5」はIntel E5-2673 v4(Broadwellマイクロアーキテクチャ)2.4GHzを採用し、利用可能なコア数やメモリが異なる。

 この他、Managed InstanceではSQL Databaseでは利用できない一部の機能が利用可能だ。主な機能に、BACKUPステートメント、複数データベース間のクエリ、SQL Server Profiler、RESTOREステートメント、SQL Serverエージェントなどがある。

 ネットワーク構成や要件には注意しておいた方がよいだろう。現時点ではManaged InstanceにはパブリックIPは付与されず、プライベートIPで完全に分離された仮想ネットワーク(VNET)内で使う。管理ツールからのアクセスもVNETから可能にしておく必要がある。

 実際にSQL ServerからManaged Instanceに移行する際は、まずSQL ServerのネイティブバックアップをAzure BLOBストレージに取得し、Managed InstanceでBLOBストレージに取得したバックアップのリストアを行う。

 データベースの移行は手動で実施することもできるが、AzureのDatabase Migration Serviceを用いた移行も可能である。

 このとき、ユーザーデータベース以外となるSQL Server Agentジョブはバックアップに含まれないため手動で移行する必要がある。加えてアプリケーションからデータベースへの接続情報を書き換えることも必要だ。

 なおManaged Instanceはバックアップ保持期間や自動パフォーマンスチューニングなど、今後幾つかの機能追加が予定されているため、現時点では使えない機能でも将来、変わる可能性がある。今後のアップデートに要注目だ。

データベースマイグレーション 最新情報:ツールを活用して最新環境へ

 SQL Server 2008とWindows Server 2008の延長サポート終了が相次いで迫っている。もしも古い環境を利用しているのであれば、Azureやマイクロソフト技術について学ぶことができる「Microsoft Learn」や移行に関する情報が提供されている「Migration Guide」などのWebサイトを参考にして準備を進めよう。

 データベースを最新環境に移行するには大きく分けて4つのステップがある。

 まずアセスメントで移行元の環境を評価し、次にデータベースのデータやスキーマを移行し、アプリケーションも移行する。ここで安心して終わるともったいない。最新環境には新しい機能が追加されている。これまで使えなかった機能を用いることで、最新環境の恩恵を最大限享受できるようにしよう。

 便利な移行ツールが幾つもある。古いSQL Serverから新しいSQL Serverへ移行するならData Migration Assistant(DMA)、SQL Server以外のリレーショナルデータベースからの移行ならSQL Server Migration Assistant(SSMA)が使える。後者の対象となるのはOracle Databaseと、Sybase、IBM DB2、MySQL、Microsoft Accessだ。

 アップグレードや新しいインデックス設定など、SQL Server環境を変更した時にどのような違いが起こるかA/Bテストを実施できるDatabase Experimentation Assistant(DEA)も覚えておくとよいだろう。

 これらのツール以外にもエクスポートファイル(BACPAC)、レプリケーションやData Syncといったデータ同期の標準機能でデータ移行することも可能だ。

 移行元データベースがこれまで紹介したツールの対象範囲内にない場合には、「Attunity Replicate for Microsoft Migrations」というツールも有効だ。これはマイクロソフトのパートナー企業であるAttunityが提供しているデータベースマイグレーションツール。歴史が長いため、対応製品は広範囲で、移行の信頼性も高い。

 一方、移行先がAzure SQL Databaseであれば、移行サービス「Azure Database Migration Service(DMS)」も有効だ。東日本と西日本、どちらのリージョンでも利用可能。SQL ServerからSQL DatabaseまたはManaged Instanceへのワンタイム(オフライン)移行は利用可能だが、オンラインマイグレーションはまだ限定的なので注意が必要だ。

日本マイクロソフト クラウド&ソリューション事業本部 佐藤秀和氏

 小澤氏は「SQL Databaseへのデータ移行時には負荷がかかるので、可能なら処理時間中は性能が高いインスタンスにすることをおすすめします。性能を変えられるのがクラウドのメリットなので、そうした特性も有効活用してください」と話す。

 丸わかり1日セミナーの最後に、日本マイクロソフト 佐藤氏は「テクノロジーが企業のイノベーションと成長を決定づけます」とあらためて最新環境に移行する意義を話した。

 最新環境では最新のテクノロジーが利用できるだけではなく、高いセキュリティを保持できるため、より多くの恩恵を享受できる。Azureハイブリッド特典の特別価格も提供されている。あらためてSQL Serverを最新環境で活用することを検討してみてはいかがだろうか。

関連セミナー

SQL Serverの最新情報などを確認できるセミナーはこちらから



Copyright © ITmedia, Inc. All Rights Reserved.


提供:日本マイクロソフト株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2018年12月18日

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。