2011.05.26

WEBアプリケーション開発に使われるDBのまとめ

AUTHOR

こんばんは、なんちゃってWEBエンジニアのyasuiです。
学生の時に初めてDB(mysql)を触ったのですが、当時習いたての頃はphpMyAdminを教えてもらわなかったので、データの書き換えや挿入時にはコマンドプロンプトからSQL文打って制御していました。(今思うとありえない…。)
まぁSQL文を勉強しろ、っていうことなんでしょうけどね。

仕事柄DBは必須なのですが、前々回のプログラム言語の違い同様、DBによってどう違うの?と聞かれるとこれまたきっちりと答えることができないので、勉強がてら調べてみました。


Mysql

スウェーデンのTCX DataKonsultAB社などが開発しているRDBMS(関係データベース)です。
マルチユーザ、マルチスレッドで動作し、高速性と堅牢性に定評があります。
オープンソースなので基本的には無償で利用することができ、WindowsやLinuxといった多くのプラットフォームで動作します。

前回のブログ「何でWEBサーバのOSはLinux?」でも触れましたが、DB連動型のWebアプリケーションを開発するソフトの組み合わせの言葉で、「LAMP」という言葉があります。
Linux・Apache・ MySQL・PHPの頭文字を取ったものです。
この言葉の中にあるように、Webアプリケーションとして連携という点に置いて長所があると思います。

中でも一番のポイントは単純なクエリの実行速度が速く、高速であるところです。
ただ、高速である分いくつかの機能が意図的に盛り込まれていません。
(カーソル、副問い合わせ、トランザクション機能、結合機能、トリガ、ストアドプロシージャ、複製機能など)

postgreSQL

カリフォルニア大学で開発された、オープンソースのORDBMS(オブジェクト関係データベース)です。
Mysql同様、オープンソースのため無償で利用することができ、WindowsやLinuxといった多くのプラットフォームで動作します。
PostgreSQLはストアドプロシージャ、ビューなど多彩な機能を備えながらもコンパクトなプログラムとなっています。

欠点としてはMysqlにも言えるところなのですが、サポートがない点です。無償での利用なので、何か問題が起こっても自分で解決する必要があります。
その点後で出てくるOracleなどは、有料ということもありサポートが充実しています。

SQL Server

Microsoft社製のRDBMSです。Windows NTおよびWindows 2000をサーバーとし、その上で動作します。
他のMicrosoft社製製品との親和性がとても高く、サーバーからクライアントまですべてをMicrosoft製品で揃えて構築なら、とても連携しやすいDBであると言えます。
Microsoft製品というだけあって、.NET環境でのアプリケーションなどによく利用されています。

SQLite

MysqlやpostgreSQLと同じく、オープンソースのRDBMSです。パブリックドメインでの提供なので、無料で使うことができます。
SQLiteはMySQLやPostgreSQLといったクライアントサーバー型のDBMSとは異なり、サーバーとクライアントとが一体となっています。
そのためDBの内容はすべてローカルファイルに保存されるので、バックアップがとても簡単です。
また、インストールも非常に簡単でコンパクトなので、ちょっとしたWEBアプリケーション開発に使うのであれば、とても便利です。

その反面、SQLiteの短所としては、データがあくまでもローカルに保持されるために、複数のWebサーバーからアクセスを受けることができないというところです。
複数のWebサーバーで運用する場合は、SQLiteは適しているとは言えません。

DB2

25年の歴史を持つ、IBM社のRDBMSです。
OracleやMicrosoft SQL Serverと並んで、商用DBの代表的な製品として知られています。
DB2は当初、同社のメインフレーム(汎用コンピュータ)版のみ対応していましたが、
現在はUNIX版やWindows版などが追加され、幅広いプラットフォームに対応しています。

特徴としては、大規模なDBを支える信頼性とスケーラビリティ、コストベースの照会最適化、
メインフレーム用からパーソナルコンピュータ用までのマルチプラットフォーム対応などが挙げられます。

Access

Microsoft社のOffice製品の一つです。
データの種類や量が少なくて1台のパソコンで処理する小規模システムの構築に向きます。
Windows上で、GUIを利用してDBの構築や管理を行うことができます。
DBに関する詳細な知識を持たなくても、ある程度のDB操作を行うことができます。
オラクルやSQLサーバーなどを使ったシステムからデータを抽出・加工してレポートを作成することもできます。
アクセスはシステムを作るだけではなく、エクセルやその他のシステムとの連携もできる便利なソフトウェアです。

Oracle

Oracle社製の世界初の商用RDBMSです。商用DBの中では、最大のシェアを誇っています。
管理は他のDBと比べると難しいとされています。
Oracle社認定「ORACLE MASTER」という技術資格がありランクが高ければ高いほどDB管理者としてのスキルが高いと認知されやすいです。

UNIX、Linux、Windows向けのがありますが、特にUNIXサーバーと組み合わせて構築されることが多いようです。

充実した機能やサポートがありますが、費用が並みではなく、扱いも難しいものとなっています。

サーバー?DB?

DBさわりたての頃、サーバーとDBの違いがよくわかっておらず、ApacheはDB?Mysqlも…DB?と両方ともDBだと思っていた時もありました。
xamppで一括インストールしてたのですが、xamppというものが何かよくわかっていなかったのですね。
またサーバーについても記事かけたらな、と思います。それでは!

戸田@ドアズ社長ブログ

  • No items
PAGE TOP