[前][次][番号順一覧][スレッド一覧]

mysql:12614

From: zen kishimoto <zen kishimoto <zen@xxxxxxxxxx>>
Date: Thu, 29 Dec 2005 17:48:14 -0800
Subject: [mysql 12614] 待ちに待ったMySQL 5.0がデビュー

http://www.computerworld.com.au/index.php/id;490918999;fp;16;fpid;0

待ちに待ったMySQL 5.0がデビュー

InfoWorld、Sean McCown著

2005年12月28日

MySQL 5.0がとうとうリリースされました。新しい版は4.1の
ユーザがアップグレードせざる得ないような、機能
拡張を含みますが、これには改善されたセキュリティやstored procedure
を含みます。MySQL 5.0はオープンソースのデータベース
ですが、少しビッグ・フォーのデータベースの域
には到達していませんね。(IBM DB2, Microsoft SQL Server,
Oracle, とSybase) これは管理や開発ツールに関していえる
ことですが。

アップグレード

MySQL 5.0には4つの大きな機能があります。
stored procedure, views, セキュリティのアップグレードと
triggerです。

Stored procedureはデータベースの標準でMySQL
は今この標準に準拠しており、それは良いことです。
Stored procedureはデータベース内に格納された
コンパイル済みのSQL のコードで、これは
パーミッションを受けたユーザが引数を指定することで、
実行できます。これは長くて複雑なロジックである
こともあります。

興味深いことにMySQL 5.0のstored procedureの実装は他のデータベースと
は異なっています。MySQLのstored procedureはプリコンパイル
されていません。データベースに格納されているだけで、一般的
なstored procedureというよりはネームド・クエリに近いです。

プリコンパイルされていないので、MySQLでのstored procedure
の性能での恩恵はネットワークのトラフィックが減少すること
によります。stored procedureは私がテストした限りでは
安定しています。しかし、これがMySQLの最初の実装ということで、
幾つかバグはあります。たとえば、 大きなprocedureを
開けようとしたら、サーバーがフリーズしました。ショーストッパー
とは言えないものの、データベースへのアクセスが
多いときは問題となるでしょう。

もうひとつのデータベースの標準であるviewsはMySQL5.0で
最初に加えられました。viewはstored クエリでパラメータを
取りません。1つの恩恵のはユーザーからのクエリ・ロジック
をあいまいにします。アドミは 複雑なclauseや複数のjoin
のあるviewを定義できます。 エンドユーザは単に全て
のviewからテーブルのことを知る必要もなく、クエリ
を選ぶことができます。 MySQLのviewの実装は殆ど完璧です。機能
は他のデータベースと同じといえます。

MySQLはセキュリティを強固にしました。前のリリースでは
ハッカーなどがノートパッドやその他のエディターを使って
データベースのコントロールを得て、ユーザのアカウント
の情報を格納したファイルを閲覧したり、情報を変更
したりできました。そのほかにテーブルにアクセスしてデータ
を改ざんしたり、テーブルを生成したり、除去できました。

良かったことに、 MySQL 5.0ではこれが可能でなくなりました。
これはログインのアカウントが今はデータベースの
アカウント内に格納されているからです。この変更で
MySQLをプロダクションの環境に使用するのに
安心できます。

4つ目の新しい機能である、triggerは他のデータベース同様
ちゃんと動作します。Triggerはイベント・ドリブンの
stored procedureで特定のテーブルに指定されています。
trigger のコードはどんな書き込みにも反応します。これは
テーブルに関するものも含みます。

triggerにも少しバグがあります、まあ最初のリリースですから
仕方ありませんが。2つの大きな問題MySQL 5.0のテーブルのtrigger
はテーブルがドロップされても、ドロップされないことです。
trigger をテーブルに定義するとデータベースが
コラプトすることがあります。これを回避するにはコード
でtriggerを実装する前に気をつけてください。 MySQLはまた
他のデータベースのような"instead of" triggerを
サポートしません。大きな問題ではありませんが、あった方
が良いです。

データベースのポジショニング

5.0 版が出てMySQLはどういうポジションになるのでしょうか。
MySQL は自社のデータベースを標準に持ってくるのに、
多大な努力をしました。しかし、ビッグ・フォーが
10年以上にも渡って持っていた機能を実装したわけです。
MySQLはまた Windowsセキュリティを組みこんでいません。
これはWindows 上でデータベースを実行する最低限の
条件だと思います。

MySQL 5.0にはまだアドミや開発の分野ではまだまだです。
デバッガーもありません。そのため大きいコード内で
問題を発見するのはなかなか大変です。 アドミ用のユーティリティ
はちょくちょくフィリーズしますし、レフレシュにも
問題があります。簡単な性能の情報を提供しますが、性能カウンター
をインストールしたりはしません。開発用のユーティリティ
には編集機能がありませんし、安定した性能も得ること
ができません。あまり有益なエラーメッセージも発しませんので、
エラーを発見するのには役立ちません。

MySQLは高価なライセンス費を必要とする他の解のオータネティブ
です。そして素早くウエブサイトを立ち上げ、アプリを展開するには
MySQL 5.0はパーフェクトな解です。無料であるというだけでは、MySQL
が良いという分けではありません。直ぐに無料のデータベースを
必要とするのであれば、Microsoft もOracleも無料版があります。
しかし、4GBまでのサイズしか使用できません。大きなデータベース
ではSQL Server Workgroup の版は$1,000以下であります。これら
全てのデータベースは安定していますし、もっと機能があり
ますし、アップグレードの方法もあります。

MySQL 5.0は確立されたビッグ・フォー のレベルには
まだ達していませんが、MySQL アドミの人は5.0にアップグレード
しないのは馬鹿げています。増加したセキュリティとstored procedure,
triggerとviewsがあれば待ちに待ったアップグレードです。

-- 
Zen Kishimoto                      www.ipdevices.com
IP Devices, Inc.                   zen@xxxxxxxxxx
2175 De La Cruz Blvd., Suite 10    (408) 567-9391
Santa Clara, CA 95050              (801) 720-8847 (FAX)



[前][次][番号順一覧][スレッド一覧]