SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

PHPからMicrosoft SQL Serverを使おう!(AD)

なぜ今、PHPでMySQLではなくSQL Serverを使うのか? そして使えるのか?

PHPからMicrosoft SQL Serverを使おう! 第1回

  • このエントリーをはてなブックマークに追加

 4回のシリーズでお届けするテーマは「PHPからMicrosoft SQL Serverを使おう!」です。なぜ、PHPでMicrosoft SQL Serverを使う必要があるのか。今回はその理由と背景について説明します。

  • このエントリーをはてなブックマークに追加

1 はじめに

 「インターネット向けのWebサイトを作らないといけない」となった時に皆さんは何を思い描きますか。PHPを使うか、CMSはあれを使って、データベースはMySQLを使うかという流れでしょうか。ここでは検討している人の頭の中をいくつかの重要な要素が巡っているはずです。予算に見合うコスト、経験値、要件への適応度合、早く・軽く実装できることなどがあるに違いありません。

 しかし、もっとビジネスを広げたい、差別化を行いたいと思っている技術者や企業は現在の景気状況から大勢いらっしゃることでしょう。本稿では多くの場合、あまり選択肢に上がらない要素技術の組み合わせのご紹介をし、新たな可能性を取り込んで皆さんにチャレンジいただき、ビジネスの拡大を図っていただく一端になってくれることを期待しています。

 4回のシリーズでお届けするテーマは「PHPからMicrosoft SQL Serverを使おう!」です。

1.1 背景と歴史

 Windows環境用のPHPランタイムにはご存じのように「php_mssql.dll」というPHP拡張が入っており、Web検索して見つかる情報はほとんどの場合、この拡張に関しての利用方法になります。

 この状況になっていることにはいろいろな背景があります。一番大きいのはマイクロソフトがPHPからの接続というシナリオをサポートする以前にASPやASP.NETからの利用、さらには一歩進んでJavaからの接続という観点に焦点を当てて製品開発を行ってきたことにあります。このことからPHPランタイムに含まれている拡張にMicrosoft SQL Serverの開発元であるマイクロソフトが大きく関わることはほとんどなかったのです。そしてデータベースエンジン側の視点で最適化する作業が十分に行われていません。

 現在に目を向けると、インターネットでWebを構築するケースではPHPを選択することは皆さんの身の回りでも多くなっていると思います。ASP.NET MVCなど面白い技術も登場していることからマイクロソフトはもちろん引き続き自社技術であるASP.NETでWeb開発を行っていくことを強く推進していきますが、PHPとマイクロソフト製品を組み合わせて利用する状況は大きく変わってきています。これはオープンソースソフトウェアに対するスタンスの変化とも繋がっています。

2 なぜ今PHPとMSSQLなのか

2.1 SQL Serverの近況

 PHPに関する位置づけやその周辺で起こっている出来事をお伝えすることはここでは省略し、MicrosoftのSQL Serverというデータベースエンジンの近況を少しピックアップします。

  • 企業内の業務アプリケーションでWindowsおよび.NETとともによく選択され、相性は抜群
  • 基幹システムに必要な長時間稼働、耐障害性の機能を数多く持っている
  • さまざまな大きさのシステムに対応でき、無償(Express)およびファイルベース(Compact)もある
  • エンジンだけでなく、標準で本格的な分析、データ転送、レポートといったBI要素の機能をも併せ持つ
  • 運用周りに関して長い歴史と経験値、市場における技術者も多い
  • 本格的なRDBMSでありながら、自動でチューニングをしてくれるので取り掛かりやすい

 挙げればもっと出てきますが、大まかな特徴としては企業内の業務アプリケーションでよく使われ、基幹業務においてもそのバックエンドデータベースとしての選択肢の一つになっているというと分かりやすいでしょう。また、会計・給与などの業務パッケージのデータ格納エンジンに利用されていることも別の一面でしょう。もっと知りたい方はSQL Serverの製品ページへお越しください。

 さて、一見PHPが得意とする世界から見るとあまり接点がなさそうなマイクロソフトのSQL Serverですが、ここで挙げたような要素を今やっているWebビジネスに取り込んでいけるとしたらそれは大きなベネフィットや機会がそこには存在するはずです。いくつか可能性のある接続シナリオを列挙してみましょう。

  • PHPベースのWebシステムから直接企業内にある業務用SQL Serverとデータ連携を行う
  • SQL Server Reporting Servicesを帳票ソリューションとしてPHPとともに利用する
  • SQL Serverでサポートしているデータ型を活用して例えば地図のソリューションを構築する
  • PHPからSQL Serverに直接書き込み、企業内利用者がOfficeとの強力な連携機能をWeb関連データで活かす
  • PHPベースのCMSを使用し、バックをより強力なデータベースエンジンに変えることで可用性を向上する
  • SQL Serverとの相互乗り入れの容易さを活かし、PHPアプリケーションで強力なSQL Azureをピーク時など必要な時にだけ接続して利用する

 実はこれらはPHPをWindows/IIS上で動かすことを解説するセミナーで挙がったご質問を要約したものです。

 でもマイクロソフトは.NETの開発元であって、やはり遠いのではないか、そんな疑問が浮かぶかもしれません。しかし、さまざまな状況が変わっていることをここからお伝えしましょう。

2.2 PHPとマイクロソフト

 ここ数年、マイクロソフトはPHPをWindows上で快適に稼働できるようにするために多くの取り組みを行ってきました。WebサーバーであるIISそのものもモジュール化し、ランタイムを動かすためのFastCGIエンジンの作り直し、IIS上で動作する際の独自アクセラレーターの開発、Web Platform Installerのような環境構築を容易に行うためのツールも提供してきました。これらにより、Apacheでのみ存在する特定の機能やモジュールが前提条件でない限りはWindows上でPHPを利用する障壁はかなり取り除かれてきています。

図:PHPをWindows/IISで実行する
図:PHPをWindows/IISで実行する

 そしてもう一つの変化が、PHPからMicrosoft SQL Serverに接続するためのWindows上で動作するドライバーをマイクロソフト自身、しかもSQL Serverの開発チームが提供しはじめたことです。これは過去を振り返ると初めての動きと言ってよいでしょう。しかもこのドライバーのソースをCodePlex(注1)サイトでMs-PLライセンス提供しています。

注1

 CodePlexはマイクロソフトが運営するSourceForgeのようなサイト。

次のページ
2.3 Microsoft Drivers for PHP for SQL Server

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
PHPからMicrosoft SQL Serverを使おう!連載記事一覧

もっと読む

この記事の著者

奥主 洋(日本マイクロソフト株式会社)(オクヌシ ヒロシ(ニホンマイクロソフトカブシキガイシャ))

マイクロソフト株式会社 開発系の顧客サポート部署に2000年問題直前に入社。以降 様々な開発支援プロジェクトにコンサルタントや顧客担当として参画。Windows DNAの時代からマイクロソフト技術の変遷を見てきた立場から特にWeb サーバーであるIISを中心にセミナー講師や、書籍の監訳、記事の執筆などを行っている。マイクロソフトのオープンソース戦略に合わせ、昨今はオープンソース系のイベントでも登壇し、OSSとマイクロソフト技術の...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5642 2012/01/27 17:31

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング