すでに述べたように、RDBMSの重要な特徴の1つは、アプリケーションがデータにアクセスするための標準的なインターフェイスを提供することである。データベース操作のインターフェイスにはいくつかの種類があるが、最もポピュラーなのはSQL(Structured Query Language:日本では「エス・キュー・エル」と呼ぶことが多いが、米国では「シークェル」「シークル」と呼ばれることが多い)という言語である。
SQLの原型は、IBMがメインフレーム・システム向けのRDBMS用の問い合わせ言語として開発したものだとされる。その後SQLはデータベースへの問い合わせ言語として広く利用されるようになり、ANSIやISO、JISなどによって国際標準規格が策定された。SELECT(選択)、INSERT(挿入)、UPDATE(更新)、DELETE(削除)という4つの基本的なデータ操作があり、これらに必要なパラメータを指定してRDBMSに問い合わせることでデータの取得や更新などが行える。
SQL Server 2000は、ANSI/ISOによって1992年に標準化されたSQL-92のエントリ・レベルをサポートしている。ただし実際にSQL Server 2000のアプリケーションがプライマリ言語として使用するのは、Transact-SQLと呼ばれるSQLの互換言語である。Transact-SQLには、基本的なデータベース操作コマンドに加え、SQL Server 2000のデータを管理するための各種コマンドなどが追加されている。
XML(Extensible Markup Language)は、構造記述言語のSGML(Standard Generalized Markup Language)の仕様を軽量化させたデータ記述言語で、Webで爆発的に普及したHTMLと同じく、テキスト・ベースのタグを利用して構造を記述する方式をとることから、標準のデータ記述言語として急速に普及するに至った。昨今の情報システムのトレンドは、メインフレームなどによる旧来型のシステムと、インターネット技術をベースとする新しいシステムとをネットワーク上で融合するシステム連携である。このような新旧システムを連携させるための共通データ・フォーマットとしてXMLの利用が進んでいる。
SQL Server 2000には、このXMLをサポートするさまざまな機能が用意されている。例えば、データベースへの問い合わせの結果を従来のテーブル型の結果セットではなく、XMLデータとして取得することができる。伝統的なクライアント・サーバ型アプリケーションでは、SELECTステートメントによるデータベースへの問い合わせ結果をテーブル形式のデータとして受け取り、表中の特定の行や、列のブロックを取り出して変数に代入して処理を行うのが一般的である。しかし.NET Frameworkなどの新しいソフトウェア・プラットフォームでは、強力なXML関連機能がサポートされており、データベースの問い合わせ結果もXMLデータで取得した方が処理が容易である。あるいはこれとは逆に、Transact-SQLのコマンドを利用して、XMLドキュメントにアクセスすることも可能である。
SQL Serverをデータベースとして利用する利点の1つは、Windowsサーバ製品を始め、同社の各種ミドルウェア製品群とのシームレスな統合が可能なことである。
重要なデータを扱うデータベースでは、より安全なセキュリティを確保することが重要だ。この点SQL Serverなら、データベースのアクセスに対するユーザー認証を、Windows NT ServerやWindows 2000 Server、Windows Server 2003によって提供されるユーザー認証機能と統合させることができる。具体的には、WindowsドメインやActive Directoryによる認証結果をSQL Serverデータベースへのアクセスにも流用できる(必要なら、ドメイン認証とは別に、SQL Server独自の認証を行うことも可能)。異なるシステムやOS、データベース・システムからなるマルチベンダ/マルチプラットフォーム環境では、異なる業務システムを使うために、それぞれ別々に認証を受けなければならないことも多い。昨今では、これらの環境でシングル・サインオンを実現する(異なるシステム間で認証結果を共有する)ためのシステムが販売されるほどである。この点SQL Serverなら、データベースのアクセスについても、Windowsネットワークを管理するドメイン・コントローラで集中管理し、シングル・サインオン(SSO)環境を実現することができる。
Webサーバ側ですべての処理を行い、クライアントはWebブラウザ1つでアクセスできるようにしたWebアプリケーションの導入が進んでいる。これに対しSQL Server 2000は、Windowsサーバ製品に標準バンドルされているWebサーバのIIS(Internet Information Services)と統合して、Webアプリケーション向けの高性能なストレージ・システムとして機能できるようになっている。また前述したとおり、SQL Server 2000のデータベース・エンジンはXMLのネイティブ・サポートを備えており、Webアプリケーションとの親和性が高いXMLデータをデータベース・アクセスに用いることができる。またSQL Server 2000の「Webアシスタント・ウィザード」を利用すれば、SQL Server 2000のデータからHTMLベースのWebページを生成したり、生成したページ・データをHTTPまたはFTPでポストしたりできる。
出発点は小規模なシステムであっても、ビジネスの成長に合わせて、より高い処理能力を求められるのは情報システムの常である。また従来はそれぞれ独立していた情報システムを連携させ、双方のビジネス・データの相関関係を素早く分析し、その結果を次のビジネス展開に生かす動きが加速している。このように情報システムとそれを背後で支えるデータベース・システムには、将来の発展に備えたスケーラビリティが求められている。
この点SQL Server 2000には、スタンドアロン環境/モバイル環境向けのPersonal Editionから、小規模〜中規模システム向けのStandard Edition、エンタープライズ・レベルのシステム向けにSQL Server 2000のフル機能を提供するEnterprise Edition、さらに64bitプロセッサ環境で利用できる64bit版のSQL Server 2000まで、必要に応じてあらゆるスケールのシステムに対応できるパッケージ(エディション)が用意されている。
またSQL Server 2000には、面倒な管理作業を行わなくても、ダイナミックに自己最適化を実施する機能や、クエリーによるテーブル参照ごとにダイナミックに適切なレベルのテーブル・ロックを調整したり、大規模なデータベース環境(VLDB:Very Large Database)向けに処理を最適化したりする機能もある。さらにマルチプロセッサ環境では、複数のSQLステートメント(データベースへの要求)を分離して、それらを別々のプロセッサに割り当てて同時実行する機能も用意されている。
さまざまな情報システムを内部に抱える大企業では、複数の情報システムから収集したデータを統合してデータを分析し、全社的な意思決定を支援するためのデータウェアハウスやデータマート(データウェアハウスのサブセットで、部門レベルでの情報統合などを行う)の構築が一般化している。SQL Server 2000では、こうしたデータウェアハウス構築を支援する数々の機能が提供される。具体的には、データウェアハウス構築を目的とするコンポーネント/API群を提供する「データウェア・ハウジング・フレームワーク」、データウェアハウス/データマート構築のための各種サービス群である「DTS(Data Transformation Services)」、データベース・スキーマやデータウェア・ハウジング・フレームワークを利用して実装されたデータ変換機能を定義するためのActiveXインターフェイス/情報モデルを提供する「メタ・データ・サービス」、異なるOLE DBデータソースに対してOLAP処理を実行する「分析サービス」などである。
SQL Server 2000には、データベースの用途やシステムの規模に応じて、次のエディションが用意されている。
エディション | 内容 |
---|---|
SQL Server 2000 Enterprise Edition | SQL Server 2000のすべての機能が提供される完全版。最大32 CPU、64Gbytesまでの大容量メモリを搭載するハイエンド・サーバ・システム、最大4ノードまでのフェイルオーバー・クラスタリングをサポートしている。基幹系のRDBMSとして、ミッションクリティカルな業務システムやインターネット・システムなどを構築するためのRDBMSとして利用できる |
SQL Server 2000 Standard Edition | 小規模〜中規模のシステムを対象とするエディション。最大4 CPU、最大2Gbytesまでのメモリ搭載システムをサポートしている。Enterprise Editionに含まれる大規模システム向け機能を除くすべての機能が提供される |
SQL Server 2000 Personal Edition | Windows NT Workstation 4.0やWindows 98などのクライアント向けWindows環境において、SQL Server 2000 Enterprise/Standard Editionのクライアントとして動作することを目的としたエディション。例えば、本社のデータベースをレプリケーション(複製)して支社で利用する場合や、オフライン環境にあるモバイル・デバイスでデータベースを利用する場合などに用いる |
SQL Server 2000 Developer Edition | システム開発者を対象とするエディション。Enterprise Editionで提供されるすべての機能が含まれている。ただし、ソフトウェア・ライセンスの条件として、使用用途がシステムの開発や設計、評価、テストに限られている。従って最終的な業務運用には使えない |
SQL Server 2000 Desktop Engine (MSDE) | SQL Server 2000のデータベース・エンジン部分のみを切り出して無償提供されるエディション。無償で利用できることから、財務会計パッケージなど、多くのアプリケーションがデータ・アクセス用として利用している。ただし提供されるのはデータベースのエンジン部分のみで、管理ツールやデータ分析機能、レプリケーションの統合機能など、RDBMSとしての付加機能は提供されない |
SQL Server 2000 Windows CE Edition | Pocket PCなどのWindows CEベースのポータブル・デバイス上で実行されるアプリケーション向けの基本的なデータベース・サービスを提供するエディション |
SQL Server 2000 Enterprise Edition(64-bit) | 64bitバージョンのWindows Server 2003上で利用可能なSQL Server 2000の64bit対応版。具体的には、64bit対応のデータベース・エンジン、分析サービス、エージェントが提供される。使用するデータ・ファイルは、上記32bit版のSQL Server 2000や32bit対応アプリケーションと互換性があり、既存の32bit環境向けに開発されたシステムの64bit環境への容易な移行を可能にする |
SQL Server 2000 Developer Edition(64-bit) | 32bit向けDeveloper Editionの64bit対応版 |
重要なデータを組織的に管理し、これをさまざまな用途に応用するには、データベース・システムを導入する必要がある。SQL Server 2000は、小規模から大規模まで、さまざまなニーズに応えられるRDBMSだ。今回は、データベースの必要性とリレーショナル・データベースの基礎を説明し、SQL Server 2000の概要と提供されるエディションの構成について述べた。次回は、SQL Server 2000を構成する各種コンポーネントについて、さらに踏み込んで解説する予定である。
Copyright© Digital Advantage Corp. All Rights Reserved.