SQL Server Expressについて、概要とメリット、デメリットをまとめています。
SQL Server Expressは、無料で使えるマイクロソフト製データベース
SQL Server Express 2019は、最新のSQL Serverを無料で使えるエディション。
ただし、ハードウェアスペックによる制限があるため、Expressエディションでビッグデータを扱うのは難しそうです。
ただし、無償ながら商用利用にも使えるため、小規模なアプリの配布時にSQL Server Expressを添付して、再配布が可能です。
【関連記事】
▶SQL Server Expressは無料で使えるけど、大きなデメリットはないの?
バックアップやHAなど、運用ツールは付属していません。ただし、Express with Advanced Servcesという、GUIでデータベースを管理できるツールとの同梱版が用意されています。
SQL Serverのエディションごとの違い Express版の制限
SQL Serverのエディションには、Enterprise、Standard、Web、Developer、Expressがあります。
Expressは、エントリレベルの無料データベースという位置づけで学習用やデスクトップでのスタンドアローン、小規模サーバなどに使われています。このエディションは独立ソフトウェアベンダー、開発者、趣味でのアプリケーション開発などに最適。
Expressは、稼働するハードウェアのスペックに制限があります。1CPU4コアまで、データベースエンジンのインスタンスごとのメモリは1GBまで、データベースサイズは10GBまでと制限されているんですね。
なお、Enterpriseなどの上位版の機能が必要になった場合には、Expresを上位バージョンにシムレスにバージョンアップが可能。
SQL Server Expres LocalDBという、Expressの簡易版があり、ローカルデータベース特化のバージョンがあります。Expressのプログラミング機能は全て備え、ユーザモードで実行されます。
SQL Server Expressの最新版は2019
2020年4月時点の、SQL Server Express最新バージョンは2019です。
2017では、AI、機械学習の機能をデータベースエンジンに取り込み、データベースがインテリジェンスを持つようになりましたが、2019ではその部分が強化されたイメージ。
前バージョンの2017と比較して、もっとも大きな変更はビッグデータクラスター。Kubernetes上へSQL Server、Spark、HDFSコンテナのスケーラブルなクラスタを展開できるようになっています。
ビッグデータやリレーショナルデータをクラスタ上で組み合わせて分析するのが容易になっているんですね。
ユーザは一箇所にアクセスしていれば、バックでデータの仮想化やApache Sparkとの連携がされ、ビッグデータをお手軽に扱えるようになります。SQL ServerのTransact-SQLに加え、Sparkを使ってビッグデータにアクセスが可能。
AIモデルには、大量のモデルが不可欠ですが、これからはコンテナ化したAIモデルを公開する事例も出てきそうです。
SQL Server 2019のサポート終了日は、2030年1月8日。開発案件には、要件が合えば、このバージョンを使っておけば間違いはないでしょう。
SQL Server Express 2017 マルチプラットフォーム対応し、機械学習関連を強化
データベースエンジン以外に、Integration Service、Reporting Service、Analysis Service、Machine Learning Servicesが登場。
Windows以外のLinux、Dockerコンテナでも動作するようになりました。
また、Machine Learning Serviceでは、2016年でR Servicesと呼ばれていた分析機能に加え、Pythonも利用できるようになり、高負荷な機械学習処理では、GPUも利用可能になりました。機械学習パッケージのインタフェースとして使われることの多いPythonが使えるようになり、連携の幅が広がったと思います。
Enterprise Edition限定ですが、自動チューニング機能が搭載されました。データの構成が大きく変わったケースなど、クエリのレスポンスが急激に遅くなった場合に、自動で以前のパフォーマンスの良かったプランに切り替えてくれる機能です。2016では、手動変更が必要でした。
SQL Server 2017のサポート終了日は2027年10月12日なので、現時点ではまだまだ現役といえるでしょう。
SQL Server Express 2016 待望のR言語搭載、セキュリティ面の強化
R Serviceが搭載されたバージョン。分析コマンドや数学処理、グラフ化処理にすぐれたR言語をデータベースに融合することで、機械学習との親和性が高まりました。
また、セキュリティ面でも動的データマスクなど、カラム上のカード番号やメールアドレス等の秘密情報を自動的にマスク(Xで置き換え)することで情報漏洩対策をおこないます。クライアント側で搭載された、Always Encrypted機能によって、サーバ側のデータは常に暗号化、通信も常に暗号化、クライアント側でデータの暗号・複合処理をさせることができるようになります。
クライアント側の処理負荷が大きくなるため、クライアントマシンのハードウェアに配慮が必要ですが、より安全に秘密データ・機密データを扱えるようになったと言えるでしょう。
2016のサポート終了は、2026年7月14日のため、要件によっては本バージョンを使う選択肢もあるかも知れません。
【関連記事】
▶SQL Server 2016 Express インストール概要や制限、2017との違い
SQL Server Express 2014 オンメモリで分析するインメモリOLTPを搭載
このバージョンでは、処理の高速化、クラウド対応、様々なデータを高速で分析できるインメモリOLTPなどの機能が搭載されています。
T-SQLをフルコンパイルしたネイティブコンパイル・ストアドプロシジャと、メインメモリ上のデータを最適化することで、メインメモリ上で分析処理が完結する機能です。ただし、全分析データを搭載するため、ある程度のメモリ量が必要になります。
ネイティブコンパイルしたストアドプロシジャは、メモリ最適化テーブルにしかアクセス出来ない、outer joinが出来ないなどの制限がありますが、オンメモリで高速に分析をおこなうことができます。
Express 2014の最新のサービスパック適用の延長サポート終了日は2024年7月9日となるため、今からこのバージョンを使うのは避けたほうが良いでしょう。
【関連記事】
▶SQL Server 2014 延長サポートの終了日はいつ? 正しいアンインストールの方法は?
まとめ
- SQL Server Expressは、無償で利用できるエントリ版のエディション。ハードウェアスペック等に制限あり。
- SQL Server 2019は、ビッグデータを扱う機能が強化されたが、必要スペックも増すためExperssでの機能活用は難しそう。
- サポート終了日から逆算すると、今から開発に使うならSQL Server 2017以降のバージョンがおすすめ。