データ同期ツール:運河

みなさんこんにちは。このブログへようこそ。ブロガーはビッグデータ業界に参入したばかりの初心者です。彼は自由な時間を使って学んだことを共有し、まだ始まったばかりのブロガーのような学生を支援しています。 、間違いや脱落があれば、遠慮なく教えてください。現在、個人ブログにはCSDNのみがありhttps://zhenyu.blog.csdn.net/ます。、サポートに感謝し、ありがとう、そして
文章送ってください:今日の問題、今日

このブログは主に説明します:データ同期ツール:運河

目的:

  • 運河を理解する

バックグラウンド

-------初期の頃、AlibabaのB2B会社は、杭州と米国に2つのコンピューター室が配備されていたため、コンピューター室間で同期する必要がありました。ただし、初期のデータベース同期ビジネスは、主にトリガー方式に基づいて増分変更を取得していましたが、2010年以降、Alibabaの企業は、同期の増分変更を取得するためにデータベースベースのログ分析を徐々に試み始めました。それ以来、大量のサブスクリプションと消費のビジネスは新しい時代を切り開きました。ps。現在内部で使用されている同期は、mysql5.xおよびoracleの一部のバージョンのログ解析をすでにサポートしています。

ログの増分サブスクリプションと消費によってサポートされるサービス:

  • データベースミラーリング
  • リアルタイムのデータベースバックアップ
  • マルチレベルインデックス(売り手と買い手は別々にインデックス付けされます)
  • 検索ビルド
  • ビジネスキャッシュの更新
  • 価格変更などの重要なビジネスニュース

運河とは

名前:運河[kə'næl]

翻訳された意味:水路/パイプ/溝

言語:純粋なJava開発

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

キーワード:mysql binlog parser/ real-time/ queue&topic/ 增量日志/增量数据订阅&消费

理解:増分データを同期するためのツール

サポートされているバージョン:現在の運河は、5.1.x | 5.5.x | 5.6.x | 5.7.x | 8.0.xを含むソースMySQLバージョンをサポートしています

運河公式サイト

運河の原理

MySQLマスターおよびバックアップレプリケーションの原則

ここに写真の説明を挿入

  • MySQLマスターは、データの変更をバイナリログに書き込みます(バイナリログ。レコードはバイナリログイベントログイベントと呼ばれ、show binlogイベントで表示できます)。
  • MySQLスレーブは、マスターのバイナリログイベントをそのリレーログ(リレーログ)にコピーします
  • MySQLスレーブは、リレーログのイベントを再生し、データの変更を自身のデータに反映します。

mysql binlog
は、すべてのDDLおよびDML(データクエリステートメントを除く)ステートメントをイベントの形式で記録し、ステートメントの実行に費やされた時間も含みます。主にバックアップとデータ同期に使用されます。
binlogには、次の3つのタイプがあります。STATEMENT、ROW、MIXEDSTATEMENT
は実行されたsqlステートメントを
記録しますROWは実際の行データレコードを記録します
MIXEDレコード1+ 2、優先度は1のモードで記録されます

用語の説明:
リレーログとは何ですか?
スレーブサーバーのI / Oスレッドは、マスターサーバーのバイナリログを読み取り、それをスレーブサーバーのローカルファイルに記録します。次に、スレーブサーバーのSQLスレッドは、リレーログログの内容を読み取り、スレーブサーバーに適用します。スレーブサーバーとマスターサーバーのデータが一致するように

運河のしくみ

ここに写真の説明を挿入

  • canalは、MySQLスレーブの相互作用プロトコルをシミュレートし、MySQLスレーブのふりをして、ダンププロトコルをMySQLマスターに送信します。
  • MySQLマスターはダンプ要求を受信し、バイナリログをスレーブ(つまり運河)にプッシュし始めます
  • 運河解析バイナリログオブジェクト(元々はバイトストリーム)

建築

  • サーバーは、jvmに対応する運河の実行インスタンスを表します
  • インスタンスはデータキューに対応します(1つの運河サーバーは1 ... nのインスタンスに対応します)
  • インスタンス下のサブモジュール
    • eventParser:データソースアクセス、スレーブプロトコルとマスターの相互作用のシミュレーション、プロトコル分析
    • eventSink:パーサーとストアのリンカー、データのフィルタリング、処理、および配布作業
    • eventStore:データストレージ
    • metaManager:インクリメンタルサブスクリプションおよび消費情報マネージャー

概要

--------上記は運河の詳細な紹介です。
ご支援ありがとうございます。何か問題がありましたら、時間内にフィードバックをお寄せください。気に入ってサポートしてください。ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_43563705/article/details/109328043