SQL Serer2016についてまとめています。
SQL Server 2016で搭載された機能
SQL Server 2016では、メモリ内処理でのパフォーマンスやセキュリティ向上、Hadoopとクラウド統合、R言語による分析が追加されたバージョンです。
SQL Server 2016のデータベースエンジンは、メモリ上での処理を効率アップすることで、パフォーマンスアップを図っています。メモリを大量に積んだサーバ上で高速処理が可能なんですね。
オンメモリでトランザクション処理可能なテーブルサイズは最大2TB。FOREIGN KEY、UNIQUE、CHECK などの制約、ネイティブ コンパイルされたストアドプロシジャの OR、NOT、SELECT DISTINCT、OUTER JOIN、および SELECT のサブクエリをサポートしています。
2016での新しいセキュリティ機能のひとつが、データベースをまるごと暗号化するAlways Encrypted。暗号化キーを持つアプリケーションのみがデータにアクセスできます。
もう一つが、動的データマスク。テーブル上の特定のデータを一般ユーザから非表示にすることができ、UNMASKアクセス許可を持つユーザのみがデータにアクセスできるようセキュリティをかけられます。
行レベルセキュリティは、データアクセスをデータベースエンジン側で制限できる機能で、ユーザは自分に関係するデータのみ参照することができます。下記のように、指定ユーザ(ここではManager)のみ1を返す関数を作成し、SECURITY POLICYとして設定します。
CREATE SCHEMA Security; GO CREATE FUNCTION Security.fn_securitypredicate(@SalesRep AS sysname) RETURNS TABLE WITH SCHEMABINDING AS RETURN SELECT 1 AS fn_securitypredicate_result WHERE @SalesRep = USER_NAME() OR USER_NAME() = 'Manager'; CREATE SECURITY POLICY SalesFilter ADD FILTER PREDICATE Security.fn_securitypredicate(SalesRep) ON dbo.Sales WITH (STATE = ON);
関連)行レベルのセキュリティ – SQL Server | Microsoft Docs
2016で導入されたもう一つの機能が、SQL Server 2016 Analysis Services (SSAS)と呼ばれる分析サービス。多次元モデルを使ったビジネスインテリジェンスを可能にするサービスです。
SSAS用に実績のあるR言語との連携が導入され、T-SQLからR言語を操作することが可能になりました。
Microsoftのエンタープライズパッケージ、オープンソースパッケージ、フレームワークが使用可能。MicrosoftML(R)によるテキスト分析、画像分析、感情分析による機械学習アルゴリズムなどが利用できます。
一から開発しなくても、すでに実績のあるR言語の機械学習パッケージが利用できるメリットは大きいです。
参考)SQL Server 2016 R Services とは | Microsoft Docs
なお、SQLからR言語を呼び出すには、sp_execute_external_scriptに引数を渡す形で実行します。以下の例は、R言語にてバージョンを表示せる例です。
EXECUTE sp_execute_external_script @language = N'R' , @script = N'print(version)'; GO STDOUT message(s) from external script: _ platform x86_64-w64-mingw32 arch x86_64 os mingw32 system x86_64, mingw32 status major 3 minor 4.4 year 2018 month 03 day 15 svn rev 74408 language R version.string R version 3.4.4 (2018-03-15) nickname Someone to Lean On
関連)クイック スタート:R スクリプトの実行 – SQL machine learning | Microsoft Docs
SSASでは、パフォーマンス向上、データベース管理の自動化、双方向のクロスフィルタリングによるリレーション強化、並列パーティション処理ほか、機能強化がなされています。
SQL Server 2016のサポート期限
SQL Server 2016のメインストリームサポート終了は、2021/07/13です。マイクロソフトの延長サポートは最低5年間の延長サポートが提供されます。
延長サポート終了 2026/07/14となっています。
延長サポート終了後は、セキュリティ更新プログラムや有償サポートを含む全てのサポートが受けられなくなるため、稼働中のシステムは新しいバージョンへの移行などをおこなう必要があります。
延長サポート期間に突入すると、仕様変更や新機能のリクエストや無償サポートが対象外となります。また、セキュリティ関連以外の修正プログラム作成の新規リクエストも対象外となります。
このため、システム障害の原因が、SQL Server 2016のマイナーなバグだった場合は、対処のしようがなくなってしまうんですね。
SQL Server 2016の動作環境
SQL Server 2016のハードウェア要件は、以下の通りです。
- ハードディスク 6GB以上のハードディスクの空き
- DVDドライブ
- Super-VGA(800×600)以上の解像度のモニター
- インターネットにアクセスできるネットワーク環境
- メモリ最小512MB(Express Edition)、1GB(他のエディション) 推奨は4GB
- CPU x64プロセッサ 1.4GHz 推奨は、2.0GHz以上 ※x64プロセッサのみ対応。x86プロセッサにはインストール出来ません
- プロセッサの種類 x64 プロセッサ: AMD Opteron、AMD Athlon 64、Intel Xeon (Intel EM64T 対応)、Intel Pentium IV (EM64T 対応)
ソフトウェア要件は以下の通りです。
- .NET Framework 6.4
- OS Windows Server 2012 R2以降。Express、Standard、DeveloperエディションはWindows10、Windows8でも動作可能
【関連記事】
▶SQL Server 2016の新機能 手動アンインストールする方法は?
まとめ
- SQL Server 2016は、インメモリ処理向上やクラウド統合、分析サービスが盛り込まれたバージョン
- R言語がSQLから呼び出せるようになり、機械学習系ライブラリが簡単に利用できる。
- サポート期限は、メインストリームサポート終了が2021/07/13、延長サポート終了が2026/07/14。