MySQL は現在、ほとんどの企業や事業体で使用されているデータベースです。MySQL が使用される理由は、MySQL がオープンソース ソフトウェアであるためです。有能な企業の中には、既存の MySQL アーキテクチャを自社のビジネス ニーズに合わせて変更、調整するところもあります。 理由の 1 つは、MySQL は無料であるのに対し、Oracle サービスは比較的高価であることです。多くのスタートアップ企業にとって、MySQL は最も適したデータベースです。 MySQL の論理アーキテクチャを理解する必要がある理由は、自分たちで開発を行うときと同じように、まずは自分のシステムで使用されている階層化アーキテクチャを習得して、開発プロセス中にリンクに問題が発生した場合にトラブルシューティングが容易になるようにするためです。 MySQL の論理アーキテクチャを理解する場合も同様です。MySQL を使用する場合、問題がいつ発生するかはわかりませんが、問題が発生したときに (クエリ SQL の最適化、どこから始めるかなど)、問題をより明確に特定できます。 1.接続Mysqlサーバーに接続するために、Mysqlサービスにクライアントとして接続します。Mysqlはさまざまなプログラミング言語プラットフォームに接続できます。 2. 管理サービスとユーティリティバックアップ、復元、レプリケーション、クラスタリングなどの MySQL サービスの管理および制御ツールとして。 3. 接続プール接続プールの主な機能は、接続認証、スレッドの再利用、接続数の制限などを提供することです。 4.SQLインターフェースここでは主に、Mysql DML、DDL ステートメント、およびストアド プロシージャ、ビュー、トリガーなどを受け取ります。 5. 解析するここで重要なのは、渡されたSQL文字列を解析することです。たとえば、私たちが初めて触れたJDBCプログラミングでは、文字列型のSQL文をMySQLに送信し、パーサーはまずSQL文に対して字句解析を実行して構文ツリーを形成し、次に構文ツリーに対して文法解析を実行して各単語セグメントがSQL92標準を満たしているかどうかを確認します。満たしている場合は、次の業務処理リンクを実行します。 6. クエリオプティマイザークエリ オプティマイザーは、渡された SQL ステートメントを分析して、主に次の 3 つの側面に焦点を当てて、それが最適な実行ステートメントであるかどうかを判断します。 7. クエリ キャッシュ (キャッシュとバッファ)MYSQL は各 SQL 文をハッシュし、そのハッシュ値をマップに格納します。SQL 文が来るたびに、まず SQL 文のハッシュ値が計算され、同じかどうかが確認されます。同じであれば、新しい SQL 文を解析して最適化しなくても、メモリ内の SQL 文を実行できるため、実行効率が向上します。 8. プラグ可能なストレージエンジンMSQL ストレージ エンジンはプラグ可能な機能をサポートしており、ユーザーは使用したいストレージ エンジンを自由に置き換えたり、独自のストレージ エンジンをカスタマイズしたりできます。ここでは、主に INNODB ストレージ エンジンと MYISAM ストレージ エンジンを分析および比較します。 通常、ストレージ エンジンを選択する場合は、主にビジネス ニーズに基づいて選択する必要があり、それぞれの特性を参照できます。 ストレージ エンジンの選択:InnoDB:トランザクション処理、外部キー、クラッシュ回復機能、同時実行制御をサポートします。トランザクションの整合性に対する要件が厳しい場合 (銀行など) や同時実行制御が必要な場合 (チケット販売など) は、InnoDB を選択すると大きなメリットがあります。頻繁に更新や削除操作を行うデータベースが必要な場合は、トランザクションのコミットとロールバックをサポートしている InnoDB を選択することもできます。 マイISAM:データの挿入は高速で、スペースとメモリの使用量も比較的少なくなります。テーブルが主に新しいレコードの挿入とレコードの読み取りに使用される場合は、MyISAM を選択すると高い処理効率を実現できます。アプリケーションの整合性と同時実行性の要件が比較的低い場合は、これを使用することもできます。 メモリ:すべてのデータはメモリ内に保存されており、データ処理速度は高速ですが、セキュリティは高くありません。高速な読み取りおよび書き込み速度が必要で、データ セキュリティの要件が低く、永続的なストレージを必要としない場合は、MEMOEY を選択できます。テーブルのサイズには要件があり、大きすぎるテーブルを作成することはできません。したがって、このタイプのデータベースは、比較的小さなデータベース テーブルでのみ使用されます。 これは、MYSQL の簡単な実行フローチャートです。このチャートにより、MYSQL の全体的な実行プロセスを明確に理解できます。 これで、MYSQL の論理アーキテクチャの紹介は終わりです。もちろん、MYSQL にも対応する物理アーキテクチャがありますが、この部分は主に MYSQL のさまざまなログ ファイルと、各テーブルのデータ ファイルとインデックス ファイルに関係しており、これらについては次の章で紹介します。 上記は、MySQL 論理アーキテクチャの詳細な理解に関する内容です。MySQL 論理アーキテクチャの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Docker イメージのローカル Elasticsearch ポート操作へのアクセス
>>: Reactはグローバル箇条書きボックスメソッドをカプセル化します
1. MyISAM ストレージエンジン欠点:トランザクションはサポートされていません最小粒度ロック:...
<br />統計によると、Web ページの平均サイズは 2003 年以降 3 倍に増加し...
01. VMware Workstation Pro 15 のダウンロードダウンロード: VMwa...
インターネットは絶えず進化する有機体です。長期にわたってインターネットの発展に適応できるページを構築...
目次手動バックアップタイマーバックアップ手動バックアップ1) cmd コンソール: mysqldum...
変更後: innodb_buffer_pool_size=576M ->256M InnoDB...
ドラッグ機能は主に、ドラッグによる並べ替え、ポップアップ ボックスのドラッグと移動など、ユーザーがカ...
プロセス アドレス空間の分離は、現代のオペレーティング システムの注目すべき機能です。これは、「古い...
効率的に要件を満たし、コンポーネント ライブラリの肥大化や車輪の再発明を避けるために、私は以前、大画...
序文通常、大量のデータを扱う MySQL クエリには「ページング」戦略が採用されます。ただし、ページ...
目次server1にnginxをデプロイするサーバーにlnmpを展開するノード3にhttpdをデプロ...
MySQL UNION 演算子このチュートリアルでは、MySQL UNION 演算子の構文と例を紹介...
最近、宿題をしているときに、iframe を使用せずにページをネストする必要があったため、jquer...
目次ケースシナリオ問題を解決するまとめケースシナリオ本日、オンラインで問題が発見されました。監視範囲...
結果 (完全なコードは下部にあります): 実装は難しくありませんが、繰り返しコードが多くなります。実...