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は指定されたメモリで操作を実行します

推薦する

Oracle VM VirtualBox の CentOS7 オペレーティング システムのインストール チュートリアル図

目次インストール手順環境設定実行構成インストール手順ダウンロードアドレス: バージョン6.0 最初に...

vue-cropper を使用して vue で写真をトリミングする方法をご存知ですか?

目次1. インストール: 2. 使用方法: 3. 組み込みメソッド: 4. 使用方法:要約する公式サ...

Vue プロジェクトに Electron を追加するための詳細なコード

1. package.jsonに追加する "メイン": "electr...

CentOSはexpectを使用してスクリプトやコマンドをバッチでリモート実行します

サーバーへのファイルのアップロード、ソフトウェアのインストール、コマンドやスクリプトの実行、サービス...

VUEは登録とログインの効果を実現します

この記事の例では、登録とログインの効果を実現するためのVUEの具体的なコードを紹介します。具体的な内...

Mysql5.7 以降での ONLY_FULL_GROUP_BY エラーの解決方法

最近、開発プロセス中に、プロジェクト開発環境に接続されている MySQL データベースは Aliba...

Mysql で期間の交差をクエリする方法

MySQLクエリ期間の交差使用シナリオデータベース テーブルには、starttime と endti...

シンプルなスネークゲームを実現するネイティブjs

この記事では、スネークゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な内容...

Dockerコンテナとホストマシン間の8時間の差の問題を解決する

デプロイに docker-compose を使用すると、出力ログと関連イベントが検証されて出力される...

Docker環境でJenkinsを設定すると、タスクをビルドするときにコンソールログに文字化けした中国語の文字が表示されます

目次1. 問題の説明: 2. Jenkins設定のトラブルシューティング3. コードログのエンコード...

CSS でマウスの位置をマッピングし、マウスを動かしてページ要素を制御する (サンプル コード)

マウスの位置をマッピングしたり、ドラッグ効果を実装したりすることは、 JavaScriptで行うこと...

高性能ウェブサイトの最適化ガイド

パフォーマンスの黄金律:エンドユーザーの応答時間のわずか 10% ~ 20% が HTML ドキュメ...

Linux サーバー上の hosts ファイル構成の詳細な説明

Linux サーバーのホスト ファイルの構成hosts ファイルは、Linux システム内の IP ...

HTML チュートリアル: よく使われる HTML タグのコレクション (5)

導入された HTML タグは、必ずしも XHTML 仕様に完全に準拠しているわけではありません。実際...

Windows で複数の MySQL インスタンスを実行する方法

序文Windows では、各インスタンスに適切なパラメータを使用してコマンド ラインから複数の My...