SlideShare a Scribd company logo
Qlik Replicateで
Amazon Kinesis Data Streamsを
ターゲットとして使用する
クリックテック・ジャパン株式会社
2
Qlik Replicateの概要
3
Qlik Replicateの「一般的な」アーキテクチャ
Qlik
Replicate
メインフレーム
ファイル
データウェアハウス
RDBMS
Hadoop
メインフレーム
ファイル
データウェアハウス
RDBMS
Hadoop
フルロード
CDC
フルロード
CDCを適用
バッチ バッチ
クラウド
クラウド
オンプレミス オンプレミス
永続ストア
• 多種多様なDB、DWH、ビッグデータプラットフォーム間でデータレプリケーション処理を簡単な操作で行うための製品
• エージェントレスでデータソースへの負荷や影響を最小限にしながら、高速に異種システム間でデータ転送を行える
4
ターゲットとしてのストリーミング環境 – Amazon Kinesisなど
Qlik
Replicate
メインフレーム
ファイル
データウェアハウス
RDBMS
Hadoop
フルロード
CDC
フルロードとCDCの
レコードデータを
送信 クラウド
クラウド
オンプレミス オンプレミス
永続ストア
• ターゲットとして、Amazon Kinesis Data Streamsなどのストリーミングアーキテクチャのシステムをサポート
• 実稼働データベースの更新をライブの変更データストリームに変換する、シンプルで汎用的なリアルタイムソリューション
5
Amazon Kinesis Data Streams
の概要
6
Amazon Kinesis Data Streamsのプロデュース&コンシューム
用語
 Producer - Kinesisクライアント。Stream(Shard)にデータレコードを送信
 Consumer – Kinesisクライアント。Stream(Shard)からデータレコードを受信
 Stream – ストリーム。複数のShardで構成も可能(1つのShardあたりの送受信の最大スループットが上限設定されている)
 Shard –データレコードを処理。永続化して一定期間保持
https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html
7
Qlik ReplicateのターゲットとしてのAmazon Kinesis
 Qlik Replicate は、Amazon Kinesis Data Streams の Producer
 Kinesisに接続してデータレコードをStreamに送信
 各データレコードは、Full LoadとApply Changes(CDC)の「1行分のデータ」を表す(サイズには上限あり)
• データレコードの形式は、JSON(UTF-8)またはAvro
• データレコードとともに、PartitionKey(スキーマ名+テーブル名または主キーの値)も付加できる(オプション)
• 処理するShardを決めるキー
• データレコードは、Kinesis内ではBase64でエンコードされて処理される
 Full Load および CDC をサポート(ただしStore Changesモードはサポート無し)
8
Amazon Kinesis Data Streamsをセットアップする
 AWS マネジメントコンソールの「IAM」で必要に応じてユーザーを作成
• アクセスの種類で「プログラムによるアクセス」を有効
• アクセス許可の設定で、以下のKinesisのアクションへの許可をアタッチ、または単純に「既存のAmazonKinesisAnalyticsFullAccessポリシー」をアタッチ
• https://help.qlik.com/en-US/replicate/May2021/Content/Replicate/Main/Amazon%20Kinesis%20Streams/amazonkinesis_prereq.htm
• Streamのサーバーのデータ暗号化が必要なら、追加で上記のKMSのアクションも許可するポリシーをアタッチ
• ユーザーの認証情報で、アクセスキーIDとシークレットキーを作成しておく
 AWS マネジメントコンソールの「Amazon Kinesis」の「データストリーム」でStreamを予め作成
• Qlik Replicateが各データレコードの送信先として使用するStream(単一または複数個)を、必要なShard数(例:1)で作成
• Qlik Replicateがエラーの送信先として使用するStreamである attrep_apply_exceptions も作成
• もちろん、AWS コマンドラインインターフェイス(CLI)を使用してStreamを作成することも可能
• $>aws configure
• $>aws kinesis create-stream --stream-name <name> --shard-count 1
 AWS CLIなどでStreamにアクセスしてみる
• $>aws kinesis list-streams
• $>aws kinesis list-shards --stream-name <name>
• $>aws kinesis get-shard-iterator --stream-name <name> --shard-id <shardId> --shard-iterator-type TRIM_HORIZON
• $>aws kinesis get-records --shard-iterator ...
9
Qlik ReplicateからAmazon Kinesis
そしてQlik Senseへ
10
ターゲットのデータソースとしてKinesisを設定
 Access Details – Kinesisのリージョンやアクセスするユーザーのキーを指定
• AWS(IAM)のユーザーには、必要なアクションなどへの許可を有効にしておく
 送信するデータレコード内のDataのFormatを設定
 送信先のStreamを設定
• 単一のStream か 1テーブルごとに1つのStream(’schema.tablename’形式)
• 送信先Shard振り分け用の PartitionKey の有無
• PartitionKeyを使う場合の値(主キー値 か ’schema+tablename’形式)
• 処理中のエラーは、attrep_apply_exceptionsというStreamに送信される
 データレコード内のData(Base64デコード後)の構造を示すメタデータを付けるか否か
• 付ける場合はそれを送信するStreamを指定
 テーブルのTransformationで以下の名前のカラムを追加して、Stream、PartitionKeyの
値をそれぞれオーバーライド設定可能(Shardの指定は無し)
• $stream、$key
 Advancedオプションとして、Webプロキシサーバーの指定も可能
11
サポートされない機能(制限)
• https://help.qlik.com/en-
US/replicate/May2021/Content/Replicate/Main/Amazon%20Kinesis%20Streams/limitations_amazonkinesis.htm
• 無制限サイズのLOBは非サポート。ソーステーブルからLOBカラムをレプリケートする場合は「Allow unlimited LOB size」オプションは選択しない
• 「Batch optimized apply」モードはサポートされない。このモードが設定されている場合、タスクは自動的に「Transactional apply」モードに切り
替わり、警告を出力
• 「Store Changes」モードには対応しない
• KinesisのStream名として使用できる文字は英字 (大文字と小文字)、数字、アンダースコア、ハイフン、ピリオドのみ
• ソーステーブルの名前にサポートされない文字が含まれる場合、タスクを開始する前に名前を修正するか「Global Transformation」を定義する必要あり
• カラム名は、[A-Za-z_](アルファベットまたはアンダースコア)で始まり、[A-Za-z0-9_](アルファベット、数字またはアンダースコア)が続く必要あり
• ソースのカラム名がこのルールに従っていない場合は、「transformation」を使用してカラム名を変更する必要あり
• Apply Changesの「Ignore ALTER」設定は、ソースデータタイプの変更やテーブル名の変更には対応しない
• 「Target Table Preparation」の「Drop and Create table」オプションはサポートされない
• 「Target Table Preparation」の「Truncate before loading」オプションはサポートされない
• 「DDL History」および「Change Data Partitioning Control Table」はサポートされない
• DDL変更(テーブルの削除または名前の変更)はサポートされない
12
送受信されるデータレコード – DataがJSONの例(Base64)
 データレコード内のDataの値はBase64でエンコードされた状態で送受信される
タスク
MySQLKinesis
Streamに送信され、aws kinesis get-records --shard-iterator …コマンドで受信して表示したデータレコードの例
・・・
• MySQLのsales.employeesテーブルのEmployeeID、LastName、FirstNameの3つのカラムだけを処理
• Full Loadした後、MySQLクライアントで何かの行を更新(UPDATE)した場合
• PartitionKeyは’schema+tablename’形式
13
送受信されるデータレコード – DataがJSONの例(Base64)
operationの値は
 REFRESH - Full Load
 UPDATE, DELETE, INSERT - Apply Changes(CDC)
タスク
MySQLKinesis
受信したデータレコード内のDataの値(Base64エンコード)を試しにデコードしてみた例
・・・
• データレコード内のDataの値はBase64でエンコードされた状態で送受信される
• プロデューサやコンシューマで使用するKinesisクライアントライブラリでBase64のエンコード・デコードを処理してくれることが多い
• AWS CLIのget-recordsコマンドはKinesisから受信したデータレコードをそのまま出力
14
KinesisのStreamをコンシュームするクライアントの例 - その1
 Pythonを利用して、KinesisのStreamを受信し続ける
• AWS SDK for Python(Boto3) (https://github.com/boto/boto3)を利用。認証にはAWS CLIが生成する「~/.aws/credentials」を参照
 ソースのsales.employeesテーブルのFull LoadとApply Changes(CDC)のデータをCSVファイルに継続的に追記
• fulload.csv, changes.csv Qlik Replicate
RDBMS ファイル
15
KinesisのStreamをコンシュームするクライアントの例 - その1
 Qlik Sense(QlikView)でCSVファイルをロードする
• 通常のリロード
• Merge Onlyのリロード
Qlik Replicate
RDBMS ファイル
16
KinesisのStreamをコンシュームするクライアントの例 - その2
 Pythonを利用して、KinesisのStreamを受信し続ける
• AWS SDK for Python(Boto3) (https://github.com/boto/boto3)を利用。認証にはAWS CLIが生成する「~/.aws/credentials」を参照
 ソースのsales.employeesテーブルのFull LoadとApply Changes(CDC)のデータを継続的にMySQLのテーブルへINSERT(autocommit=true)
• fullloadテーブル、changesテーブル
• MySQLへのアクセスには、mysql-connector-pythonパッケージを利用
Qlik Replicate
RDBMS RDBMS
17
KinesisのStreamをコンシュームするクライアントの例 - その2
Qlik Replicate
RDBMS RDBMS
 Qlik Sense(QlikView)でテーブルをロードする
• 通常のリロード
• Merge Onlyのリロード
18
Tips: 送受信されるメッセージの構造
• 受信するレコードデータのメッセージのメタデータやスキーマなども利用可能
• 受信するコンシューマを実装する際に考慮が必要
• Replicate Envelopeとは?
https://help.qlik.com/en-
US/replicate/May2021/Content/Replicate/Main/Amazon%20Kinesis%20Streams/attunity_envelope_amazonkinesis.htm
• メッセージは、Replicate Envelopeと呼ばれるメッセージスキーマ用データによって包含されるエンドポイント設定もあり
• messageSchemaIdフィールド(null またはID文字列) - 別の場所で定義されたメッセージスキーマへの参照ID。コンシューマは、別途送信される
MetadataメッセージからIDを使って検索する必要あり
• messageSchemaフィールド(null または 文字列) - Avroメッセージ用のAvro JSON スキーマ
www.qlik.com/sap

More Related Content

What's hot

Google Cloud Storageの ターゲットエンドポイント としての利用
Google Cloud Storageのターゲットエンドポイントとしての利用Google Cloud Storageのターゲットエンドポイントとしての利用
Google Cloud Storageの ターゲットエンドポイント としての利用
QlikPresalesJapan
 
オンライン技術勉強会 20201216 QSEoWサーバー管理者向けトレーニング_2
オンライン技術勉強会 20201216 QSEoWサーバー管理者向けトレーニング_2オンライン技術勉強会 20201216 QSEoWサーバー管理者向けトレーニング_2
オンライン技術勉強会 20201216 QSEoWサーバー管理者向けトレーニング_2
QlikPresalesJapan
 
Qlik TechFest C-5 Qlikエンジンのサーバーサイド拡張(SSE)の 基礎から実装まで
Qlik TechFest C-5  Qlikエンジンのサーバーサイド拡張(SSE)の 基礎から実装までQlik TechFest C-5  Qlikエンジンのサーバーサイド拡張(SSE)の 基礎から実装まで
Qlik TechFest C-5 Qlikエンジンのサーバーサイド拡張(SSE)の 基礎から実装まで
QlikPresalesJapan
 
TECH TALK 2021-11-30 新しいハイブリッドアナリティクス「Qlik Forts」の紹介
TECH TALK 2021-11-30 新しいハイブリッドアナリティクス「Qlik Forts」の紹介TECH TALK 2021-11-30 新しいハイブリッドアナリティクス「Qlik Forts」の紹介
TECH TALK 2021-11-30 新しいハイブリッドアナリティクス「Qlik Forts」の紹介
QlikPresalesJapan
 
Microsoft Azure SQLマネージド インスタンスのソースとしての利用
Microsoft Azure SQLマネージド インスタンスのソースとしての利用Microsoft Azure SQLマネージド インスタンスのソースとしての利用
Microsoft Azure SQLマネージド インスタンスのソースとしての利用
QlikPresalesJapan
 
Salesforceのソースエンドポイントとしての利用
Salesforceのソースエンドポイントとしての利用Salesforceのソースエンドポイントとしての利用
Salesforceのソースエンドポイントとしての利用
QlikPresalesJapan
 
SAP Application(DB)のソースエンドポイントとしての利用
SAP Application(DB)のソースエンドポイントとしての利用SAP Application(DB)のソースエンドポイントとしての利用
SAP Application(DB)のソースエンドポイントとしての利用
QlikPresalesJapan
 
Azure Synapse Analyticsのターゲットエンドポイントとしての利用
Azure Synapse Analyticsのターゲットエンドポイントとしての利用Azure Synapse Analyticsのターゲットエンドポイントとしての利用
Azure Synapse Analyticsのターゲットエンドポイントとしての利用
QlikPresalesJapan
 
Oracleのソース・ターゲットエンドポイントとしての利用
Oracleのソース・ターゲットエンドポイントとしての利用Oracleのソース・ターゲットエンドポイントとしての利用
Oracleのソース・ターゲットエンドポイントとしての利用
QlikPresalesJapan
 
TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現
TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現
TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現
QlikPresalesJapan
 
TECHTALK 20201020 Qlik DataTransferによるクラウド版Qlik Senseへのデータ転送・更新の自動化
TECHTALK 20201020 Qlik DataTransferによるクラウド版Qlik Senseへのデータ転送・更新の自動化TECHTALK 20201020 Qlik DataTransferによるクラウド版Qlik Senseへのデータ転送・更新の自動化
TECHTALK 20201020 Qlik DataTransferによるクラウド版Qlik Senseへのデータ転送・更新の自動化
QlikPresalesJapan
 
IBM DB2 for zOSのソースエンドポイントとしての利用
IBM DB2 for zOSのソースエンドポイントとしての利用IBM DB2 for zOSのソースエンドポイントとしての利用
IBM DB2 for zOSのソースエンドポイントとしての利用
QlikPresalesJapan
 
TECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップ
TECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップTECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップ
TECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップ
QlikPresalesJapan
 
SAP Extractorのソースエンドポイントとしての利用
SAP Extractorのソースエンドポイントとしての利用SAP Extractorのソースエンドポイントとしての利用
SAP Extractorのソースエンドポイントとしての利用
QlikPresalesJapan
 
スクリプト実行可能なサーバーサイド拡張(SSE)の実装例とその応用 - Node.js編
スクリプト実行可能なサーバーサイド拡張(SSE)の実装例とその応用 - Node.js編スクリプト実行可能なサーバーサイド拡張(SSE)の実装例とその応用 - Node.js編
スクリプト実行可能なサーバーサイド拡張(SSE)の実装例とその応用 - Node.js編
QlikPresalesJapan
 
TECH TALK 20210323 Qlik Sense のエンタープライズ展開 マルチノードサイトの実現方法
TECH TALK 20210323 Qlik Sense のエンタープライズ展開 マルチノードサイトの実現方法TECH TALK 20210323 Qlik Sense のエンタープライズ展開 マルチノードサイトの実現方法
TECH TALK 20210323 Qlik Sense のエンタープライズ展開 マルチノードサイトの実現方法
QlikPresalesJapan
 
Amazon EMRをターゲットエンドポイントとして使用する
Amazon EMRをターゲットエンドポイントとして使用するAmazon EMRをターゲットエンドポイントとして使用する
Amazon EMRをターゲットエンドポイントとして使用する
QlikPresalesJapan
 
20210907 Qlik Tech Talk Snowflake with Qlik Best Practices
20210907 Qlik Tech Talk Snowflake with Qlik Best Practices20210907 Qlik Tech Talk Snowflake with Qlik Best Practices
20210907 Qlik Tech Talk Snowflake with Qlik Best Practices
QlikPresalesJapan
 
SAP Applicationのソース・エンドポイントとしての利用
SAP Applicationのソース・エンドポイントとしての利用SAP Applicationのソース・エンドポイントとしての利用
SAP Applicationのソース・エンドポイントとしての利用
QlikPresalesJapan
 
Snowflake on AWSのターゲットエンドポイントとしての利用
Snowflake on AWSのターゲットエンドポイントとしての利用Snowflake on AWSのターゲットエンドポイントとしての利用
Snowflake on AWSのターゲットエンドポイントとしての利用
QlikPresalesJapan
 

What's hot (20)

Google Cloud Storageの ターゲットエンドポイント としての利用
Google Cloud Storageのターゲットエンドポイントとしての利用Google Cloud Storageのターゲットエンドポイントとしての利用
Google Cloud Storageの ターゲットエンドポイント としての利用
 
オンライン技術勉強会 20201216 QSEoWサーバー管理者向けトレーニング_2
オンライン技術勉強会 20201216 QSEoWサーバー管理者向けトレーニング_2オンライン技術勉強会 20201216 QSEoWサーバー管理者向けトレーニング_2
オンライン技術勉強会 20201216 QSEoWサーバー管理者向けトレーニング_2
 
Qlik TechFest C-5 Qlikエンジンのサーバーサイド拡張(SSE)の 基礎から実装まで
Qlik TechFest C-5  Qlikエンジンのサーバーサイド拡張(SSE)の 基礎から実装までQlik TechFest C-5  Qlikエンジンのサーバーサイド拡張(SSE)の 基礎から実装まで
Qlik TechFest C-5 Qlikエンジンのサーバーサイド拡張(SSE)の 基礎から実装まで
 
TECH TALK 2021-11-30 新しいハイブリッドアナリティクス「Qlik Forts」の紹介
TECH TALK 2021-11-30 新しいハイブリッドアナリティクス「Qlik Forts」の紹介TECH TALK 2021-11-30 新しいハイブリッドアナリティクス「Qlik Forts」の紹介
TECH TALK 2021-11-30 新しいハイブリッドアナリティクス「Qlik Forts」の紹介
 
Microsoft Azure SQLマネージド インスタンスのソースとしての利用
Microsoft Azure SQLマネージド インスタンスのソースとしての利用Microsoft Azure SQLマネージド インスタンスのソースとしての利用
Microsoft Azure SQLマネージド インスタンスのソースとしての利用
 
Salesforceのソースエンドポイントとしての利用
Salesforceのソースエンドポイントとしての利用Salesforceのソースエンドポイントとしての利用
Salesforceのソースエンドポイントとしての利用
 
SAP Application(DB)のソースエンドポイントとしての利用
SAP Application(DB)のソースエンドポイントとしての利用SAP Application(DB)のソースエンドポイントとしての利用
SAP Application(DB)のソースエンドポイントとしての利用
 
Azure Synapse Analyticsのターゲットエンドポイントとしての利用
Azure Synapse Analyticsのターゲットエンドポイントとしての利用Azure Synapse Analyticsのターゲットエンドポイントとしての利用
Azure Synapse Analyticsのターゲットエンドポイントとしての利用
 
Oracleのソース・ターゲットエンドポイントとしての利用
Oracleのソース・ターゲットエンドポイントとしての利用Oracleのソース・ターゲットエンドポイントとしての利用
Oracleのソース・ターゲットエンドポイントとしての利用
 
TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現
TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現
TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現
 
TECHTALK 20201020 Qlik DataTransferによるクラウド版Qlik Senseへのデータ転送・更新の自動化
TECHTALK 20201020 Qlik DataTransferによるクラウド版Qlik Senseへのデータ転送・更新の自動化TECHTALK 20201020 Qlik DataTransferによるクラウド版Qlik Senseへのデータ転送・更新の自動化
TECHTALK 20201020 Qlik DataTransferによるクラウド版Qlik Senseへのデータ転送・更新の自動化
 
IBM DB2 for zOSのソースエンドポイントとしての利用
IBM DB2 for zOSのソースエンドポイントとしての利用IBM DB2 for zOSのソースエンドポイントとしての利用
IBM DB2 for zOSのソースエンドポイントとしての利用
 
TECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップ
TECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップTECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップ
TECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップ
 
SAP Extractorのソースエンドポイントとしての利用
SAP Extractorのソースエンドポイントとしての利用SAP Extractorのソースエンドポイントとしての利用
SAP Extractorのソースエンドポイントとしての利用
 
スクリプト実行可能なサーバーサイド拡張(SSE)の実装例とその応用 - Node.js編
スクリプト実行可能なサーバーサイド拡張(SSE)の実装例とその応用 - Node.js編スクリプト実行可能なサーバーサイド拡張(SSE)の実装例とその応用 - Node.js編
スクリプト実行可能なサーバーサイド拡張(SSE)の実装例とその応用 - Node.js編
 
TECH TALK 20210323 Qlik Sense のエンタープライズ展開 マルチノードサイトの実現方法
TECH TALK 20210323 Qlik Sense のエンタープライズ展開 マルチノードサイトの実現方法TECH TALK 20210323 Qlik Sense のエンタープライズ展開 マルチノードサイトの実現方法
TECH TALK 20210323 Qlik Sense のエンタープライズ展開 マルチノードサイトの実現方法
 
Amazon EMRをターゲットエンドポイントとして使用する
Amazon EMRをターゲットエンドポイントとして使用するAmazon EMRをターゲットエンドポイントとして使用する
Amazon EMRをターゲットエンドポイントとして使用する
 
20210907 Qlik Tech Talk Snowflake with Qlik Best Practices
20210907 Qlik Tech Talk Snowflake with Qlik Best Practices20210907 Qlik Tech Talk Snowflake with Qlik Best Practices
20210907 Qlik Tech Talk Snowflake with Qlik Best Practices
 
SAP Applicationのソース・エンドポイントとしての利用
SAP Applicationのソース・エンドポイントとしての利用SAP Applicationのソース・エンドポイントとしての利用
SAP Applicationのソース・エンドポイントとしての利用
 
Snowflake on AWSのターゲットエンドポイントとしての利用
Snowflake on AWSのターゲットエンドポイントとしての利用Snowflake on AWSのターゲットエンドポイントとしての利用
Snowflake on AWSのターゲットエンドポイントとしての利用
 

Similar to Qlik ReplicateでAmazon Kinesis Data Streamsをターゲットとして使用する

HBaseCon 2012 参加レポート
HBaseCon 2012 参加レポートHBaseCon 2012 参加レポート
HBaseCon 2012 参加レポート
NTT DATA OSS Professional Services
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
じゅん なかざ
 
Amazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DR
Amazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DRAmazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DR
Amazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DR
株式会社クライム
 
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたAwsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Sunao Tomita
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
GoAzure
 
Vertica 8.0.0 新機能
Vertica 8.0.0 新機能Vertica 8.0.0 新機能
Vertica 8.0.0 新機能
Kaito Tono
 
20130413 JAWS-UG北陸 美人CDP
20130413 JAWS-UG北陸 美人CDP20130413 JAWS-UG北陸 美人CDP
20130413 JAWS-UG北陸 美人CDP
真吾 吉田
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Kazuyuki Miyake
 
AWS Black Belt Techシリーズ Amazon ElastiCache
AWS Black Belt Techシリーズ Amazon ElastiCacheAWS Black Belt Techシリーズ Amazon ElastiCache
AWS Black Belt Techシリーズ Amazon ElastiCache
Amazon Web Services Japan
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
Yutuki r
 
Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012
Cloudera Japan
 
AWS Blackbelt 2015シリーズ RDS
AWS Blackbelt 2015シリーズ RDSAWS Blackbelt 2015シリーズ RDS
AWS Blackbelt 2015シリーズ RDS
Amazon Web Services Japan
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
 
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
オラクルエンジニア通信
 
20130226 Amazon Web Services 勉強会(新宿)
20130226 Amazon Web Services 勉強会(新宿)20130226 Amazon Web Services 勉強会(新宿)
20130226 Amazon Web Services 勉強会(新宿)真吾 吉田
 
Couchbase meetup20140925
Couchbase meetup20140925Couchbase meetup20140925
Couchbase meetup20140925
ktoda
 
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターンAzure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Kazuyuki Miyake
 
Microsoft Azure build & ignight update summary
Microsoft Azure build & ignight update summary Microsoft Azure build & ignight update summary
Microsoft Azure build & ignight update summary
Hirano Kazunori
 
MySQL Technology Cafe #12 MySQL Database Service - High Availability Update
MySQL Technology Cafe #12 MySQL Database Service - High Availability UpdateMySQL Technology Cafe #12 MySQL Database Service - High Availability Update
MySQL Technology Cafe #12 MySQL Database Service - High Availability Update
オラクルエンジニア通信
 

Similar to Qlik ReplicateでAmazon Kinesis Data Streamsをターゲットとして使用する (20)

HBaseCon 2012 参加レポート
HBaseCon 2012 参加レポートHBaseCon 2012 参加レポート
HBaseCon 2012 参加レポート
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
 
Amazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DR
Amazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DRAmazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DR
Amazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DR
 
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたAwsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
 
Vertica 8.0.0 新機能
Vertica 8.0.0 新機能Vertica 8.0.0 新機能
Vertica 8.0.0 新機能
 
20130413 JAWS-UG北陸 美人CDP
20130413 JAWS-UG北陸 美人CDP20130413 JAWS-UG北陸 美人CDP
20130413 JAWS-UG北陸 美人CDP
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
 
AWS Black Belt Techシリーズ Amazon ElastiCache
AWS Black Belt Techシリーズ Amazon ElastiCacheAWS Black Belt Techシリーズ Amazon ElastiCache
AWS Black Belt Techシリーズ Amazon ElastiCache
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
 
Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012
 
AWS Blackbelt 2015シリーズ RDS
AWS Blackbelt 2015シリーズ RDSAWS Blackbelt 2015シリーズ RDS
AWS Blackbelt 2015シリーズ RDS
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
BPStudy20121221
BPStudy20121221BPStudy20121221
BPStudy20121221
 
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
 
20130226 Amazon Web Services 勉強会(新宿)
20130226 Amazon Web Services 勉強会(新宿)20130226 Amazon Web Services 勉強会(新宿)
20130226 Amazon Web Services 勉強会(新宿)
 
Couchbase meetup20140925
Couchbase meetup20140925Couchbase meetup20140925
Couchbase meetup20140925
 
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターンAzure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
 
Microsoft Azure build & ignight update summary
Microsoft Azure build & ignight update summary Microsoft Azure build & ignight update summary
Microsoft Azure build & ignight update summary
 
MySQL Technology Cafe #12 MySQL Database Service - High Availability Update
MySQL Technology Cafe #12 MySQL Database Service - High Availability UpdateMySQL Technology Cafe #12 MySQL Database Service - High Availability Update
MySQL Technology Cafe #12 MySQL Database Service - High Availability Update
 

More from QlikPresalesJapan

QCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストール
QCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストールQCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストール
QCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストール
QlikPresalesJapan
 
Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)
Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)
Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)
QlikPresalesJapan
 
20240528_Qlik TECHTALK_Whats New May 2024
20240528_Qlik TECHTALK_Whats New May 202420240528_Qlik TECHTALK_Whats New May 2024
20240528_Qlik TECHTALK_Whats New May 2024
QlikPresalesJapan
 
2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介
2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介
2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介
QlikPresalesJapan
 
2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例
2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例
2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例
QlikPresalesJapan
 
2024-05-14 TECH TALK Talend Studio with SAP Integration
2024-05-14 TECH TALK Talend Studio with SAP Integration2024-05-14 TECH TALK Talend Studio with SAP Integration
2024-05-14 TECH TALK Talend Studio with SAP Integration
QlikPresalesJapan
 
2024-05-07 TECH TALK Talend Data Quality
2024-05-07 TECH TALK Talend Data Quality2024-05-07 TECH TALK Talend Data Quality
2024-05-07 TECH TALK Talend Data Quality
QlikPresalesJapan
 
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQLTalend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
QlikPresalesJapan
 
2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx
2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx
2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx
QlikPresalesJapan
 
Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介
Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介
Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介
QlikPresalesJapan
 
Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法
Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法
Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法
QlikPresalesJapan
 
Qlik Tips - 2024/04/16 Capacity データ消費の確認
Qlik Tips - 2024/04/16 Capacity データ消費の確認Qlik Tips - 2024/04/16 Capacity データ消費の確認
Qlik Tips - 2024/04/16 Capacity データ消費の確認
QlikPresalesJapan
 
Talend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJar
Talend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJarTalend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJar
Talend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJar
QlikPresalesJapan
 
Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説
Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説
Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説
QlikPresalesJapan
 
Talend Cloudの管理プラットフォーム Talend Management Consoleのご紹介
Talend Cloudの管理プラットフォームTalend Management Consoleのご紹介Talend Cloudの管理プラットフォームTalend Management Consoleのご紹介
Talend Cloudの管理プラットフォーム Talend Management Consoleのご紹介
QlikPresalesJapan
 
【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用
【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用
【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用
QlikPresalesJapan
 
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
QlikPresalesJapan
 
Direct QueryのカスタムSQL(Qlik Tips ~ Qlik を使いこなす!スキルアップ勉強会)
Direct QueryのカスタムSQL(Qlik Tips ~ Qlik を使いこなす!スキルアップ勉強会)Direct QueryのカスタムSQL(Qlik Tips ~ Qlik を使いこなす!スキルアップ勉強会)
Direct QueryのカスタムSQL(Qlik Tips ~ Qlik を使いこなす!スキルアップ勉強会)
QlikPresalesJapan
 
Talend Studioの汎用JDBCコンポーネントを使う - JDBC API
Talend Studioの汎用JDBCコンポーネントを使う - JDBC APITalend Studioの汎用JDBCコンポーネントを使う - JDBC API
Talend Studioの汎用JDBCコンポーネントを使う - JDBC API
QlikPresalesJapan
 
20240319 Qlik Tips 折れ線チャートの時系列予測についての説明
20240319  Qlik Tips  折れ線チャートの時系列予測についての説明20240319  Qlik Tips  折れ線チャートの時系列予測についての説明
20240319 Qlik Tips 折れ線チャートの時系列予測についての説明
QlikPresalesJapan
 

More from QlikPresalesJapan (20)

QCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストール
QCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストールQCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストール
QCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストール
 
Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)
Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)
Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)
 
20240528_Qlik TECHTALK_Whats New May 2024
20240528_Qlik TECHTALK_Whats New May 202420240528_Qlik TECHTALK_Whats New May 2024
20240528_Qlik TECHTALK_Whats New May 2024
 
2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介
2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介
2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介
 
2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例
2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例
2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例
 
2024-05-14 TECH TALK Talend Studio with SAP Integration
2024-05-14 TECH TALK Talend Studio with SAP Integration2024-05-14 TECH TALK Talend Studio with SAP Integration
2024-05-14 TECH TALK Talend Studio with SAP Integration
 
2024-05-07 TECH TALK Talend Data Quality
2024-05-07 TECH TALK Talend Data Quality2024-05-07 TECH TALK Talend Data Quality
2024-05-07 TECH TALK Talend Data Quality
 
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQLTalend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
 
2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx
2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx
2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx
 
Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介
Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介
Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介
 
Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法
Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法
Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法
 
Qlik Tips - 2024/04/16 Capacity データ消費の確認
Qlik Tips - 2024/04/16 Capacity データ消費の確認Qlik Tips - 2024/04/16 Capacity データ消費の確認
Qlik Tips - 2024/04/16 Capacity データ消費の確認
 
Talend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJar
Talend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJarTalend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJar
Talend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJar
 
Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説
Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説
Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説
 
Talend Cloudの管理プラットフォーム Talend Management Consoleのご紹介
Talend Cloudの管理プラットフォームTalend Management Consoleのご紹介Talend Cloudの管理プラットフォームTalend Management Consoleのご紹介
Talend Cloudの管理プラットフォーム Talend Management Consoleのご紹介
 
【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用
【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用
【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用
 
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
 
Direct QueryのカスタムSQL(Qlik Tips ~ Qlik を使いこなす!スキルアップ勉強会)
Direct QueryのカスタムSQL(Qlik Tips ~ Qlik を使いこなす!スキルアップ勉強会)Direct QueryのカスタムSQL(Qlik Tips ~ Qlik を使いこなす!スキルアップ勉強会)
Direct QueryのカスタムSQL(Qlik Tips ~ Qlik を使いこなす!スキルアップ勉強会)
 
Talend Studioの汎用JDBCコンポーネントを使う - JDBC API
Talend Studioの汎用JDBCコンポーネントを使う - JDBC APITalend Studioの汎用JDBCコンポーネントを使う - JDBC API
Talend Studioの汎用JDBCコンポーネントを使う - JDBC API
 
20240319 Qlik Tips 折れ線チャートの時系列予測についての説明
20240319  Qlik Tips  折れ線チャートの時系列予測についての説明20240319  Qlik Tips  折れ線チャートの時系列予測についての説明
20240319 Qlik Tips 折れ線チャートの時系列予測についての説明
 

Qlik ReplicateでAmazon Kinesis Data Streamsをターゲットとして使用する

  • 1. Qlik Replicateで Amazon Kinesis Data Streamsを ターゲットとして使用する クリックテック・ジャパン株式会社
  • 3. 3 Qlik Replicateの「一般的な」アーキテクチャ Qlik Replicate メインフレーム ファイル データウェアハウス RDBMS Hadoop メインフレーム ファイル データウェアハウス RDBMS Hadoop フルロード CDC フルロード CDCを適用 バッチ バッチ クラウド クラウド オンプレミス オンプレミス 永続ストア • 多種多様なDB、DWH、ビッグデータプラットフォーム間でデータレプリケーション処理を簡単な操作で行うための製品 • エージェントレスでデータソースへの負荷や影響を最小限にしながら、高速に異種システム間でデータ転送を行える
  • 4. 4 ターゲットとしてのストリーミング環境 – Amazon Kinesisなど Qlik Replicate メインフレーム ファイル データウェアハウス RDBMS Hadoop フルロード CDC フルロードとCDCの レコードデータを 送信 クラウド クラウド オンプレミス オンプレミス 永続ストア • ターゲットとして、Amazon Kinesis Data Streamsなどのストリーミングアーキテクチャのシステムをサポート • 実稼働データベースの更新をライブの変更データストリームに変換する、シンプルで汎用的なリアルタイムソリューション
  • 5. 5 Amazon Kinesis Data Streams の概要
  • 6. 6 Amazon Kinesis Data Streamsのプロデュース&コンシューム 用語  Producer - Kinesisクライアント。Stream(Shard)にデータレコードを送信  Consumer – Kinesisクライアント。Stream(Shard)からデータレコードを受信  Stream – ストリーム。複数のShardで構成も可能(1つのShardあたりの送受信の最大スループットが上限設定されている)  Shard –データレコードを処理。永続化して一定期間保持 https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html
  • 7. 7 Qlik ReplicateのターゲットとしてのAmazon Kinesis  Qlik Replicate は、Amazon Kinesis Data Streams の Producer  Kinesisに接続してデータレコードをStreamに送信  各データレコードは、Full LoadとApply Changes(CDC)の「1行分のデータ」を表す(サイズには上限あり) • データレコードの形式は、JSON(UTF-8)またはAvro • データレコードとともに、PartitionKey(スキーマ名+テーブル名または主キーの値)も付加できる(オプション) • 処理するShardを決めるキー • データレコードは、Kinesis内ではBase64でエンコードされて処理される  Full Load および CDC をサポート(ただしStore Changesモードはサポート無し)
  • 8. 8 Amazon Kinesis Data Streamsをセットアップする  AWS マネジメントコンソールの「IAM」で必要に応じてユーザーを作成 • アクセスの種類で「プログラムによるアクセス」を有効 • アクセス許可の設定で、以下のKinesisのアクションへの許可をアタッチ、または単純に「既存のAmazonKinesisAnalyticsFullAccessポリシー」をアタッチ • https://help.qlik.com/en-US/replicate/May2021/Content/Replicate/Main/Amazon%20Kinesis%20Streams/amazonkinesis_prereq.htm • Streamのサーバーのデータ暗号化が必要なら、追加で上記のKMSのアクションも許可するポリシーをアタッチ • ユーザーの認証情報で、アクセスキーIDとシークレットキーを作成しておく  AWS マネジメントコンソールの「Amazon Kinesis」の「データストリーム」でStreamを予め作成 • Qlik Replicateが各データレコードの送信先として使用するStream(単一または複数個)を、必要なShard数(例:1)で作成 • Qlik Replicateがエラーの送信先として使用するStreamである attrep_apply_exceptions も作成 • もちろん、AWS コマンドラインインターフェイス(CLI)を使用してStreamを作成することも可能 • $>aws configure • $>aws kinesis create-stream --stream-name <name> --shard-count 1  AWS CLIなどでStreamにアクセスしてみる • $>aws kinesis list-streams • $>aws kinesis list-shards --stream-name <name> • $>aws kinesis get-shard-iterator --stream-name <name> --shard-id <shardId> --shard-iterator-type TRIM_HORIZON • $>aws kinesis get-records --shard-iterator ...
  • 10. 10 ターゲットのデータソースとしてKinesisを設定  Access Details – Kinesisのリージョンやアクセスするユーザーのキーを指定 • AWS(IAM)のユーザーには、必要なアクションなどへの許可を有効にしておく  送信するデータレコード内のDataのFormatを設定  送信先のStreamを設定 • 単一のStream か 1テーブルごとに1つのStream(’schema.tablename’形式) • 送信先Shard振り分け用の PartitionKey の有無 • PartitionKeyを使う場合の値(主キー値 か ’schema+tablename’形式) • 処理中のエラーは、attrep_apply_exceptionsというStreamに送信される  データレコード内のData(Base64デコード後)の構造を示すメタデータを付けるか否か • 付ける場合はそれを送信するStreamを指定  テーブルのTransformationで以下の名前のカラムを追加して、Stream、PartitionKeyの 値をそれぞれオーバーライド設定可能(Shardの指定は無し) • $stream、$key  Advancedオプションとして、Webプロキシサーバーの指定も可能
  • 11. 11 サポートされない機能(制限) • https://help.qlik.com/en- US/replicate/May2021/Content/Replicate/Main/Amazon%20Kinesis%20Streams/limitations_amazonkinesis.htm • 無制限サイズのLOBは非サポート。ソーステーブルからLOBカラムをレプリケートする場合は「Allow unlimited LOB size」オプションは選択しない • 「Batch optimized apply」モードはサポートされない。このモードが設定されている場合、タスクは自動的に「Transactional apply」モードに切り 替わり、警告を出力 • 「Store Changes」モードには対応しない • KinesisのStream名として使用できる文字は英字 (大文字と小文字)、数字、アンダースコア、ハイフン、ピリオドのみ • ソーステーブルの名前にサポートされない文字が含まれる場合、タスクを開始する前に名前を修正するか「Global Transformation」を定義する必要あり • カラム名は、[A-Za-z_](アルファベットまたはアンダースコア)で始まり、[A-Za-z0-9_](アルファベット、数字またはアンダースコア)が続く必要あり • ソースのカラム名がこのルールに従っていない場合は、「transformation」を使用してカラム名を変更する必要あり • Apply Changesの「Ignore ALTER」設定は、ソースデータタイプの変更やテーブル名の変更には対応しない • 「Target Table Preparation」の「Drop and Create table」オプションはサポートされない • 「Target Table Preparation」の「Truncate before loading」オプションはサポートされない • 「DDL History」および「Change Data Partitioning Control Table」はサポートされない • DDL変更(テーブルの削除または名前の変更)はサポートされない
  • 12. 12 送受信されるデータレコード – DataがJSONの例(Base64)  データレコード内のDataの値はBase64でエンコードされた状態で送受信される タスク MySQLKinesis Streamに送信され、aws kinesis get-records --shard-iterator …コマンドで受信して表示したデータレコードの例 ・・・ • MySQLのsales.employeesテーブルのEmployeeID、LastName、FirstNameの3つのカラムだけを処理 • Full Loadした後、MySQLクライアントで何かの行を更新(UPDATE)した場合 • PartitionKeyは’schema+tablename’形式
  • 13. 13 送受信されるデータレコード – DataがJSONの例(Base64) operationの値は  REFRESH - Full Load  UPDATE, DELETE, INSERT - Apply Changes(CDC) タスク MySQLKinesis 受信したデータレコード内のDataの値(Base64エンコード)を試しにデコードしてみた例 ・・・ • データレコード内のDataの値はBase64でエンコードされた状態で送受信される • プロデューサやコンシューマで使用するKinesisクライアントライブラリでBase64のエンコード・デコードを処理してくれることが多い • AWS CLIのget-recordsコマンドはKinesisから受信したデータレコードをそのまま出力
  • 14. 14 KinesisのStreamをコンシュームするクライアントの例 - その1  Pythonを利用して、KinesisのStreamを受信し続ける • AWS SDK for Python(Boto3) (https://github.com/boto/boto3)を利用。認証にはAWS CLIが生成する「~/.aws/credentials」を参照  ソースのsales.employeesテーブルのFull LoadとApply Changes(CDC)のデータをCSVファイルに継続的に追記 • fulload.csv, changes.csv Qlik Replicate RDBMS ファイル
  • 15. 15 KinesisのStreamをコンシュームするクライアントの例 - その1  Qlik Sense(QlikView)でCSVファイルをロードする • 通常のリロード • Merge Onlyのリロード Qlik Replicate RDBMS ファイル
  • 16. 16 KinesisのStreamをコンシュームするクライアントの例 - その2  Pythonを利用して、KinesisのStreamを受信し続ける • AWS SDK for Python(Boto3) (https://github.com/boto/boto3)を利用。認証にはAWS CLIが生成する「~/.aws/credentials」を参照  ソースのsales.employeesテーブルのFull LoadとApply Changes(CDC)のデータを継続的にMySQLのテーブルへINSERT(autocommit=true) • fullloadテーブル、changesテーブル • MySQLへのアクセスには、mysql-connector-pythonパッケージを利用 Qlik Replicate RDBMS RDBMS
  • 17. 17 KinesisのStreamをコンシュームするクライアントの例 - その2 Qlik Replicate RDBMS RDBMS  Qlik Sense(QlikView)でテーブルをロードする • 通常のリロード • Merge Onlyのリロード
  • 18. 18 Tips: 送受信されるメッセージの構造 • 受信するレコードデータのメッセージのメタデータやスキーマなども利用可能 • 受信するコンシューマを実装する際に考慮が必要 • Replicate Envelopeとは? https://help.qlik.com/en- US/replicate/May2021/Content/Replicate/Main/Amazon%20Kinesis%20Streams/attunity_envelope_amazonkinesis.htm • メッセージは、Replicate Envelopeと呼ばれるメッセージスキーマ用データによって包含されるエンドポイント設定もあり • messageSchemaIdフィールド(null またはID文字列) - 別の場所で定義されたメッセージスキーマへの参照ID。コンシューマは、別途送信される MetadataメッセージからIDを使って検索する必要あり • messageSchemaフィールド(null または 文字列) - Avroメッセージ用のAvro JSON スキーマ