Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

技術のオープン化が加速する、マイクロソフトのデータプラットフォーム最新事情【デブサミ2018】

【15-B-4】Microsoft Data Platform 最新アップデート ~ 遂にCassandra、MariaDB、Spark まで? ~

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2018/03/09 14:00

 2014年にサティア・ナデラ氏がCTOに就任して以来、マイクロソフトはこれまでのWindowsを中心としたビジネスモデルから脱却し、オープン化への取り組みを加速している。その動きはデータプラットフォームにも表れており、SQL ServerはWindowsで動くのはもちろん、LinuxでもDockerでも動くようになった。またSQL Serverのフルマネージド版Azure SQL Databaseだけでなく、新たにPostgreSQLやMySQL、MariaDBに対応したAzure Databaseが登場するなど、シリーズを増やしている。2017年11月、Microsoft Connect();で発表されたデータプラットフォームに関連する新しいツールやサービス、最新のアップデート情報などを、日本マイクロソフト Evangelist Managerの井上大輔氏が解説した。

目次
日本マイクロソフト Evangelist Manager 井上大輔氏
日本マイクロソフト Evangelist Manager 井上大輔氏

LinuxでSQL Server 2017が動く

 「データプラットフォームの新しい情報をお伝えする」

 冒頭でこう宣言し、井上氏のセッションは始まった。井上氏はデータベースを中心にエバンジェリスト活動をしている。「CEOにサティア・ナデラが就任して以来、技術のオープン化が加速している。実は当社では2004年からOSSへの取り組みが始まっている」と井上氏は語る。その成果はこちらで確認できる。

 「このページにマイクロソフトがGitHubで公開しているコードが置いてある。フォーマルなものだけで1618個。社員がオープンソースのコードを各自に公開しているので、かなりの数に上っている」と井上氏。なぜ、マイクロソフトがOSSに積極的に取り組むのか。「エンジニアが運用や保守、新しい技術を学ぶリソースを削減したいという思いからやっている。そしてデベロッパーがさらにイノベーティブなサービスを作れるように、プラットフォームを提供している」と井上氏はその理由を語った。

 こうして技術のオープン化が進んでいるマイクロソフト。SQL Server 2017も今までのようなWindowsだけではなく、Linux、Dockerでも動くようになっているという。LinuxのディストリビューションはRedHat Enterprise Linux(RHEL)、Ubuntu、SUSE Linux Enterprise Server(SLES)をサポートしている。

 ここで、Microsoft Azureの管理ポータルを使って、SQL Server 2017 on Linuxのデモを実施。「コマンドを2つたたくだけで、SQL Serverがすぐに使える状況になる。オンプレミスだとシンプルに使うのは難しいが、Azureであればコンテナイメージがあれば、Dockerですぐに利用できる」と説明した。

 SQL Serverは元々、Windowsサーバに密接にひも付く形で実装されていた。しかし、DBとOSの間にある抽象化レイヤーを設け、ここがブリッジの役割を果たすことでLinux環境でも従来同様の機能を提供できるようになっている。「Drawbridgeというテクノロジーをベースにこれを実現した」と井上氏。

 クライアント環境も変化している。Windowsに特化した便利なツール「SQL Server Management Studio」を提供していたが、それをMacでもLinuxでも同様の経験ができるように提供しているのが、「Microsoft SQL Operations Studio」である。これも使い方をデモで紹介。DBを接続すると、Visual Studio Codeと同様のGUIが表れる。「CSVやJSON形式などでエクスポートできたり、グラフィカルにデータを表示したりする機能など、多彩な機能が提供されている」と井上氏は説明。これを使えば、LinuxユーザーでもMacユーザーでもSQL Serverの管理が可能。サーバでもクライアントでも動くという。

 もう1つ特長的な点がある。それはSQL ServerでRやPythonが動くことだ。次の図を見ればわかるとおり、通常のデータベースの場合、データベースの上にアプリケーションやマシンラーニングの環境がある構成になっている。一方、右側のSQL Server 2017はインテリジェンスDBなので、DB側でPythonやRによってDBの知的ライブラリを使ったモデルを作ることができる。

SQL ServerでRやPython、分析ライブラリをサポート
SQL ServerでRやPython、分析ライブラリをサポート

 「つまり分析のためにデータを移動する必要がなくなるということ」と井上氏。SQL Serverの非常にセキュアで堅牢性、可用性が高いといったメリットをそのままインテリジェントのところに享受できるというわけだ。井上氏は、「自動的にチューニングする機能も入っていて、どんどん賢くなっている」と高い機能性を示した。

 SQL Serverのフルマネージド版「Azure SQL Database」は、2009年から提供しているサービス。それに新しく「Azure Database for PostgreSQL」と「Azure Database for MySQL」が仲間入りした。これらのサービスの特長は、高可用性、障害があっても自動で回復できること。スケールアップ、スケールダウンも柔軟で、既存のドライバ、ライブラリ、ツールと100%互換となっている。

 このシリーズにさらに加わったのが、昨年末にリリースされた「Azure Database for MariaDB」である。Azure Databaseの使い方もデモで紹介。こちらもAzureの管理ポータルから簡単に使えるようになっていた。「PostgreSQLやMySQLのスキルをそのまま生かせる」と井上氏は語る。またこれらのインフラストラクチャーは高い可用性や監視の機能を備えている。Azure Databaseは、SQL Databaseと同様のインフラストラクチャーが基になっており、バックアップやハイアベイラビリティ、リソースガバナンスなどの機能がそのまま使えるようになっている。「枯れた技術がベースになっていることも頭に入れておいてほしい」と井上氏。

 なぜハイアベイラビリティを実現できるのか。Azure DatabaseではデータをAzure Storageで3重化して格納しているので、障害でストレージが壊れても自動的に再生できる。またMySQLが壊れた場合も、すぐに別のインスタンスを起動する仕組みとなっているため、「アプリケーション側から見ると、障害が起こったようには見えない。パッチも自動適用が可能、スケールアップ、ダウンも柔軟にできるようになっている」と井上氏は説明する。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:【デブサミ2018】セッションレポート

もっと読む

All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5