Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

アジェンダ • Gluesyncとは? • Gluesync 2.1 新機能、改善 • 製品デモ • プレゼントクイズ

Slide 3

Slide 3 text

Gluesyncとは?

Slide 4

Slide 4 text

Gluesync とは • システム間でのデータ同期ツール • RDBMS • NoSQL/ドキュメントストア • ビッグデータ/データレイク/クラウドストレージ • イベントストリーミング/メッセージキュー • クラウド(コンテナ)ネイティブ • リアルタイム変更追跡:CDC • Web UIとAPI

Slide 5

Slide 5 text

システム間でのデータ同期 RDBMS RDBMS RDBMS NoSQL NoSQL RDBMS NoSQL NoSQL

Slide 6

Slide 6 text

NoSQL RDBMS DW / Analytics Streaming Obj store T = ターゲットのみ T ] T ] T ] T ] T ] for (Supported file formats) T ] T ] T ] T ] T ] T ] T ] T ] T ] T ] サポート対応サービス T ]

Slide 7

Slide 7 text

基本アーキテクチャ Core Hub:Web UI/API・データ処理・監視・認証コンテナ Agent:データシステムとの接続・変更追跡・同期処理コンテナ コンテナランタイム上にデプロイ

Slide 8

Slide 8 text

転送モード • スナップショット • CDC (Change Data Capture) スナップショット CDC

Slide 9

Slide 9 text

スナップショット • テーブルの全レコードを転送 • Upsert(Insert + Update) or Insertモードの指定 • 主に初期同期にて利用 全件転送

Slide 10

Slide 10 text

CDC (Change Data Capture) • 差分レプリケーション • 差分のためデータ量小、負荷小 • DB/サービスごとに最適なCDC方式を用意 差分転送

Slide 11

Slide 11 text

リアルタイム変更追跡 CDC:DBネイティブ IBM i シリーズ ジャーナル Informix 変更データキャプチャCDC API Oracle Database Open Log Replicator XStream API SQL Server 変更追跡機能 (Change Tracking) 変更データキャプチャCDC API (Transaction Log) MySQL/MariaDB バイナリログ PostgreSQL WALログ API

Slide 12

Slide 12 text

リアルタイム変更追跡 CDC:トリガー方式 IBM DB2 for LUW Sybase ASE Oracle Database Select

Slide 13

Slide 13 text

リアルタイム変更追跡 CDC:ネイティブ Amazon DynamoDB DynamoDB ストリーム Azure Cosmos DB 変更フィード プロセッサ Aerospike ESPとXDR Couchbase Eventing サービス MongoDB 変更ストリーム ScyllaDB CDC Apache HBase scan機能 API

Slide 14

Slide 14 text

デプロイメント:コンテナベース オンプレ、クラウド、ハイブリッド、環境問わず導入可能

Slide 15

Slide 15 text

デプロイメント:コンテナベース 事前構成済みのDocker Compose、Helmチャートを評価用に提供

Slide 16

Slide 16 text

インストール例 Docker Composeの場合 cd <評価キットのフォルダ> docker compose up -d Kubernetes環境の場合 helm repo add gluesync https://helm.molo17.com helm install gluesync-trial gluesync/gluesync --values values.yaml ブラウザでアクセス https://localhost

Slide 17

Slide 17 text

日本語UI

Slide 18

Slide 18 text

Gluesync 2.1 新機能、改善 • プラットフォーム対応 • Windowsネイティブビルドのサポート • DB接続エージェントのデプロイ簡易化 • レプリケーション • Truncate対応追加 • CDC対象操作の指定 • Parquetファイルとしてのレプリケーション • 補助機能 • ターゲットDBへのテーブル作成機能 • グループ化機能 • スケジューラ機能 • Javaコードによるレコード値操作

Slide 19

Slide 19 text

プラットフォーム対応

Slide 20

Slide 20 text

これまでのGluesyncでは… • コンテナランタイム(Dockerなど)にデプロイ • Linux OSやMac OSへのデプロイが主流 • Windows OSはWSL(Windows Subsystem Linux)構成が前提 Windows Windows Subsystem Linux Linux (Ubuntuなど) コンテナランタイム(Dockerなど) Linux コンテナランタイム(Dockerなど)

Slide 21

Slide 21 text

Windowsネイティブビルドサポート • Windows Dockerへ直接Gluesyncコンテナをデプロイ • Linux OSに依存しない構成 Windows コンテナランタイム(Dockerなど) Windows Windows Subsystem Linux Linux (Ubuntuなど) コンテナランタイム(Dockerなど)

Slide 22

Slide 22 text

DB接続エージェントデプロイの簡易化 • .ymlファイルを手動で編集 • コンテナ技術に関する知識 • 記述ミスのリスク • 連携対象DBが増えた際に手間

Slide 23

Slide 23 text

DB接続エージェントデプロイの簡易化 • Web UIより任意のDBエージェントをデプロイ • .ymlファイル操作不要 (自動追記) • リソース割り当ても明示指定可能 ※Linux版のみ Windows版は今後リリース予定 デプロイ

Slide 24

Slide 24 text

レプリケーション機能

Slide 25

Slide 25 text

Truncate対応追加 • データクリアの取り扱い強化 • スナップショット • Insert前にTruncate実行 • CDC • Insert/Update/Delete に加えてTruncateも検知 DML検知 CDC Truncate実行 Truncate実行 ① Truncate ② 全件Insert スナップショット

Slide 26

Slide 26 text

CDC対象となるDML指定 • CDC対象DML:Insert/Update/Delete/Truncate (デフォルト) • エンティティごとに指定 ユースケース例 許可するDML ニーズ 監査/履歴/ アーカイブ Insert 上書きと削除を無効化、過去履歴を 保持しておきたい 読み取り 分析用 Insert/Update 最新データだけでなく、過去データも 保持し分析対象としたい フルミラー/ 本番同期 ALL ソーステーブルの状態を完全に同期

Slide 27

Slide 27 text

Parquetファイルとしてのレプリケーション • Amazon s3、Google Cloud Storageなどのオブジェクトストア向け • JSON形式に加えてParquetファイル¹としての出力サポート • ¹列指向型の圧縮されたバイナリデータ形式 • JSON/Parquet切り替え可 [ { "id": 1, "name": "Asahi", "age": 32, }, { "id": 2, "name": “Suzuki", "age": 33, } ] id : 1,2 name : Asahi,Suzuki age : 32,33 ※イメージ図 実際にはバイナリ形式

Slide 28

Slide 28 text

補助機能

Slide 29

Slide 29 text

テーブル作成機能 • ソーステーブル構成から自動的にCreateクエリを生成、発行 • 適切なデータ型を自動選定 • サイズ、PK、NOT NULL等を引継ぎ • 手動修正も可能

Slide 30

Slide 30 text

グループ機能 • 複数エンティティ(ジョブ)をまとめる • 親子テーブルを意識したレプリケーションのサポート CDCの場合 トランザクション順に処理 1 2 3 スナップショットの場合 親テーブルから処理

Slide 31

Slide 31 text

スケジュール設定 • CDC停止/開始/スナップショット実行をスケジュール化 • エンティティ/グループ単位 • CRONモードでより細かく制御可

Slide 32

Slide 32 text

Javaコードによるレコード値操作(UDF) • Insert/Update/Deleteイベントと連携 • 関数/スクリプトでレコード値操作 • Insertされたレコードの個人情報カラムをマスキング • Deleteを検知、レコード削除は行わず削除フラグカラムへ値を追加 • Javaコーディング (Python/JavaScriptは今後予定)