mysql|速度
MySQL は速度を目指しています
----------------------------------------------------- - --------------------------------------
MySQL と PostgreSQL はどちらも非常に有名なデータベース オープンですどちらも商用データベース システムを置き換える傾向がありますが、設計目標は異なります。一般に、より高速な速度が必要な場合は MySQL を優先し、いくつかの新機能が必要な場合は PostgreSQL を選択できます。
MySQL は現在、MySQL AB によって保守されており、その最新の安定バージョンは 3.23 です。トランザクション処理をサポートする 3.23Max バージョンもベータ テスト段階に入り、最新の開発バージョン 4.0 はアルファ テスト段階に入っています。ちょっと変わったライセンス料に感動してしまいがちです。その価格はプラットフォームとインストール方法によって異なりますが、Windows バージョンはいずれの場合も無料ではありませんが、Unix/Linux バージョンの場合、ユーザーまたはシステム管理者が自分でインストールする場合は無料であり、サードパーティがインストールする必要があります。ライセンス料が支払われました。
MySQL は、C/S アーキテクチャに基づいたネットワーク データベース管理システムです。速度を主な目的として設計されており、複数のユーザーからのクエリ要求を迅速に処理でき、Web サイトのバックエンド データベースとしての使用にも非常に適しています。 PostgreSQL の実行速度は比較的遅く、接続ごとに子プロセスが生成され、子プロセスの生成とバックグラウンド サービス プロセスの確立の手順により実行速度が遅くなります。 MySQL のサーバー機能は非常にコンパクトであり、さまざまな複雑な機能処理 (XML サポートなど) が完全にクライアント上に配置されるため、データベース サーバーの速度と信頼性を犠牲にすることなく機能を追加できます。さらに、連続的な中断やプログラムのクラッシュが起こらないことも商用のメモリ検出プログラムによって証明されています。PostgreSQL よりも安定しています。
初期設計段階では、MySQL は主に中規模のデータベースを対象としていました。つまり、データベースのサイズは約数千万行、各テーブルは約 100MB でした。 MySQL プロジェクトが発展するにつれて、その使用領域はテラバイト規模の大規模データベースや小型のハンドヘルドまたは組み込みデバイスまで徐々に拡大してきました。しかし、短期的には、MySQL はリアルタイム データベースや大規模なクラスタ データベースをサポートしなくなります。バージョン 3.23 では、理論的にはシステムが MyISAM テーブルを通じて 8000PB テーブルをサポートできるようになります。ただし、オペレーティング システムの制限により、ほとんどの Linux システムでは、最大サイズが 2GB または 4GB のテーブルしか処理できません。バージョン 3.23 では、大規模サーバー クラスターのレプリケーションのサポート、InnoDB トランザクション テーブル プロセッサ、Berkeley DB トランザクション テーブル プロセッサ インターフェイス、全文検索、MyODBC 2.5 インターフェイス、MyISAM テーブルの自動チェックと修復、バッチ挿入などの新機能も追加されています。モジュールが追加されました。
InnoDB および BDB トランザクション テーブル プロセッサの導入により、MySQL のこれらのメソッドで保存されたデータ テーブルに優れたトランザクション処理機能が備わるようになります。ただし、他の方法で保存されたテーブルの場合、整合性と一貫性を維持するためにアトミック操作を使用すると、通常、パフォーマンスが低下します。 LOCK TABLES は、整合性が重要な場合のテーブルのロックに使用できます。 3.23.44 以降、InnoDB テーブルは外部コード制限チェックをサポートしていますが、その使用、特に外部コードの誤用は深刻な問題を引き起こす可能性があります。
MySQL はネストされたクエリ機能をサポートしていないため、開発者にとっては非常に不便です。 SQL92 の一般的なサブセットをサポートする PostgreSQL とは異なり、SQL92 のサブセットのみをサポートします。したがって、比較的複雑なロジックを含むクエリの場合、中間情報を保存するために一時テーブルが作成されることがよくあります。この方法では、一部のクエリ ステートメントの表現が非常に直感的でないか、まったく表現できない場合があります。
ただし、MySQL 4.0 システムでは、重要なタスクや高負荷の操作を行うユーザーに適応するためのフェールセーフ レプリケーションやオンライン バックアップの作業方法のサポートなど、いくつかの新機能が追加されています。また、大きなテキスト ブロックに対して新しい全文インデックスを使用し、ユーザーが自然言語の説明を使用して検索できるようにします。さらに、4.0 より前のバージョンでは、サーバーとクライアント間の接続はクリア テキスト経由でのみ確立できましたが、強力なセキュリティを提供するには、サーバーとクライアントの間にファイアウォールを設定する必要がありました。クライアントとサーバー間の接続は安全な通信をサポートしており、その mysqld サーバー デーモンは安全なソケット (SSL) を使用してクライアントと通信できます。さらに、MyISAM にテーブル レベルでシンボリック リンクを追加することにより、Windows システムでのシンボリック リンク処理もサポートできます。
(Computer World News No. 11 B24)