mysql:12223
From: zen kishimoto <zen kishimoto <zen@xxxxxxxxxx>>
Date: Wed, 05 Oct 2005 19:52:32 -0700
Subject: [mysql 12223] MySQLに関して間違った情報の積極的な訂正
http://dev.mysql.com/tech-resources/articles/dispelling-the-myths.html Robin Schumacher Arjen Lentz共著 初めに 誰もが言うように、競争があるのは良いことです。競争があれば 選択があるからです。今の正しい選択の情報を持っていれば 時間とお金を一番有効な方法で使えるからです。 2004年のオーストラリアでのIT 市場アンケートでは 77% のマネージャーは他のベンダーを悪く言って自分の 製品を売ろうとするのは良くないと言いました。 FUD (恐れ、不確かさ、疑い) を撒き散らすのはあまり良いことだとは思われなくなりました。その ような情報を撒き散らす人やグループは良く現状を知らない のです。または本当の価値を持っていないのです。 この記事ではMySQLデータベースのサーバーとMySQL5.0 に関して撒き散らされた正しくない情報に関して述べます。また 前の版に関しても関係があれば述べます。 どうしてこういうことをするかと言えば、既に 過去の情報となったものがインターネット上で何時までも あるからで、現時点では正しくない情報やもともと正しくない 情報が独り歩きしていることが往々にしてあるからです。データベースの プロとして、正しい情報に基づいて決断を下すべきです。 それでは、どんな間違った情報が飛び交っているのでしょうか? 典型的なものをあげてみましょう。 * MySQL は新しくて、テストされていないデータベース・システムです。 * MySQL は他のプリプリエタリのデータベースのようには、トランザクションを サポートしません。 * MySQLは小さな応用、せいぜい部や課のレベル用 またはウエブのアプリにしか 使えません。 * MySQLはエンタープライズに必要な機能を持っていません。 * MySQL は大企業が必要とするサポートを提供しません。 * MySQL はもうオープンソースとは言えません。 この記事の最後に、新たなリソースへのレファレンスが あります。それを見ればそれぞれもっと詳細な情報を 入手できます。 MySQL 間違い情報 #1: 「MySQL は新しくて、テストされていないデータベー ス・システムです。」 正しくは: MySQL ABは10年以上存在しており、技術は実社会で十分にテスト されています。 MySQLはMySQLのCTOのMichael (Monty) Wideniusによって最初に 開発されました。最初はデータウエアハウスの解として、そして 段々今日の最高のRDBMSの1つとして発展しました。 MySQL ABは2000年に正式に創始されました。これはMySQLの データベース・サーバーの圧倒的な人気を正式に サポートするためです。 MySQL AB (http://www.mysql.com/company/) はMySQLのデータベースと関連する製品とサービスを開発・提供 し続けます。現在は世界中で、もう200人以上の社員を抱え コピーライトとトレードマークを所有しています。 (http://www.mysql.com/company/legal/trademark.html). MySQLの有効性は世界中で600万件のインストレーションが あることでも分かります。毎日4万件のダウンロードが あります。MySQL 5.0のベータだけでも、200万件ダウンロード されました。このように、広範囲に企業とオープンソースの コミュニティに使用されていることで、素晴らしい フィードバックとテストケースが自動的に 提供されます。そのおかげで、MySQLの信頼性もあがります。 MySQL 間違い情報 #2: 「MySQL は他のプリプリエタリのデータベースのようには、 トランザクションをサポートしません。」 正しくは: MySQLは市場で一番強固なトランザクション データベースのエンジンを提供します。 MySQLの特徴の1つは複数個の「ストレッジ・エンジン」を 提供することで、それぞれのアプリのニーズに 応じて変更が可能です。一番人気のあるエンジンに1つはInnoDBで トランザクションンをサポートします。InnoDBエンジンはGA (製品) でMySQLと共に何年も存在しています。最初に発表された のはMySQL3.23 版です。 MySQLはOracleと似たトランザクションサポートを提供します。そして ACID (atomic, consistent, isolated, durable) トランザクションを フル COMMITと ROLLBACK の機能つきでサポートします。 続けてトランザクションのデータにアクセスすることは 大変重要なので、MySQLは多くの機能を提供してデータの同時 アクセスを保証します。制限なしの行レベルのロック、複数 版のコンシステンシー (Oracleでいうところの“snapshot”) ロックなしのリード、アイソレーション。レヴェルのコントロール、 瞬時のデッドロックの感知は全て存在します。 トランザクション・ストレッジ・エンジンには他にも多くの機能があります。 例えば、クラスター、スタンダード・インデクス、分散トランザクション コントロール、サーバーベースのreferential referentialなどです。 ですから、MySQLはトランザクションを良くサポートしている といえます。 MySQL Myth #3: 「MySQLは小さな応用、部・課程度のレベル用 または ウエブのアプリにしか使えません。」 正しくは: MySQL は幾つかの実働しているもっとも大きなそしてトラフック の一番多いシステムをサポートしています。 MySQLの良いところの1つは組み込みデータベースのアプリ用 にわずかIMBの大きさにスケールダウンできることです。多分 このためにMySQLは中小のシステムしかサポートできないと 言われるのでしょう。しかし、それは結論を急ぎすぎです。 MySQL は大量のデータとユーザをサポートするウエブサイト 用のデータベースとしてはde-factoスタンダードです。例としては Friendster (1日に15 億クエリと21TBデータ)、Yahoo, Google とその他です。MySQL はデータウエアハウスもサポートします。 例はCox Communicationsと Los Alamos Lab (7TB でまだまだ増加しています) MySQLはトラッフィクの多いリーテルや政府のOLTP システムなど に適します。 カスタマーはMySQLを自信を持って、大きなデータベースのアプリケーション に使えます。また、そのアーキテクチャーのデザインのおかげ でスケールアウトすることも可能です。この市場で他に どんなプレーヤーがMySQLを展開しているか知りたければ http://www.mysql.com/customers/ を参照してください。 この中にはオンライン・ビジネスのユーザがいます。 その他には一般的に非常に保守的な政府や、防衛や金融の 組織が含まれています。 MySQL 間違い情報 #4: 「MySQLはエンタープライズに必要な機能を持っていませ ん。 」 正しくは: MySQLは今日一番有益なRDBMS を提供しています。それは 他では見られないものです。 間違い情報は何年にも渡って繰りかされて、MySQLを全く薄っぺらい データベースで、実際のデータベースの仕事には向かないという ものです。しかし、実際にはMySQLはもっと高価な商業データベース の80-90%の機能を持っています。他の例で前述しなかった ものは: * 殆ど全てのプラットフォームのサポート。大抵 の Unix, Linux, Windowsや Macの種種の版。32と64 ビットのサポート。 * 強固なセキュリティとデータ保護。かなり粒度の細かい認証 とオブジェクトのパーミッション、暗号化と解読、 SSL 接続, 柔軟な ポイントーインータイムのやサーバー・ベースのデータ・インテグリティ * パワフルなハイアベイラビリティのオプション。ビルトインの リプリケーション、クラスターデータベースとクラスター用のサードパーティの サポートなどです。 * 自動拡張データやオブジェクト、カスタマイズできる ストレッジのアサイメント、自動的スペースの再確保やコンプレス されたテーブルです。 * 幅広いアプリケーションの開発インフラ。これは stored procedures, triggers, update-able views, SQL、user-defined functions, INFORMATION_SCHEMA, cursors, 全文インデクス検索, prepared statements, サブクエリ/joins, binary large objects, とANSI-standard SQL 言語サポートを含みます。 * C, Java, ODBC, .NET, PHP, Perl, Pythonやその他を含む包括的な アプリのコネクター * グラフィカル・マネージメント、デザイン、開発とプラットフォーム 間のマイグレーション・ツールのセット 上記のなかで一番信頼されているプロピレタリのデータベースが 含んでいる機能の他に、MySQLはミッションクリティカルな システムに人気のあるユニークな機能をサポートします。 例えば、ストレッジエンジンをカスタマイズしたり、取り替えたり できることはあるアプリに対して必要なデータベース の 機能のみを利用できます。もう1つの例のMySQのQuery Cache (他のデータベースのエンジンには見られません)は繰り返しの クエリに関しては殆ど瞬時の反応をします。これはクエリと その結果をRAMの中でソートすることで成し遂げられます。 (これはフィジカルなI/Oだけでなく大幅にロジカルなI/O の時間も 短縮します。) MySQL 間違い情報 #5: 「MySQL は大企業が必要とするサポートを提供しません。」 正しくは: MySQLは製品レベルでサポートできるスタッフを 揃え、何時でもSLAに従ったサポートを提供します。 Forrester Researchによれば企業がオープンソースを 採用しない理由の一番は、サポートの欠如だということです。これは 驚くことではありません。というのは賢い企業は緊急に問題 が生じたときにインターネットベースのメーリングリスト で助けが得られるとは思わないからです。 MySQL AB はこの問題を熟知しており、プロプリエタリーの データベースのベンダーが提供する製品レベルと同じ 品質のサポートを世界中で展開しております。しかも、 お値段はぐっと格安です。MySQL Networkのカスタマーは 24 x 7サポートを受けることができ、リモートでの トラブルシューティングやチューニング、迅速な反応、 (サポート・レベルによりますが、最高30分以内), 決まったサポート・マネージャやそのほかです。 (http://www.mysql.com/network/ ). プロプリエタリーのデータベースからマイグレートする方は 最高のサポートが受けられるので、心配することはありません。 企業のカスタマが必要とし当然と思うこと全てをMySQLは 提供します。そのほかコンサルティング ( http://www.mysql.com/consulting/ ), トレーニング( http://www.mysql.com/training/ )と認定 ( http://www.mysql.com/training/certification/ ) も提供します。 MySQL 間違い情報 #6: 「MySQL はもうオープンソースとは言えません。」 正しくは: MySQL AB は完全にオープンソースにコミットしています。 そして、オープンソースの積極的なコミュニティのメンバーです。 MySQL は二重ライセンスを提供するので、ある人達はMySQLは 本当のオープンソースではないといいます。そういう発言は正しくあり ません。MySQL ABははこれからもデータベースや付随のコンポーネント をGPLで提供し続けます。 Non-GPLオープンソースのプロジェクト もMySQLのクライアントとリンクしたければ、できます。これは MySQL FLOSS Licensing Exception ( http://www.mysql.com/company/legal/licensing/foss-exception.html ) を使っています。 クローズド・ソースのアプリ内にMySQLを組み込みたい人は non-GPL (コマーシャル) ライセンスを使用できます。 MySQLはオープンソース・コミュニティのあくティブなメンバーで ソフトウエアに対する特許反対の先鋒に立って戦っています。 (http://nosoftwarepatents.com/ ). オープン・ソースの コミュニティからの貢献を歓迎します。2重ライセンスの モデルを生かすためには、ほんの少しの量のバグ修理以上 の貢献に関してはコピーライトを移動していただくことになります。 結論 前にも述べたように、事実に基づくことで、実際の決断が正しくできます。 この記事でインターネットなどで撒き散らされている 間違い情報 を修正できたでしょうか。当然、そのような間違った情報を修正 するには自分で実際の情報を探すことです。ですから今日 MySQLをダウンロードして自分で試して見ませんか。( http://dev.mysql.com/downloads/ ) 思ったより進むことでびっくりしますよ。 MySQL 5.0 Technical FAQ http://dev.mysql.com/tech-resources/faq.html MySQL Licensing http://www.mysql.com/company/legal/licensing/ Ask MySQL licensing questions: http://www.mysql.com/company/contact/?topic=licensing MySQL storage engines and data integrity: MySQL Storage Engines http://dev.mysql.com/doc/mysql/en/storage-engines.html The InnoDB transactional storage engine http://dev.mysql.com/doc/mysql/en/innodb.html Foreign Key Constraints http://dev.mysql.com/doc/mysql/en/innodb-foreign-key-constraints.html SQL Server modes http://dev.mysql.com/doc/mysql/en/server-sql-mode.html Article introducing and comparing the main MySQL storage engines http://dev.mysql.com/tech-resources/articles/storage-engine/part_1.html How to create a new storage engine http://dev.mysql.com/tech-resources/articles/creating-new-storage-engine.html The ARCHIVE storage engine http://dev.mysql.com/tech-resources/articles/storage-engine.html MySQL Cluster and Replication: MySQL Cluster http://dev.mysql.com/doc/mysql/en/ndbcluster.html MySQL Replication http://dev.mysql.com/doc/mysql/en/replication.html MySQL Features Stored Procedures http://dev.mysql.com/doc/mysql/en/stored-procedures.html User Defined Functions http://dev.mysql.com/doc/mysql/en/create-function.html Subqueries http://dev.mysql.com/doc/mysql/en/ -- 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)