Microsoft SQL Serverとは

市販されてから20年以上になるMicrosoft SQL Serverは高い評価を受け、他のMicrosoft製品と簡単に統合することができます。SQL Serverには、BIスタックの多くのコンポーネントがネイティブで統合されており、データの読み込み(ETL)からレポーティングまで処理が可能です。SQL Server 2016では、オンプレミスとクラウドを組み合わせたハイブリッドアプローチや、R言語などによる高度な分析を重視して新しい機能を盛り込んでいます。

ここで特徴として挙げられるのが、オープンソースの浸透により、充実した一連の機能(Postgres)と強力なパフォーマンス(MySQL)のどちらかを選ばなければならないという点です。SQL Serverなら高度な機能が使えるほか、.NETやRとの統合も可能で、さらにパフォーマンスも超高速です。唯一のデメリットは高額なコストでしょう。

SQL Serverは現在も進化しており、SQL Server 2016には、データベースとしての競争力を高めるため、待望の新機能が数多く採用されています。具体的には、常に暗号化された動的データマスキング、JSONのサポート、PolyBase、クエリストア、行レベルのセキュリティなどです。さらに、オンプレミスでもAzureクラウドに拡張後でも履歴データにシームレスにアクセスできるStretch Databaseのほか、高度な分析拡張機能も加わり、導入されたRをはじめサポートされている言語でスクリプトを実行できるようになりました。

SQL Serverの料金体系と検討事項

Microsoftエコシステムとの統合

SQL Serverは、Microsoftスタックの他のコンポーネントとシームレスに統合するため、分析ワークロードを増やす必要があるときは、ごく簡単にMicrosoftのクラウドデータウェアハウスソリューション、Azure SQLデータウェアハウスに拡張させることが可能です。

成熟した製品・サービスとスキルの高いエキスパートによる万全のサポート

SQL Serverには確かな実績と大きなインストールベースがあり、より多くの機能を備えています。

エンタープライズグレードの開発とサポート

SQL Serverは、トランザクション制御、ACIDコンプライアンス、バックアップ管理、フォールトトレランスのためのエンタープライズグレードのオプションを備えています。

SQL Serverが実際に役立つ事例

OLTP環境(特に.NET環境)

.NETで記述されたアプリケーションのデータベースバックエンドをお探しなら、SQL Serverは理想的な選択肢です。SQL Serverは実績あるエンタープライズグレードのOLTPバックエンドで、スタック内のあらゆるコンポーネントとうまく機能します。また、他のMicrosoftコンポーネントとバンドルで使用すると、所有コストとメンテナンスのコストを抑えられる可能性もあります。

Microsoftスタックの運用

Microsoftのエコシステムは膨大なため、ひとつのデータベースをたくさんのサードパーティのサービスと併用する必要はなく、投資をMicrosoftのプラットフォーム内に集中させることができます。つまり、SSIS(SQL Server Integration Services)やSSRS(SQL Server Reporting Services)など、他のMicrosoftデータ技術との広範な統合を活用できます。

Postgresの拡張性とMySQLの速さを求める組織

Microsoft SQL Serverは、 極めて速い処理速度と高いスループットを可能にするMySQLの分散型アーキテクチャのほか、SQLサポート、そしてPostgresの拡張機能を備えています。フル機能のエンタープライズトランザクショナルデータベースが必要な組織に適した、フルサービスのソリューションです。

料金に関する考慮事項​​​​​​​

SQL ServerのExpress Editionは無料で、いくつかの機能が付属しています(短いブログ、イントラネットサイト、アドホックリレーショナルストレージ向け)。完全版は、さまざまな要素に基づいて初期費用や継続的なライセンス/メンテナンスの費用がかかるため、コストはさまざまです。SQL Serverをクラウドで運用する場合は、1分単位でライセンスを購入することができます。

ただ、SQL Serverの料金はForefront Identity Manager、Visual Studio Teamライセンス、Outlook、Exchange Serverなどの他のMicrosoftエンタープライズ製品/サービスとバンドルして使用すると、大幅に抑えたり無料にすることができます。今後さまざまなMicrosoftの技術を使用される予定の場合は、SQL Serverに投資しておくと、最終的なコスト/利益の面で大きな違いが出る可能性があります。  

SQL Serverのアーキテクチャ

SQL Serverのアーキテクチャは、MySQLと同じように通常はクラスタ構成で稼働し、ファイルが多数の独立したマシンに分散されます。また、データベースのストレージコンポーネントとコンピューティングコンポーネントが別々になっており、この点もMySQLと似ています。

つまりSQL Serverには、リレーショナルエンジンとストレージエンジンという2つの異なるコンポーネントがあります。​​​​​​​

リレーショナルエンジンは、SQLクエリを個別の論理コンポーネントに分割し、クエリを完了するために必要なさまざまな手順を実行するのにかかるコストを見積もります。そして、最も効率のよいクエリ実行プラン(コストが最も低いもの)を選択し、そのプランの各論理手順を実行します。

SQL Serverのストレージエンジンは、データベースに保存する個々のファイルをクラスタ内のノードに分散させるだけでなく、それらのファイルに対してリレーショナルエンジンからアクセスがあったときに、ファイルを取得して読み取ります。また、並列処理を管理して、読み取りと書き込みが同時にあった時にデータベースをロックするタイミングを決定します。

データの種類

SQL Serverは標準のSQLデータ型以外に、moneyなど特定の型の標準化に役立つ独自のデータ型を全面的にサポートしています。また、ユーザーがSQL Serverで独自のデータ型を作成することも可能です。

推奨される最大データサイズ

SQL Serverの最大容量の仕様の一覧は、こちらをご参照ください。

SQL Serverのパフォーマンスチューニングと管理

SQL Serverの導入

SQL Serverの導入方法には2種類あり、既存の市販のハードウェアにインストールする方法と、SQL Serverがすでにインストールされている仮想マシンを構築する方法(実質的にクラウドでSQL Serverを運用)があります。

SQL Serverをオンプレミスで使用

SQL Serverをオンプレミスでインストールする場合は、SQL Server 2016の ハードウェアとソフトウェアの要件を確認し、それに合った市販のハードウェアを購入しましょう。ソフトウェアをインストールする際は、Microsoftのインストールガイドを参照すると便利です。

SQL ServerをAzure上で使用

SQL Serverをクラウドでインストールするのはとても簡単です。すでにAzureのアカウントを持っていれば、リンクをクリックするだけで、クラウドでSQL Serverのインスタンスを作成できます。AzureでSQL Serverのインスタンスを作成する際のその他の注意点については、こちらをご覧ください。

新規データの処理

SQL Serverには、優れたフラットファイル/データソースインポーターがネイティブツールとして付属します。これはSSISに基づいており、SSISサービスは複雑なETLスキームやデータエンリッチメントプロセスを視覚的にデザインする際に効果的です。

一般的にこうしたサービスは、Microsoftエコシステム内の他のテクノロジーとの統合が非常に簡単です。そのため、Microsoft AccessやMicrosoft ExcelからSQL Serverへデータをインポートする際にとても役立ちます。

メンテナンス

Microsoftという大きなエンタープライズエコシステムの一部であるSQL Serverのメリットとして、データベースの監視やチューニングに使えるMicrosoftのツールが多数あることが挙げられます。Microsoftはソフトウェアのほかに、SQL Serverのパフォーマンスを最適化するための監視およびチューニングのベストプラクティスをまとめた総合ガイドも提供しています。

アナリティクスを快適に

ビジネスインテリジェンス、ビッグデータ分析、顧客の360°ビュー。
Lookerはお客様のどんなニーズにもお応えします。当社のデータエキスパートにご相談ください。

デモをリクエスト