MySQL Binlog ログ処理ツールの比較分析

MySQL Binlog ログ処理ツールの比較分析

運河

ポジショニング: データベースの増分ログ分析に基づいて、増分データのサブスクリプションと消費を提供し、現在は主に MySQL をサポートしています。

原理:

  • Canal は MySQL スレーブの対話型プロトコルをシミュレートし、MySQL スレーブのふりをして、ダンプ プロトコルを MySQL マスターに送信します。
  • MySQL マスターはダンプ要求を受信し、バイナリ ログをスレーブ (チャネル) にプッシュし始めます。
  • Canalはバイナリログオブジェクト(元々はバイトストリーム)を解析します

パーサープロセス全体は、大まかにいくつかのステップに分けられます。

  • 接続は、最後に成功した分析の場所を取得します(初めて起動する場合は、現在のデータベースの初期場所またはバイナリログの場所を取得します)
  • 接続が確立され、BINLOG_DUMPコマンドが実行される
  • MySQLがバイナリログのプッシュを開始
  • 受信したバイナリ ログは Binlog パーサーによって解析され、特定の情報が追加されます。
  • データ保存のためにEventSinkモジュールに渡すことは、保存が成功するまでブロック操作になります。
  • 保存が成功すると、バイナリログの場所が定期的に記録されます。

  • データ フィルタリング: ワイルドカード フィルタリング モード、テーブル名、フィールド コンテンツなどをサポートします。
  • データルーティング/配布: 1:n を解決します (1 つのパーサーが複数のストアに対応)
  • データのマージ: n:1 を解決 (複数のパーサーが 1 つのストアに対応)
  • データ処理: 入店前の追加処理、例えば入店

マクスウェル

Canal は Java で開発されており、サーバーとクライアントに分かれています。派生アプリケーションが多数あり、パフォーマンスが安定しており、機能が強力です。Canal では、Canal によって解析されたデータを使用するために独自のクライアントを作成する必要があります。

Canal に対する Maxwell の利点は、使いやすいことです。データの変更が JSON 文字列として直接出力されるため、クライアントを作成する必要がありません。

データバス

Databus は、LinkedIn データ処理パイプラインの不可欠な部分となっている低遅延の変更キャプチャ システムです。 Databus は、主要なデータの変更を確実にキャプチャ、ストリーミング、処理するための基本的な要件に対応します。 Databus は次の機能を提供します。

  • 情報源と消費者の分離
  • 高い可用性を備えた順序どおりの少なくとも 1 回の配信が保証されます
  • データ全体の完全なブートストラップ機能を含め、変更ストリームの任意のポイントから消費を開始します。
  • パーティション消費
  • ソースの一貫性の維持

Alibaba Cloud のデータ転送サービス (DTS)

データ転送サービス (DTS) は、RDBMS (リレーショナル データベース)、NoSQL、OLAP などの複数のデータ ソース間のデータ相互作用をサポートする Alibaba Cloud が提供するデータ フロー サービスです。 DTS は、データ移行、リアルタイム データ サブスクリプション、リアルタイム データ同期など、さまざまなデータ転送機能を提供します。サービス中断のないデータ移行、異なる場所でのデータ災害復旧、異なる場所でのマルチアクティブ (ユニット化)、国境を越えたデータ同期、リアルタイム データ ウェアハウス、クエリ レポートの転送、キャッシュ更新、非同期メッセージ通知など、複数のビジネス アプリケーション シナリオを実現し、安全性、拡張性、可用性に優れたデータ アーキテクチャの構築に役立ちます。

利点: データ転送サービス DTS は、RDBMS、NoSQL、OLAP などの複数のデータ ソース間のデータ転送をサポートします。データ移行、リアルタイムデータサブスクリプション、リアルタイムデータ同期など、複数のデータ転送方法を提供します。サードパーティのデータフローツールと比較して、データ転送サービス DTS は、より多様で高性能、高セキュリティ、信頼性の高い転送リンクを提供します。同時に、多くの便利な機能を提供し、転送リンクの作成と管理を大幅に容易にします。

私の個人的な理解では、これはパッケージ化された SQL オブジェクトをプッシュするメッセージ キューであり、これらの SQL オブジェクトを自分で解析するサービスを作成できます。

高額な導入および保守コストを削減します。 DTS は Alibaba Cloud RDS (オンラインリレーショナルデータベース)、DRDS などの製品に適応しており、Binlog ログのリサイクル、マスター/スレーブ切り替え、VPC ネットワーク切り替えなどのシナリオにおけるサブスクリプションの高可用性の問題を解決します。同時に、RDS に対してターゲットを絞ったパフォーマンス最適化が実行されます。安定性、パフォーマンス、コストを考慮して推奨されます。

上記は、MySQL Binlog ログ処理ツールの比較分析の詳細な内容です。MySQL Binlog ログ処理ツールの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • MySQLはデータ復旧を実装するためにbinlogログを使用する
  • MySQL binlog の使用方法の詳細な説明
  • MySQL binlog ログを開く方法
  • MySQLを監視するためのbinlogログ解析ツールの詳しい説明:Canal
  • MySQLデータベースのbinlogクリーンアップコマンドの詳細な説明
  • MySQL Binlog ログの読み取り時によくある 3 つのエラー
  • mysql binlog (バイナリログ) を表示する方法
  • mysql binlog ログを正しくクリーンアップする 2 つの方法
  • MySQL の binlog ログと、binlog ログを使用してデータを回復する方法を説明します。
  • MySQL データベースの Binlog 使用法の概要 (必読)

<<:  HTML の一般的でないタグ optgroup、sub、sup、bdo のサンプルコード

>>:  Dockerは指定されたメモリで操作を実行します

推薦する

MySQLデータベースでの値の追加、変更、削除、クリアの例

3. MySQLデータ管理最初の方法:お勧めできません。複雑そうです -- 学生テーブルの grad...

MySQL 構成 SSL マスタースレーブ レプリケーション

MySQL5.6 SSLファイルの作成方法公式ドキュメント: https://dev.mysql.c...

21 の MySQL 標準化および最適化のベスト プラクティス!

序文良い習慣はすべて宝物です。この記事は、SQL の後悔の治療法、SQL パフォーマンスの最適化、S...

IE10以下のimgタグ問題の解決方法

問題を見つける以前、簡単なデモを書いたのですが、IE10以下では動作しないことがわかりました。ここに...

HTML シンプルな Web フォーム作成例の紹介

<input> はユーザー情報を収集するために使用され、終了ステートメントはありません。...

Tomcat パイプライン モードのパイプラインとバルブの詳細な説明

序文比較的複雑な大規模システムでは、複雑なロジックで処理する必要があるオブジェクトまたはデータ フロ...

MySQLの共同クエリ最適化メカニズムの詳細な説明

目次MySQL フェデレーテッド クエリ実行戦略。実行計画フェデレーテッドクエリオプティマイザーMy...

Dockerを使用して開発環境を構築する方法を素早く習得します

プラットフォームが成長し続けるにつれて、プロジェクトの研究開発は、開発者向けのさまざまな外部環境、特...

Vue から React への変換入門ガイド

目次デザインコンポーネント通信ライフサイクルイベント処理品格とスタイルクラススタイル条件付きレンダリ...

マークアップ言語 - リスト再び

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

CSS BEM 命名標準の概要 (推奨)

1 BEM命名標準とはBem は、ブロック、要素、修飾子の略語であり、Yandex チームによって...

DockerでVueプロジェクトをデプロイする方法を教えます

1.前面に書きます:軽量仮想化テクノロジーとして、Docker には継続的インテグレーション、バージ...

CSS パフォーマンスの最適化 - will-change の使用方法の詳細な説明

will-change は、要素にどのような変更が行われるかをブラウザに伝え、ブラウザが事前に最適化...

MySQL 5.7 JSON 型の使用の詳細

JSON は、言語に依存しないテキスト形式を使用する軽量のデータ交換形式で、XML に似ていますが、...

Docker+nacos+seata1.3.0 のインストールと使用設定チュートリアル

これに先立ち、1日かけてやってみました。Seataは使い方が簡単で超シンプルですが、インストールや設...