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

推薦する

js を使用してファイルが UTF-8 でエンコードされているかどうかを判断する方法

従来の解決策FileReader を使用して UTF-8 形式のファイルを読み取り、ファイルの内容に...

WeChatアプレットはシンプルな計算機を実装する

参考までにWeChatアプレットで書かれた簡単な計算機です。具体的な内容は次のとおりです。 jisa...

Hyper-V なしで Windows 10 を動作させるソリューション

Windows10 Home Edition でHyper-vを有効にする方法をまだ探していますか?...

ウェブサイトに最も必要なのは、ターゲットユーザーグループのエクスペリエンスを向上させることです。

「大河は東に流れ、波は歴代の英雄たちを洗い流した。古城の西側は三国時代の周朗の赤壁だと言われている...

npm グローバル モジュールのデフォルトのインストール パスを変更するためにノードのインストールをカスタマイズする手順

node を D ドライブにインストールしましたが、C ドライブのスペースを占有したくなかったため、...

MySQL でのログインを取り消す

コンセプト紹介: MySQL の redo ログにはトランザクションの動作が記録されることはご存じの...

Node.jsで子プロセスを作成する方法

目次導入子プロセスプロセスを非同期的に作成する同期作成プロセス導入Node.js のメイン イベント...

カルーセルバナーの自動回転効果を実現する純粋な CSS

さっそくコードを見てみましょう * { マージン: 0; パディング: 0; } 。容器 { マージ...

理論の普及——ユーザーエクスペリエンス

1. 概念分析 1: UE ユーザー エクスペリエンス <br />英語ではユーザー エ...

MySQL ビューの原理と基本操作例

この記事では、例を使用して、MySQL ビューの原理と基本操作を説明します。ご参考までに、詳細は以下...

Linux SecureCRT の文字化けの解決方法

SecureCRT が文字化けした文字を表示する状況を見てみましょう。例えば: ではリセットしてみま...

Vue要素ツリーコントロールに点線を追加する詳細な説明

目次1. 成果を達成する2. 実装コード3. その他の実装要約する1. 成果を達成する 2. 実装コ...

Javascriptを使用して滑らかな曲線を生成する方法

目次序文ベジェ曲線の紹介二次ベジェ曲線3次ベジェ曲線ベジェ曲線計算機能フィッティングアルゴリズム付録...

MySQL インポートおよびエクスポートのバックアップの詳細

目次1. MySQLのバックアップタイプの詳細な説明1. バックアップがデータベースに与える影響に基...

Linux で PyCurl のエラーを解決する方法

「curl-config を実行できませんでした」の解決策 pycurl のダウンロード/解凍 (p...