しかし重要なのは、これでLinuxサーバを利用したい開発者がSQL Serverを使えるようになったということだ。またMacを使っている開発者でさえ、Dockerコンテナで実行することで、LANやインターネット接続がなくても、ローカルでSQL Serverを実行できるようになった。これによって、SQL Serverの「Oracle Database」に対する競争力は確実に高まったと言える。また、「MySQL」や「PostgreSQL」といった、オープンソースのリレーショナルデータベースとの競争力も強化された。
列ストア、インメモリ、PolyBaseが利用可能に
もちろん、SQL Serverは(Linux版も)オープンソースではない。しかし、無料版は存在する。具体的に言えば、SQL Server ExpressとLocal DBはどちらも無料の製品だ。これらの製品にはメモリの制限やその他の制約があるが、小規模なデータベースが必要とされるような場面では十分間に合う。ただこれらのエディションは、有料版の姉妹製品であるWebエディションやStandardエディションと同じく、SQL Serverの最新のテクノロジを利用できないという問題を抱えている。
列ストアインデックス(SQL Serverを列ストアデータベースとして利用できるようになり、データウェアハウスやデータマート、ハイブリッドトランザクションアナリティクスなどに利用できるようになる)、メモリ最適化テーブル(インメモリトランザクションデータベース技術)、PolyBase(「Hadoop」と「Azure Blob Storage」に保管されているデータに対するクエリを実行し、それらがSQL Serverのテーブル内にあるかのように結合できる)などは、Enterprise版ユーザーしか利用できなかった。このことは、一部の開発者や(Standardエディションを所有している顧客のためにアプリケーションを構築する必要がある)独立系ソフトウェア開発会社、ひいてはエコシステム全体へのこれらのエディションの導入を妨げる要因になっていた。
しかし、Microsoftが11月16日に「SQL Server 2016 SP1」を発表し、事実上すべての機能を全エディションで利用できるようにしたことで、これも過去のことになった。これには例外もあるが、エディションの導入状況に依存する論理的なものだ。また、Microsoftはこれらの例外について非常に明快に、透明性のある形で説明しており、本記事の第3パラグラフにリンクされている、SP1に関するブログ記事 で情報をまとめている。
開発者の要望に応えるMicrosoft
つまり、MacやLinuxサーバを使っていた開発者は、これまで無料のオープンソースツールを使っていたが、今後は費用をかけずに、しかもWindowsマシン(仮想マシンのWindowsさえ)なしで、SQL Serverとその最新の機能を使ってコーディングできるようになる。これはまだ実現していないが、Linux版のSQL Server vNextと、SQL 2016 SP1の機能とラインセンス方針の組み合わせが実現すれば、その状態に限りなく近づく。
Microsoftのエコシステムを長年ウォッチしてきた筆者には、将来は明るいように思える。これまでビッグデータを扱うことは、Linuxとオープンソースを使うことと同義だったが、これが変化の節目となるかもしれない。
R言語とApache Kafka
MicrosoftがクラウドベースのHadoopディストリビューションである「HDInsight」のLinux版をリリースすることにした際にも、同様のプラスの展開が起こった。Hadoopエコシステムに属する企業はほぼすべてLinuxを中心に据えているが、この取り組みでHDInsightとの連携や統合が可能になったからだ。