SQL Serverは、Microsoftによるリレーショナルデータベース管理システムです。 SQL Server 2017を使用すると、1989年の開始以来初めてLinuxおよびMacマシンでSQLServerを実行できます。
2017年版より前は、SQLServerはWindowsでのみ使用可能でした。 SQL Server 2017の最大の変更点の1つは、LinuxおよびDockerコンテナーで使用できるようになったことです。これは、MacでもSQLServerを実行できることを意味します。
SQL Serverとは何ですか?
SQL Serverは、Microsoftによって開発されたリレーショナルデータベース管理システム(RDBMS)です。市場で最も人気のあるDBMSの1つです。
SQL Serverは非常に用途が広く、個人のブログのコンテンツの保存から、顧客データの保存や中小企業向けの分析の提供、一部の企業システムの不可欠な部分まで、あらゆる分野で使用できます。世界最大の企業の
SQL Serverの競合他社には、Oracle、MySQL、PostgreSQLなどがあります。
クライアント/サーバーデータベースシステム
SQL Serverは、クライアント/サーバーデータベース管理システム(DBMS)です。これは、多くの異なる「クライアント」マシンをすべて同時に(または異なる時間に)SQLServerに接続できることを意味します。そして、それらのクライアントマシンのそれぞれが異なるツールを介して接続している可能性があります。
たとえば、あるクライアントがSQL Server Management Studio(SSMS)などのグラフィカルツールを使用し、別のクライアントがsqlcmdなどのコマンドラインツールを使用する場合があります。同時に、WebサイトをWebアプリケーション内からSQLServerに接続することもできます。そして、他の多くのクライアントが、独自のツールを使用して、独自の目的で接続している可能性があります。したがって、次のようになります。
SQLServerにアクセスする複数のクライアント。クライアントには、開発者、データベース管理者、さらにはWebサイト、CRMシステム、ビジネスインテリジェンスツールなどのアプリケーションが含まれる可能性があります。SQL Serverは、インストールされているサーバーから管理することもできますが、クライアント/サーバーDBMSの主な利点は、複数のユーザーがそれぞれ特定のアクセスレベルで同時にアクセスできることです。
データベース管理者が適切に仕事をしている場合、SQL Serverに接続するすべてのクライアントは、アクセスが許可されているデータベースにのみアクセスできます。また、実行が許可されているタスクのみを実行できます。これはすべてSQLServer自体の内部から制御されます。
したがって、上の図を次のように変更できます。
SQLServer上の個々のデータベースにアクセスする複数のクライアント。この場合、1つの特定のクライアントは2つのデータベースにアクセスできますが、他のすべてのクライアントは1つだけにアクセスできます。実際には、すべてに完全にアクセスできるDB管理者ログインが少なくとも1つあります。使用するツールの管理では、アクセスできるデータベースが決定されないことに注意してください。このツールは、ログインにアクセスが許可されているデータベースにアクセスするための手段を提供するだけです。ログインがそのように設定されている場合、これらのツールのいずれかを使用すると、すべてのデータベースへのフルアクセスが提供されます。実際、データベース管理者は、他のユーザーにアクセスを許可するために、これらのツールを自分で使用します。
データベース管理タスク
一般的なデータベース管理およびプログラミングタスクには、次のものが含まれます。
- データベースの作成と保守
- テーブルの作成と保守
- ストアドプロシージャ、ビューなどの他のデータベースオブジェクトを作成および維持します
- データのバックアップを作成、維持、スケジュールする
- データのインポート/エクスポート
- レプリケーション(データベースのコピーの作成など)
- ユーザー、役割などを作成して維持する
- 最適化タスク
これらは、データベース管理者(DBA)が実行する必要のある多くのタスクのほんの一部です。 SQL Serverはデータベースエンジンを提供しますが、さまざまなツールを使用してこれらのタスクを実行できます。これらのツールのいくつかについては、このチュートリアルの後半で説明します。
SQL Serverには、必要に応じてインストールするかどうかを選択できるオプションのサービスも含まれています。たとえば、Reporting Services、Analysis Services、Integration Services、R Servicesなどがあります。ただし、これらのサービスの可用性はプラットフォームによって異なる場合があります(これらのほとんどは、SQL Server 2017 for Linuxの最初のリリースでは利用できませんでした)。
SQLServer2017エディション
SQL Server 2017には、次のエディションがあります。
エディション | 説明 | 価格 |
---|---|---|
エンタープライズ | ミッションクリティカルなアプリケーションを対象としています。 Tier-1ワークロードに最高のサービスとパフォーマンスレベルを提供します。最も高価なオプション。 | コアあたり14,256ドル(2コアパックとして販売)。 |
標準 | 中間層アプリケーションおよびデータマート用。最小限のITリソースで、重要ではないワークロード向けのコアデータ管理およびビジネスインテリジェンス機能。 | コアあたり3,717ドル(2コアパックとして販売)。 |
ウェブ | SQL Server Webエディションは、Webホストの総所有コストが低いオプションであり、小規模から大規模のWebサイトにスケーラビリティ、手頃な価格、および管理性の機能を提供します。サードパーティのソフトウェアサービスプロバイダーのみが利用できます。 | 価格については、ホスティングパートナーにお問い合わせください。 |
開発者 | 開発者が非本番環境でアプリを構築、テスト、デモするため。 Enterpriseエディションのすべての機能が含まれていますが、本番サーバーとしてではなく、開発およびテストシステムとして使用するためのライセンスが付与されています。 | 無料ダウンロード。 |
エクスプレス | 小規模アプリケーション用。 Express Editionは、エントリーレベルの無料データベースであり、デスクトップおよび小規模サーバーのデータ駆動型アプリケーションの学習と構築に最適です。 | 無料ダウンロード。 |
SQLServer2017の新機能
SQL Server 2017には、SQLServer2016に比べて多くの改善が含まれています。主なものは次のとおりです。
- LinuxおよびDockerで実行
- SQL Serverは、Windows、Linux、およびMacで実行できるようになりました。
- アダプティブクエリ処理
- クエリのパフォーマンスを向上させるため。
- グラフデータのサポート
- SQLServerはグラフデータベースをサポートするようになりました。グラフデータベースは、複雑な多対多の関係がある場合に最適です。
- 新しいツール
- Microsoftは、SQLOperationsStudioやVisualStudioCode拡張機能(VS Code内からデータベースにクエリを実行できるようにする)など、SQLServerで使用できる新しいツールも開発しています。
興味がある場合は、MicrosoftのWebサイトに詳細なリストがあります。