MySQLの好き嫌い

データベース開発の過程でセキュリティ->安定性->効率->低コスト4つの秩序あるポイントが影に隠れていました。後者は前者を離れるときの空の話です。10月19日の夜、MySQLはバージョン8.0.22をリリースしました。新機能の1つ(非同期レプリケーションチャネルの自動接続フェイルオーバー)が私の注目を集め、非常に興味を持っていました。DBAのベテランとして、私はさまざまな感情を抱いています。過去20年間、フェイルオーバー機能は、常に3者間ステップバイステップツールによって支配されてきました。これは、数世代のDBAの苦痛でした。インターネット上で最も人気のあるデータベースは、この分野で批判されています。この機能はまだテストされていませんが、何があっても、少なくとも公式のこの部分は最終的にそれを解決し始めました。真夜中に、私は自分の考えを整理し、これまでのMySQL製品の開発を要約しました。基本的に、それらは次の方向に開発され
ます。1。マスタースレーブ同期:半同期への非同期同期、次に半同期の強化、そしてグループレプリケーション。同期のセキュリティ戦略を採用して同期の効率を向上させ、シングルスレッドレプリケーションからパラレルレプリケーションまで、マスタースレーブ遅延の問題の軽減に専念しますが、同期の相対的な絶対遅延は、これまでの開発プロセス全体に付随しています。
2.パフォーマンス最適化の方向性:マルチスレッドのスレッドプール(元のバージョンのMySQLのエンタープライズバージョンでサポートされ、コミュニティバージョンではサポートされません)。バージョン8.0.22以降、セキュリティと問題のレコードを確保するためのログは基本的に独立しています。パラメータを動的に調整して、クローズとオープンを個別に制御できます。コアエンジンのInnodbをリファクタリングし、さまざまなロック、独立したロックを最適化し、トランザクション操作を最適化します。食事操作のさまざまな最適化により、MySQLの最新バージョンのパフォーマンスは前例のない高さに達します。
3.マルチモードデータベースの方向性:リレーショナルデータ、JSON半構造化データ、オブジェクトデータ、メモリタイプ、フルテキスト検索エンジンなど。OLTPビジネスをサポートする複数のデータエンジンがOLAPビジネスに拡大し始めました(Oracleクラウドでサポートされる分析サービス) )、ただし、独自のクラウドでのみサポートされます。
4.他のデータベースの方向性から学ぶ:最大の参照はORACLEデータベースです。さまざまな文法といくつかの使用法がますますORACLEになりつつあります。MICの関連設定、スレーブノードの自動クローン作成など、MongoDBの一部の機能が参照に使用されますが、実際にはいくつかあります。繁雑。
5.インテリジェントな運用と保守の方向性:あらゆる種類のオンラインDDLをサポートし、ビジネスの認識はほとんどありません。これにより、将来のインテリジェントなセルフサービス動的最適化インデックスの強固な基盤が築かれます。ほとんどすべての主要なパフォーマンスパラメータがオンライン変更をサポートし、永続的な動的調整パラメータをサポートします。再起動後のパラメータが再起動前と同じであることを確認します。MySQLを閉じると、メモリ内のホットデータをハードディスクに保持し、起動時にハードディスクからメモリに再ロードして、データベースの予熱を減らし、データベースの再起動後に以前の戦時状態にすばやく入ることができます。 SQLステートメント書き換え機能、ビジネスコードを変更せずにSQLを書き換えます。ハードウェア構成に応じて起動時に一部のパラメータ設定の自動調整をサポートできます。自動調整できるパラメータは限られていますが、前の項目と組み合わせて、インテリジェントパラメータの将来のMySQL用です。チューニングと自己最適化の観点から、自律型データベースの開発が基礎を築きました。
6.セキュリティの方向性を改善する:サウンドログにより、さまざまな異常な状況でデータが失われることはありません。これは、データベースの最も基本的な要件でもあります。MySQLは、データベースの強化と強化に懸命に取り組んでおり、財務グレードのデータベースの構築に努めています。ユーザー認証方法の強化cache_sha2_password、認証モードを強化し、ユーザー認証文字列のブルートフォースクラッキングの難易度を高めます。しかし、最大の安全機能であるfailoveはかつてないほどです。
7.コスト削減の方向性:このルートの進行は少し遅いです。現在、innodb圧縮が実行され、圧縮率が改善されています。ユーザーエクスペリエンスの向上と人件費の使用と操作の簡素化に努めていますが、一部の操作を比較しています。 MySQL innodbクラスターの構成など、不正な形式の複雑な操作構成。
MySQLは人々に愛されていますが、インストール容量も非常に大きく、非常に優れていますが、それでも多くの欠点があります
。1。スレーブノードを自動的に作成する:グループレプリケーションは自動的に新しいノードを追加しましたが、データベースを開始するにはすべてのBinlogログを初期化する必要があります(このソリューションを設計する製品は少し小さいと思います)。そうでない場合は、mysqldumpを使用して手動で行う必要があります。これまでのところ、新しいノードを追加する操作は非常に面倒です。 、それでも不便で、操作も複雑ですが、MongoDBの方がはるかにシンプルです。操作も操作・維持費も非常に安いです。
2.フェイルオーバー: 20年以上の開発後も、MySQLはフェイルオーバーをサードパーティのツールに依存しています。障害の自己修復の側面は改善されていますが、これまでのところ、理想的ではありません。実際、MySQL JDBCでは、MongoDBと同様に、マルチデータベースおよびマルチノード構成をサポートしていますが、自動障害検出および切り替え機能はありません。この機能は常に装飾されています。MySQL8.0.22バージョンはついにフェイルオーバースイッチングをサポートします。構成パラメーターを見ると、操作が壊れています。MongoDBのこの機能はスターではないと推定されます。当局はこの分野により多くの人的資源と物的資源を投資することが期待され、MySQLはこの元の運用状態を終わらせ、SLAと運用および保守要員のビジネス利用不能時間を改善します。
3.ドロップテーブル/データベース削除操作の最適化:現在、大きなテーブルとライブラリを削除すると、データベースのパフォーマンスに大きな影響があり、データベースでさえ乾燥している可能性があります。
4.データベーステーブルの偽の削除または遅延削除、データベースの削除リサイクルビンの作成、およびデータベースの後悔の薬のカスタマイズ。
5.MySQLのMySQLInnodb Clusterは現在味がなく、人が使用していないと推定されています。ルーターとシェルのコンポーネントはMySQLに完全に統合できます。コンポーネントが多いほど、運用と保守のコストが高くなります。この管理モードは、ミドルウェアにはあまり適していません。 、個人的にカスタマイズすることもでき(結局のところ、ミドルウェアを変更するコストはMySQLソースコードほど高くありません)、構成管理は複雑です。
6.ビジネスを適切に行っていない:各製品には中核的な競争力があります。MySQLの現在の製品は、本来の意図(安全、安定、効率的、低コスト)を忘れている疑いがあります。時間の浪費、やりすぎ、他のデータベース機能の参照を望んでいます。 、MySQLのすべてのデータベースは機能しますか?本当にデータベースを統合できますか?
伝説的なMySQLストレージとコンピューティングの分離は公式にサポートされますか?
データベースストレージとコンピューティングの分離アーキテクチャは、過去2年間で非常に人気があります。これは、データベース開発の方向性でもあります。一方で、ハードウェアテクノロジーが進歩し、弾力性のあるスケーリング、リソースの合理的な使用をサポートし、コストを削減します。特にすべてが雲である現在、この種のアーキテクチャの出現は確かにタイムリーです。MySQLがこのアーキテクチャをサポートしている場合、必然的にMySQL-Innodbストレージエンジンに多くの変更を加える必要があり、対応する独自の分散ファイルシステムも必要になります。現在のMySQLアーキテクチャでは多くの調整が必要になる場合があります。マスタースレーブ同期の遅延をさらに減らすために、MySQLの担当者は、遅延の問題を最適化するために物理レプリケーションをサポートする場合があります。ストレージとコンピューティングの分離については、個人的には、少なくとも短期間では正式にサポートされないと感じています。私のヘナンの仲間であるWang Shouyiが13の香^-^
が複数のデータベースの利点を設定すると言ったので、MySQL13でサポートされるかもしれません。本来の意図を忘れないでください。海は川であり、耐性は大きいです。MySQLは耐性がなく、十分にオープンではないと感じています。多くの既成の成功事例やプログラムのアイデアを参考にすることができます。また、公式のR&D担当者も世界一流ですが、どのように学ぶことができますか?私たちは多くのことを理解していません、私たちは知りません、誰が知っているのか、誰が知っているのか、尋ねることはあえてしません、多分あなたは明日目を覚ますとMySQLはゴージャスなターンをして、ブライダルメイクでインテリジェントで自律的なデータベースの時代に突入しますか?

おすすめ

転載: blog.51cto.com/wangwei007/2542603