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はグローバル箇条書きボックスメソッドをカプセル化します
目次前提条件使用効果コミット前ミューテーション効果コミットミューテーション効果コミットレイアウト効果...
この記事では、参考までに、簡単な計算機能を実装するためのJavaScriptの具体的なコードを紹介し...
目次イベント駆動型とパブリッシュ・サブスクライブ型ブラウザの JavaScript ではイベント駆動...
序文フェイルオーバーが発生した後、よくある問題は同期エラーです。データベースが小さい場合は、ダンプし...
目次1. 双方向バインディング2. 他のタグを選択した場合にも同じ結果になりますか? 答えはもちろん...
序文パスワードを忘れることは、よく遭遇する問題です。MySQL または MariaDB データベース...
長い引用には blockquote を、短い引用には q を、参考文献には cite を使用します。...
この記事の例では、WeChatアプレットの下部ナビゲーションバーコンポーネントの具体的な実装コードを...
導入Docker コミュニティは、さまざまなユースケースを処理するのに役立つ多くのオープンソース ツ...
このチュートリアルでは、LinuxにMySQLをインストールする詳細な手順を参考までに紹介します。具...
目次Refsとは何か1. 文字列型参照2. コールバック参照React.createRef() 4....
最も一般的な方法は、フィールドに主キーまたは一意のインデックスを設定することです。重複データを挿入す...
デフォルトでは、テーブルの幅と高さはコンテンツに応じて自動的に調整されます。テーブルの幅と高さを手動...
目次1. マクロの観点からMySQLを分析する2. SQL ステートメントを実行するには、どの程度の...
よくある質問ユーザー ''@'localhost' によるデータベー...