Docker で MySQL を実行していますか?おめでとうございます、ついに解雇されましたね!

Docker で MySQL を実行していますか?おめでとうございます、ついに解雇されましたね!

コンテナの定義: コンテナは、「動作環境を切り替えたときにソフトウェアが正常に動作することをどのように保証するか」という問題を解決するために設計されています。

現在、コンテナとDockerは依然としてテクノロジー分野で最もホットな言葉です。ステートレス サービスのコンテナ化はすでに一般的なトレンドになっています。同時に、議論されているホットな問題も生じます。データベース MySQL をコンテナ化する必要があるかどうかです。

全員の意見を注意深く分析した結果、同意する人はコンテナの利点の観点から MySQL をコンテナ化する必要があると説明しているだけで、意見を検証するためのビジネス シナリオはほとんどないことがわかりました。一方、反対派は、パフォーマンスやデータセキュリティなど複数の要素からMySQLをコンテナ化する必要はないと説明し、また、いくつかの不適切なビジネスシナリオも挙げています。次に、Docker が MySQL の実行に適していない理由について説明します。

データセキュリティの問題

コンテナ内にデータを保存しないでください。これは Docker コンテナの公式使用ヒントの 1 つでもあります。コンテナはいつでも停止または削除できます。コンテナが rm されると、コンテナ内のデータは失われます。データの損失を防ぐために、ユーザーはデータ ボリューム マウントを使用してデータを保存できます。ただし、コンテナ ボリュームの設計は永続的なストレージを提供するために Union FS イメージ レイヤーに基づいており、データのセキュリティは保証されません。コンテナが突然クラッシュし、データベースが適切にシャットダウンされない場合、データが破損する可能性があります。さらに、コンテナ内のデータ ボリューム グループを共有すると、物理マシンのハードウェアに重大な損傷が発生する可能性があります。

[[261587]]

パフォーマンスの問題

ご存知のとおり、MySQL は IO 要件が高いリレーショナル データベースです。物理マシンで複数のインスタンスを実行すると、IO が蓄積され、IO ボトルネックが発生し、MySQL の読み取りおよび書き込みパフォーマンスが大幅に低下します。

Docker の使用における 10 大困難に関する特別セッションで、ある国営銀行のアーキテクトが次のように述べました。「データベースのパフォーマンスのボトルネックは通常、IO で発生します。Docker の考え方に従うと、最終的には複数の Docker IO 要求がストレージ上に現れます。現在、インターネット上のほとんどのデータベースは共有なしのアーキテクチャに基づいており、これが Docker への移行を検討しない要因となっている可能性があります。」

[[261588]]

実際、この問題を解決するための次のような戦略がいくつかあります。

(1)データベースプログラムとデータの分離

Docker を使用して MySQL を実行する場合は、データベース プログラムとデータを分離し、データを共有ストレージに保存し、プログラムをコンテナーに配置する必要があります。コンテナ内で例外が発生した場合や、MySQL サービスに異常が発生した場合は、新しいコンテナが自動的に起動されます。また、ホストマシンにデータを保存しないことをお勧めします。ホストマシンとコンテナはボリュームグループを共有するため、ホストマシンへのダメージが大きくなります。

(2)軽量データベースや分散データベースの実行

Docker で軽量データベースまたは分散データベースをデプロイする場合、Docker 自体は、コンテナ サービスを再起動するのではなく、サービスを終了して新しいコンテナを自動的に起動することを推奨しています。

(3)アプリケーションの合理的なレイアウト

IO 要件が高いアプリケーションやサービスの場合、データベースを物理マシンまたは KVM に展開する方が適切です。現在、Tencent Cloud の TDSQL と Alibaba の Oceanbase は、Docker ではなく物理マシンに直接デプロイされています。

ステータスの問題

Docker の水平スケーリングは、データベースではなく、ステートレス コンピューティング サービスにのみ使用できます。

Docker の急速な拡大における重要な特徴は、ステートレス性です。データ状態を持つものは、Docker に直接配置するのに適していません。 Docker にデータベースをインストールする場合は、ストレージ サービスを別途提供する必要があります。

現在、Tencent Cloud の TDSQL (金融分散データベース) と Alibaba Cloud の Oceanbase (分散データベース システム) はどちらも、管理が容易な Docker ではなく、物理マシン上で直接実行されています。

[[261589]]

リソースの分離

リソースの分離という点では、Docker は確かに仮想マシン KVM ほど優れていません。 Docker は Cgroup を使用してリソース制限を実装しますが、リソース消費の最大値を制限することしかできず、他のプログラムが独自のリソースを占有するのを分離することはできません。他のアプリケーションが物理マシンのリソースを過度に占有すると、コンテナ内の MySQL の読み取りおよび書き込み効率に影響します。

必要な分離レベルが増えるほど、発生するリソースのオーバーヘッドも大きくなります。専用環境と比較して、水平スケーリングが容易なことが Docker の大きな利点です。ただし、Docker では、水平スケーリングはステートレス コンピューティング サービスにのみ使用でき、データベースには使用できません。

[[261590]]

MySQL はコンテナ内で実行できないのですか?

MySQL は完全に制御不能というわけではありません。

  • データ損失の影響を受けにくいビジネス (ユーザーによる製品検索など) はデジタル化でき、データベース シャーディングを使用してインスタンスの数を増やし、スループットを向上させることができます。
  • Docker は軽量または分散データベースの実行に適しています。 Docker サービスがクラッシュすると、コンテナ サービスを再起動する代わりに、新しいコンテナが自動的に起動されます。
  • データベースは、ミドルウェアとコンテナ化されたシステムを使用して、自動的にスケーリング、災害からの回復、切り替えを行い、複数のノードを備えています。コンテナ化も可能です。

典型的なケース: Tongcheng Travel、JD.com、Alibaba のデータベース コンテナ化はすべて優れたケースであり、自分で確認することができます。

<<:  ガートナーの予測: 世界のパブリッククラウドの規模は2019年に2,143億ドルに達する

>>:  真のハイブリッドクラウドが主流になる

推薦する

個人ウェブマスターに適した地域住宅改修ウェブサイトと収益モデルの分析

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス数年前、老江は学校近くの...

無視できないWebサイト構築計画。4つの主要計画ポイントを詳しく解説

今、すべてがスピードアップしているようです。鉄道はスピードアップする必要があり、CPIもスピードアッ...

クラウド意思決定の十戒のうち、どれに従いましたか?

過去数年間、私は多くの企業がクラウド サービスを完璧で安全かつ信頼できるものにできるよう支援してきま...

Kubernetes アンチパターンを回避するためのガイド

Kubernetes を使い始めたばかりでも、アプリケーションでの使用を検討している場合でも、Kub...

クラウドコンピューティングがサプライチェーンをよりスマートかつ強力にする方法

COVID-19パンデミックはサプライチェーンを混乱させており、特に世界的な半導体危機が顕著となって...

SEO 作業で PDCA を実施していますか?

私はSEOに2年以上携わっています。通常の仕事のプロセスでは、専門知識の学習と専門スキルの習得に加え...

山西省陽泉市が変わる!百度と提携し、中小都市のスマートシティ実証モデルを構築

12月17日、百度は山西省陽泉市人民政府と戦略協力協定を締結した。双方は協力して、百度脳、自動運転、...

Ceph オブジェクト ストレージに基づくハイブリッド クラウド メカニズムの詳細な分析

1. 背景クラウド コンピューティングの発展の勢いに乗って、Ceph が今日最も注目されているソフト...

Elasticsearch クエリのイノベーション: ワイルドカード型の効率的なファジー マッチング戦略の検討

1. 背景本番環境での使用では、Elasticsearch では完全一致だけでなく、あいまいなクエリ...

Kafka について: コンシューマー ソースコード分析とリバランス メカニズム

[[443148]] 1. はじめに前回の記事では、Consumer が Consumer Grou...

ベンチャーキャピタルに不満を抱き、共同購入サイトは利益を求めている

ベンチャーキャピタルに依存して急速に拡大し、市場シェアを獲得した共同購入ウェブサイトは、短期的な株式...

#国内# spinservers: 米国ダラスの専用サーバー、1~10Gbps の専用帯域幅、無制限のトラフィック、月額 99 ドルから、e3-1280v5/32gDDR4/1T NVMe

spinservers は、中国の建国記念日に合わせて特別にプロモーションを開始しました。米国ダラス...

外部リンクへの道はますます狭くなっています。SEO担当者は何をすべきでしょうか?

外部リンクの道はますます狭くなっています。SEOERは何をすべきでしょうか?「好きなことをやれ」とい...

クラウドコンピューティングは一般の人々とはあまり関係がないのでしょうか?実際、誰もがそれなしでは生きていけません。

クラウドコンピューティングは専門家の話であり、私たちのような一般の人にはあまり関係がないと言われてい...

地域食品ネットワークの運営スキルに関する簡単な議論

人々の生活水準が徐々に向上するにつれて、物質的な生活に気を配ると同時に、健康的な食事や生活にもますま...