ホームページ  >  記事  >  データベース  >  MySQL と Oracle の違いは何ですか?

MySQL と Oracle の違いは何ですか?

醉折花枝作酒筹
醉折花枝作酒筹転載
2021-05-31 09:21:442468ブラウズ

この記事では、MySQL と Oracle の違いを紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

MySQL と Oracle の違いは何ですか?

##1. 巨視的:

1. Oracle は大規模なデータベースであり、Mysql は中小規模のデータベースです。Mysql はオープンソースであり、Oracle は有料です。 . そして高価です。

2. Oracle は大規模な同時実行性と大規模なアクセス量をサポートしており、OLTP に最適なツールです。

3. インストールによって占有されるメモリも異なります。Mysql のインストールが完了すると、占有されるメモリは Oracle が占有するメモリよりもはるかに小さくなり、Oracle が使用されるほどメモリが増加します。占める。

2. 微細なビュー:

1. トランザクションのサポート

Mysql はデフォルトではトランザクションをサポートしませんが、innodb などの一部のストレージ エンジンはトランザクションをサポートできます。物事を完全にサポートします。

2. 同時実行性

同時実行性とは何ですか?同時実行性は、OLTP (

オンライン トランザクション処理オンライン トランザクション処理) データベースの最も重要な機能です。同時実行性には、リソースの取得、共有、ロックが含まれます。

Mysql はテーブル ロックと行レベルのロックの両方をサポートしています。テーブル ロックは、リソースのロックにおいて非常に強力です。セッションがテーブルを長時間ロックすると、他のセッションはこのテーブルのデータを更新できなくなります。

Oracle では、行レベルのロックが使用されており、リソースのロックはそれほど強力ではありません。SQL で必要なリソースのみがロックされ、ロックはデータベース内のデータ行に対して行われ、インデックスには依存しません。したがって、Oracle の同時実行性のサポートははるかに優れています。

3. データの永続性

Oracle は、送信された SQL 操作行をオンラインのオンライン ログ ファイルに書き込み、ディスクに保存するため、送信されたトランザクションが回復できることを保証します。またはホストが異常に再起動した場合、Oracle を再起動すると、オンライン ログを利用して顧客が送信したデータを復元できます。

Mysql はデフォルトで SQL ステートメントを送信しますが、更新プロセス中にデータベースまたはホストの再起動に問題が発生した場合、データも失われる可能性があります。

4. トランザクション分離レベル

MySQL は反復可能な読み取りの分離レベルであり、Oracle はコミットされた読み取りの分離レベルです。同時に、両方ともシリアル化可能なシリアル化されたトランザクション分離レベルをサポートしています。最高レベルを達成することができます。

読み取りの一貫性。各セッションが送信された後でのみ、他のセッションが送信された変更を確認できるようになります。 Oracleは、UNDO表領域にマルチバージョンのデータ・ブロックを構築することで読取りの一貫性を実現します。各セッションの問合せ時に対応するデータ・ブロックが変更されると、Oracleは問合せ時にこのセッションの古いデータをUNDO表領域に構築します。 。

MySQL には、Oracle のようなマルチバージョン データ ブロックを構築するメカニズムがなく、コミットされた読み取りの分離レベルのみをサポートします。 1 つのセッションがデータを読み取るとき、他のセッションはデータを変更できませんが、テーブルの最後にデータを挿入できます。セッションがデータを更新するときは、他のセッションがデータにアクセスできないように排他ロックを追加する必要があります。

5. 送信方法

Oracle はデフォルトでは自動的に送信されず、手動で送信する必要があります。 MySQL はデフォルトで自動的にコミットします。

6. 論理バックアップ

Mysql 論理バックアップでは、バックアップされたデータの一貫性を確保するためにデータをロックする必要があり、これはビジネスでの DML (データ操作言語) の通常の使用 (Oracle ロジック) に影響します。バックアップ中にデータはロックされず、バックアップされたデータは一貫しています。

7. SQL ステートメントの柔軟性

Mysql には、limit 関数 (ページング)、一度に複数行のデータを挿入できる挿入など、SQL ステートメントに対する非常に実用的で便利な拡張機能が多数あります。 Oracle のページングは​​疑似列とサブクエリを通じて行われ、データは行ごとにのみ挿入できます。

8. データ レプリケーション

MySQL: レプリケーション サーバーの構成はシンプルですが、メイン データベースに問題が発生した場合、クラスター データベースで一定量のデータが失われる可能性があります。また、プレックス ライブラリをメイン ライブラリに手動で切り替える必要があります。

Oracle: 従来のプッシュまたはプルのデータ レプリケーションと、Dataguard のデュアルマシンまたはマルチマシンの災害復旧メカニズムの両方があり、メイン データベースに問題が発生した場合は、スタンバイ データベースが自動的にメイン データベースに切り替わります。データベースを構築できますが、構成管理が複雑です。

9. パーティション テーブルとパーティション インデックス

MySQL のパーティション テーブルはまだ成熟しておらず、安定していませんが、Oracle のパーティション テーブルとパーティション インデックス関数は非常に成熟しており、DB へのアクセスのユーザー エクスペリエンスを向上させることができます。

10. アフターセールスと料金

Oracle は料金を請求します。問題がある場合は、カスタマー サービスにご連絡ください。Mysql は無料でオープン ソースです。問題がある場合は、解決できます。それらを自分で。

11. 権限とセキュリティ

Oracle の権限とセキュリティの概念は比較的伝統的で、非常に満足のいくものです; MySQL ユーザーはホストに関連付けられていますが、それは無意味に感じられます。さらに、ホストと IP はより重要です。偽造品の可能性がございますので、この機会にぜひご利用ください。

12. パフォーマンス診断

Oracle には、多くの自動分析および診断機能を実現できる、さまざまな成熟したパフォーマンス診断およびチューニング ツールがあります。たとえば、awr、addm、sqltrace、tkproof など、MySQL には診断および調整の方法がほとんどなく、主に遅いクエリ ログが使用されます。

関連する推奨事項: 「

mysql チュートリアル

以上がMySQL と Oracle の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。