名前: Ah Yue's Little Dongdon
学習: Python、C/C++
ホームページのリンク: A Yue's Xiaodongdong の blog_CSDN blog-python&&c++ の高度な知識、旧正月に必須、C/C++ 知識の説明分野のブロガー
目次
MySQL を使いこなすことは技術者のための基礎ディスクです
マスターになる: 最下位レイヤーと高度な MySQL を理解する
過去 20 年間のインターネット企業の台頭において、最も感謝すべきことは、オープン ソース ソフトウェアによって提供されるサポートです。オペレーティング システム、データベース、Web サーバーなどのさまざまなオープン ソース テクノロジは、企業が低コストでサービスを迅速に開始し、商業的成功を収めるのに役立ちます。
インターネット時代の最も重要なリソースはデータであるため、データを保存するデータベースは企業の最も重要なインフラストラクチャです。ほとんどの企業がサービス環境を構築する際に最初に選択するオープンソースのリレーショナル データベース、それがMySQLです。
MySQL は、市場シェアが 43% 以上に達しており、世界で最も人気のあるリレーショナル データベースであると言っても過言ではありません。おそらくこの記事を読んだときに生成されたデータは MySQL によって管理されていると思います。
MySQL が他のリレーショナル データベース製品より際立っているのは、オープン ソースで無料であるだけでなく、効率的な読み取りおよび書き込みパフォーマンス、長期間安定して実行できる機能、簡単で柔軟な導入、およびアクティブなコミュニティ サポートによっても優れています。多くの使用とフィードバックも MySQL をさらに成熟させ、最終的に現在のステータスに到達するのに役立ちました。
データベースは企業だけでなく、インターネット業界の技術者にとっても重要です。
「私はデータベース エンジニアではないのですが、SQL ステートメントを書くことができれば、他の問題は DBA (データベース管理者) に解決を任せることができるのでは?」と疑問を持つ友人もいるかもしれません。
それは本当に不可能です。その理由について話しましょう。
MySQL を使いこなすことは技術者のための基礎ディスクです
技術者の専門的なキャリアでは、データベース テクノロジに重点を置く DBA に加えて、開発職、運用保守職、テスト職に関係なく、MySQL についても十分に理解する必要があります。なぜなら、システムのサービス品質を決定するキーノードがここにあるからです。
プログラマーが SQL ステートメントしか記述できない場合、クエリが遅いとユーザー エクスペリエンスに影響を及ぼします。最適化できないわけがありません。運用とメンテナンスの場合、MySQL の基本原則、マスターとスレーブの同期、読み取りと書き込みの分離を実装する方法、およびデータのバックアップとリカバリを適切に実行する方法を知らない場合はどうすればよいでしょうか。
したがって、MySQL に慣れることはプログラミング言語を習得するのと同じくらい重要であり、技術者の基本的な専門スキルの重要な部分です。
しかし、体系的に学習しないと、技術者は検索結果を無差別に使用してしまうという罠に陥る可能性があります。他の人の解決策が自分の環境に適用できないか、問題を解決しても新たな問題が発生し、対処するのに疲れてしまっている可能性があります。
MySQL がキャリアのボトルネックになることを望まない場合は、落ち着いて徹底的に学習してください。インターネット上の膨大な情報を恐れる必要はありません。基本的な MySQL ディスクを構築するには、良書を 2 冊読めば十分です。これら 2 冊の本は、「MySQL の使い方: クイック スタート MySQL」と「MySQL の仕組み: MySQL を根本から理解する」です。
前者は初心者向け、後者は上級者向けです。この 2 冊の本は専門用語が満載の退屈なマニュアルではありませんが、例やコード、写真や真実が満載で非常に生き生きとしていて興味深いものです。私の言うことを信じない人も、ぜひ読んでみてください。
02
シャーシを安定させる: MySQL の使い方を学ぶ
この章はあなたのために特別に用意されているので、基礎がまったくない友人がいる場合でも、これを見て諦めないでください。
MySQL はリレーショナル データベースです。では、始める前にリレーショナル データベースの理論を学ぶ必要がありますか? まったく必要はありません。「MySQL の使用方法: MySQL のクイック スタート」を読んでください。この本の直接的なタイトルから、実践から始め、実践を通じて学習を促進することに焦点を当てていることがわかります。
この本を学ぶときは、次の 3 つの段階に分けることができます。
❚ MySQL サービスをインストールします。この本では、Windows プラットフォームでのインストール プロセスが詳細に説明され、サービスの開始方法と終了方法も説明されています。
❚ データベースとテーブルを作成します。この本では、コマンド ライン ツールの使用方法と、MySQL クライアント プログラムを使用してデータベース サービスに接続する方法を説明します。次に、データベースの作成、テーブルのデータ型の定義、データテーブルの作成、テストデータの挿入などのタスクを実行します。
❚ データのクエリ方法をマスターします。SQL は一般的な構造化クエリ言語であり、アプリケーション システムは SQL を通じてデータを取得し、それを提示します。この本では、グループ化クエリ、サブクエリ、結合クエリ、ユニオンクエリなどのテクニックを詳しく説明しています。これらの知識は、学習者が繰り返し練習して使いこなすために最も時間を費やす必要がある知識です。
データ クエリ リクエストを SQL 言語命令にすばやく書き込むことができれば、MySQL を使用するための強固な基盤が得られます。さらに、複雑なアプリケーション システムのクエリ効率を最適化し、遅いクエリの問題のボトルネックを解決したい場合は、MySQL の基礎的な知識を知っておく必要があります。
次に進んで、MySQL のマスターになりましょう。
03
マスターになる: 最下位レイヤーと高度な MySQL を理解する
MySQL はオープン ソース ソフトウェアなので、その奥深くまで知りたい友人にとって、コードに飛び込むことは、最下層を理解する最も直接的な方法です。ただし、MySQL には 2,000 万行を超えるコードがあり、膨大な量で非常に複雑な構造になっているため、むやみに入力するとコードの迷路にはまってしまうだけなので、お勧めしません。
MySQL の最下層を確認するにはどうすればよいですか? 良い方法は、先に進んだ人の肩の上に立って学ぶことです。ここで、「MySQL の仕組み: MySQL をルートから理解する」をご覧ください。MySQL の根幹にあるものをこの本で一緒に探ってみましょう。
データベース ソフトウェアの最も重要なコア コンポーネントはストレージ エンジンであり、MySQL はデフォルトで InnoDB ストレージ エンジンを使用します。InnoDB は、大量のデータを処理するときにパフォーマンスを最大化するように設計されています。つまり、CPU サイクル内でできるだけ多くのデータを計算します。
InnoDB 自体のアーキテクチャと実装は非常に複雑ですが、この本では目もくらむような概念をたくさん列挙するのではなく、InnoDB のページ構造から始めます。COMPACT 行フォーマットと REDUNDANT 行フォーマットを例として、レコードの格納方法を説明します。
データの保存形式を明確にした後、次に重要な問題は、高速なデータ クエリを実現する InnoDB の原理 - B+ ツリー インデックスです。この本では、まず B+ ツリーのデータ構造とアルゴリズムを紹介し、次にクラスター化インデックスとセカンダリ インデックスという 2 種類の InnoDB インデックスについて説明します。
この本では、InnoDB のインデックス作成テクノロジの原理を理解した後、インデックスの作成と使用について具体的な提案を行っています。B+ ツリー インデックスには時間とスペースのオーバーヘッドがあるため、本書では、検索、並べ替え、またはグループ化に使用される列のみにインデックスを作成すること、インデックス列の種類をできるだけ少なくすること、カバー インデックスを使用することなど、具体的な提案が提示されています。お問い合わせはできる限りお待ちください。
データ ページ構造と B+ ツリー インデックスに関する知識があれば、クエリ最適化テクノロジについて詳しく説明できます。コストベースの最適化からルールベースの最適化まで、分析とクエリの最適化を支援する EXPLAIN とオプティマイザー トレース ツールの方法についても説明します。これらのクーデターをマスターすれば、開発を行う友人たちは、遅いクエリを最適化する方法についてもう迷うことはなくなると思います。
この本では、InnoDB の Redo、Undo、ロックなどの重要な問題についても同様に微妙なニュアンスで説明しています。プログラマー、運用保守、DBA を問わず、この本をよく読んでおけば、将来 MySQL 関連の問題に遭遇したときに、一目で本質を見抜くことができ、問題を解決することができます。笑顔で解決しました。
04
エピローグ
特に、2 冊の本「MySQL の使い方: クイック スタート MySQL」と「MySQL の仕組み: MySQL を根から理解する」、「Kids 4919」の著者についてお話したいと思います。彼はテクノロジーの専門家です。熱意あふれるプログラマー。
この二冊を書くために、彼は会社を辞めてまで執筆に専念したというが、本書の元々の内容の詳細からも、この二冊が大変な労力をかけて書かれたことが分かる。これは技術者にとって最も純粋な情報共有であり、この 2 冊の本のおかげでより多くの技術者がより良い成長を遂げられると私は信じています。
キャリア開発の観点から見ると、技術者はいつかより高い地位に就き、より困難な課題を受け入れるようになるでしょう。その日が来れば、システム アーキテクチャを設計したり、高可用性クラスターを展開したりするときに、MySQL を完全に理解していれば、自信を持って作業を完了できるようになります。
最後に、あなたも積極的にシェアできる技術者になってほしいと思います。
本の配達
上記の 2 冊から 1 冊をお選びください。
締切:8月10日20:00
参加方法:いいね+ブックマーク+コメント:人生は短すぎるのでMySQL使ってます!!!
幸運な視聴者をランダムに選択します