同期と複製
同期と複製
同期と複製『典型的な操作をコマンドひとつで実現』
同期と複製『典型的な操作をコマンドひとつで実現』
同期と複製レコードの書き出し『典型的な操作をコマンドひとつで実現』
同期と複製レコードの書き出しファイルの移動『典型的な操作をコマンドひとつで実現』▼
同期と複製レコードの書き出しファイルの移動レコードの読み込み『典型的な操作をコマンドひとつで実現』▼▼
同期と複製
同期と複製役割と名称
同期と複製役割と名称命令!
同期と複製役割と名称命令!DATA
同期と複製役割と名称マスタースレイブローカルリモート命令!DATA
同期と複製役割と名称マスタースレイブローカル リモート命令!DATA
同期と複製役割と名称マスタースレイブローカル リモート命令!DATA命令する方が僕
同期と複製役割と名称マスタースレイブローカル リモート命令!DATA命令する方が僕供給する方が主
同期と複製マスタースレイブローカル リモート
同期と複製マスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動
同期と複製
同期と複製複製
同期と複製レコードの書き出し複製
同期と複製レコードの書き出しファイルの移動▼複製
同期と複製レコードの書き出しファイルの移動レコードの読み込み▼▼複製
同期と複製レコードの書き出しファイルの移動レコードの読み込み▼▼複製 同期
同期と複製レコードの書き出しファイルの移動レコードの読み込み▼▼複製▶ レコードの書き出し同期
同期と複製レコードの書き出しファイルの移動レコードの読み込み▼▼複製▶ レコードの書き出し▲ファイルの移動同期
同期と複製レコードの書き出しファイルの移動レコードの読み込み▼▼複製▶ レコードの書き出し▲ファイルの移動▲レコードの読み込み同期
同期と複製複製 同期
同期と複製複製同期
同期と複製複製同期リモートからローカルにレコードをコピーすること
同期と複製複製同期リモートからローカルにレコードをコピーすることリモートからローカルにレコードをコピーした後,ローカルからリモートにレコードをコピーすること
同期と複製複製同期
同期と複製複製同期 複製 複製≠ +
同期と複製複製同期 複製 複製≠ +無限ループに陥ってしまう
複製の設定マスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動
複製の設定マスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動
複製の設定マスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)主キーを作成複製を有効にする
複製の設定
複製の設定
複製の設定
複製の設定
複製の設定
複製の設定
複製の設定
複製の設定プライマリーキー(主キー)
複製の設定プライマリーキー(主キー)
複製の設定ALTER TABLE table ADD PRIMARY KEY columnプライマリーキー(主キー)
複製の設定ALTER TABLE table ENABLE REPLICATEALTER TABLE table ADD PRIMARY KEY columnプライマリーキー(主キー)
複製の設定ALTER TABLE table ENABLE REPLICATEALTER TABLE table ADD PRIMARY KEY columnプライマリーキー(主キー)ALTER TABLE table ADD columnUU...
複製の設定
複製の設定4DB/4DCストラクチャファイル4DIndyストラクチャインデックスファイル
複製の設定4DSyncHeaderシンクヘッダーファイル4DSyncDataシンクデータファイル4DB/4DCストラクチャファイル4DIndyストラクチャインデックスファイル
複製の設定
複製の設定レコードのタッチ
複製の設定
複製の設定設定の解除
複製の設定ALTER TABLE table DISABLE REPLICATEあるいはストラクチャエディターで『複製』を無効に。設定の解除
複製の設定ALTER TABLE table DISABLE REPLICATEあるいはストラクチャエディターで『複製』を無効に。4DSyncHeader/4DSyncData複製有効テーブルが存在する限り削除してはならない。設定の解除
複製の設定ALTER TABLE table DISABLE REPLICATEあるいはストラクチャエディターで『複製』を無効に。4DSyncHeader/4DSyncData複製有効テーブルが存在する限り削除してはならない。設定の解除
複製の仕組み
複製の仕組みデータベースエンジンレベルで発生するイベントを再現Create,Read,Update,Delete
アクション何が起きた複製の仕組みデータベースエンジンレベルで発生するイベントを再現Create,Read,Update,Delete
レコード番号どこでアクション何が起きた複製の仕組みデータベースエンジンレベルで発生するイベントを再現Create,Read,Update,Delete
レコード番号どこでアクション何が起きた複製の仕組みデータベースエンジンレベルで発生するイベントを再現Create,Read,Update,Deleteスタンプいつ
レコード番号どこでアクション何が起きた複製の仕組みスタンプいつ
レコード番号どこでアクション何が起きた複製の仕組みスタンプいつ
レコード番号どこでアクション何が起きた複製の仕組みスタンプいつバーチャルフィールド複製が有効にされたテーブルに作成される疑似フィールドダブルアンダースコアから始まる名前
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みバーチャルフィールド複製が有効にされたテーブルに作成される疑似フィールドダブルアンダースコアから始まる名前
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組み
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組み
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みレコード操作の種類【Int16】1=更新(新規作成も)2=削除利用:複製・同期のみ
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みレコード操作の種類【Int16】1=更新(新規作成も)2=削除利用:複製・同期のみ更新
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みレコード操作の種類【Int16】1=更新(新規作成も)2=削除利用:複製・同期のみ更新更新, 更新, 更新,...
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みレコード操作の種類【Int16】1=更新(新規作成も)2=削除利用:複製・同期のみ更新更新, 更新, 更新,...
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組み
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みRecord number【Int32】0から始まる再利用される利用:複製・同期以外
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みRecord number【Int32】0から始まる再利用される利用:複製・同期以外ID=0/PK= A 削除
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みRecord number【Int32】0から始まる再利用される利用:複製・同期以外ID=0/PK= A 削...
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みRecord number【Int32】0から始まる再利用される利用:複製・同期以外ID=0/PK= A 削...
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組み
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みシーケンシャル番号【Int64】1から始まる1ずつ増えるとは限らない利用:すべて
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みシーケンシャル番号【Int64】1から始まる1ずつ増えるとは限らない利用:すべて1個のレコードに対する1個の...
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みシーケンシャル番号【Int64】1から始まる1ずつ増えるとは限らない利用:すべて1個のレコードに対する1個の...
レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みシーケンシャル番号【Int64】1から始まる1ずつ増えるとは限らない利用:すべて1個のレコードに対する1個の...
複製の設定
複製の設定レコードのタッチ
複製の設定レコードのタッチあるいは特別なスタンプ -1
制約
制約トリガ削除制御自動UUID重複不可ヌル値の入力を許可しない
制約トリガ削除制御自動UUID重複不可ヌル値の入力を許可しないすべて無視
制約
制約妥当性を検証する必要がある場合複製コマンドに配列を使用する
トランザクションマスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動
トランザクションマスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動
トランザクションマスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動トランザクションも自動
トランザクションマスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動トランザクションも自動
トランザクションマスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動トランザクションも自動
トランザクションマスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動トランザクションも自動
トランザクションマスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動トランザクションも自動
トランザクション
トランザクション複製中にリモートのレコードが更新された場合ページネーションされた複製の途中でスタンプが変わったとき▶複製を最初からやり直す必要がある
トランザクション
トランザクション
トランザクション複製中にローカルのレコードが更新された場合そんなことがあってはいけない▶セレクションをロックする必要がある
トランザクション複製中にローカルのレコードが更新された場合そんなことがあってはいけない▶セレクションをロックする必要がある
トランザクション複製中にローカルのレコードが更新された場合そんなことがあってはいけない▶セレクションをロックする必要があるSELECT FOR UPDATE
トランザクション複製中にローカルのレコードが更新された場合そんなことがあってはいけない▶セレクションをロックする必要があるSELECT FOR UPDATESET QUERY AND LOCK
REPLICATE
REPLICATEBegin SQLREPLICATE ....End SQL
REPLICATEBegin SQLREPLICATE ....End SQL$SQL:= REPLICATE ...Begin SQLEXECUTE IMMEDIATE :$SQLEnd SQL
REPLICATEBegin SQLREPLICATE ....End SQL$SQL:= REPLICATE ...Begin SQLEXECUTE IMMEDIATE :$SQLEnd SQL$SQL:= REPLICATE ...SQL ...
REPLICATEBegin SQLREPLICATE ....End SQL$SQL:= REPLICATE ...Begin SQLEXECUTE IMMEDIATE :$SQLEnd SQL$SQL:= REPLICATE ...SQL ...
$SQL:= REPLICATE ...SQL EXECUTE ($SQL)$SQL:= C:¥¥script.sqlSQL EXECUTE SCRIPT ($SQL; ...)REPLICATEBegin SQLREPLICATE ....E...
$SQL:= REPLICATE ...SQL EXECUTE ($SQL)$SQL:= C:¥¥script.sqlSQL EXECUTE SCRIPT ($SQL; ...)REPLICATEBegin SQLREPLICATE ....E...
$SQL:= REPLICATE ...SQL EXECUTE ($SQL)$SQL:= C:¥¥script.sqlSQL EXECUTE SCRIPT ($SQL; ...)REPLICATEBegin SQLREPLICATE ....E...
$SQL:= REPLICATE ...SQL EXECUTE ($SQL)$SQL:= C:¥¥script.sqlSQL EXECUTE SCRIPT ($SQL; ...)REPLICATEBegin SQLREPLICATE ....E...
$SQL:= REPLICATE ...SQL EXECUTE ($SQL)$SQL:= C:¥¥script.sqlSQL EXECUTE SCRIPT ($SQL; ...)REPLICATEBegin SQLREPLICATE ....E...
$SQL:= REPLICATE ...SQL EXECUTE ($SQL)$SQL:= C:¥¥script.sqlSQL EXECUTE SCRIPT ($SQL; ...)REPLICATEBegin SQLREPLICATE ....E...
REPLICATE
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATE
REPLICATE複製の途中でスタンプが変わったとき!!
REPLICATE複製の途中でスタンプが変わったとき!!最初からやり直してください
REPLICATE複製の途中でスタンプが変わったとき!!最初からやり直してくださいトランザクション
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATE
REPLICATEレコードがWHERE句で取れなくなったとき!!
REPLICATEレコードがWHERE句で取れなくなったとき!!オーファンレコード
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATE
REPLICATEコンフリクトレゾリューション
REPLICATEコンフリクトレゾリューション
REPLICATEコンフリクトレゾリューション
REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況
REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況
REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況マスタースレイブローカル リモートSTAMP3
REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況マスタースレイブローカル リモートSTAMP3
REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況マスタースレイブローカル リモートSTAMP3
REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況マスタースレイブローカル リモートSTAMP34
REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況マスタースレイブローカル リモートSTAMP35
REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況マスタースレイブローカル リモートSTAMP36
REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況マスタースレイブローカル リモートSTAMP37
REPLICATEコンフリクトレゾリューションマスタースレイブローカル リモート特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況STAMP7 3
REPLICATEコンフリクトレゾリューションマスタースレイブローカル リモート特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況STAMP5STAMP7 3
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLIMIT :inLimitOFFSET :inOffsetWHERE :conditionLOCA...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLIMIT :inLimitOFFSET :inOffsetWHERE :conditionLOCA...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, c...
REPLICATEマスタースレイブローカル リモートSTAMP5STAMP7 3LOCAL OVER REMOTE REMOTE OVER LOCALl
REPLICATEマスタースレイブローカル リモートSTAMP5STAMP7 3LOCAL OVER REMOTE REMOTE OVER LOCALlYOUWIN!YOULOSE!
REPLICATEマスタースレイブローカル リモートSTAMP5STAMP7 3LOCAL OVER REMOTE REMOTE OVER LOCALl
YOULOSE!REPLICATEマスタースレイブローカル リモートSTAMP5STAMP7 3LOCAL OVER REMOTE REMOTE OVER LOCALlYOUWIN!
SYNCHRONIZE
SYNCHRONIZE
SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLoc...
SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLoc...
SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLoc...
SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLoc...
SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLoc...
SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLoc...
SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLoc...
SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLoc...
SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLoc...
SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLoc...
SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLoc...
SYNCHRONIZEREPLICATE
SYNCHRONIZEできるだけコンフリクトを起こさない!REPLICATE
SYNCHRONIZEできるだけコンフリクトを起こさない!最良の運用スタイル▶間隔をできるだけ短くすることREPLICATE
4DSYNC
4DSYNC
4DSYNC
4DSYNCGET!
4DSYNCGET!DATADATADATADATA
4DSYNCGET!DATADATADATADATA
4DSYNCPOST
4DSYNCPOSTDATADATADATADATA
4DSYNC
4DSYNC(JavaScript) 完全に自動
4DSYNC
4DSYNC
4DSYNC
4DSYNC
4DSYNC
4DSYNC
4DSYNC
4DSYNC複製 + Webサーバー = 4DSYNC稼働中
4DSYNC
4DSYNCGET /4DSYNC/$catalog
4DSYNCGET /4DSYNC/$catalogTable_1 34
4DSYNCGET /4DSYNC/$catalog
4DSYNCGET /4DSYNC/$catalog/Table_1
4DSYNCGET /4DSYNC/$catalog/Table_1<?xml version="1.0" encoding="UTF-8"?><Table_1 name="Table_1" uuid="8AD069A45F4B43DAA9B3...
4DSYNCGET /4DSYNC/$catalog/Table_1<?xml version="1.0" encoding="UTF-8"?><Table_1 name="Table_1" uuid="8AD069A45F4B43DAA9B3...
4DSYNCGET /4DSYNC/$catalog/Table_1<?xml version="1.0" encoding="UTF-8"?><Table_1 name="Table_1" uuid="8AD069A45F4B43DAA9B3...
4DSYNCGET /4DSYNC/$catalog/Table_1
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2Field_3,
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2Field_3, ,
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2Field_3, ,,Field_3
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3,REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :in...
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inS...
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inS...
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inS...
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inS...
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inS...
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inS...
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inS...
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inS...
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inS...
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inS...
4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inS...
4DSYNC
4DSYNC複製 + Webサーバー = 4DSYNC稼働中
4DSYNC複製 + Webサーバー = 4DSYNC稼働中
4DSYNC複製 + Webサーバー = 4DSYNC稼働中セキュリティ?
4DSYNC
4DSYNCOn Web AuthenticationCase of:($1=”/4DSYNC/@”)ElseEnd case
4DSYNC
4DSYNC
同期と複製
Upcoming SlideShare
Loading in...5
×

Replication 2012-02-02

191

Published on

2012年デベロッパカンファレンス資料(v12)。SQLによる同期と複製。

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
191
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Replication 2012-02-02

  1. 1. 同期と複製
  2. 2. 同期と複製
  3. 3. 同期と複製『典型的な操作をコマンドひとつで実現』
  4. 4. 同期と複製『典型的な操作をコマンドひとつで実現』
  5. 5. 同期と複製レコードの書き出し『典型的な操作をコマンドひとつで実現』
  6. 6. 同期と複製レコードの書き出しファイルの移動『典型的な操作をコマンドひとつで実現』▼
  7. 7. 同期と複製レコードの書き出しファイルの移動レコードの読み込み『典型的な操作をコマンドひとつで実現』▼▼
  8. 8. 同期と複製
  9. 9. 同期と複製役割と名称
  10. 10. 同期と複製役割と名称命令!
  11. 11. 同期と複製役割と名称命令!DATA
  12. 12. 同期と複製役割と名称マスタースレイブローカルリモート命令!DATA
  13. 13. 同期と複製役割と名称マスタースレイブローカル リモート命令!DATA
  14. 14. 同期と複製役割と名称マスタースレイブローカル リモート命令!DATA命令する方が僕
  15. 15. 同期と複製役割と名称マスタースレイブローカル リモート命令!DATA命令する方が僕供給する方が主
  16. 16. 同期と複製マスタースレイブローカル リモート
  17. 17. 同期と複製マスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動
  18. 18. 同期と複製
  19. 19. 同期と複製複製
  20. 20. 同期と複製レコードの書き出し複製
  21. 21. 同期と複製レコードの書き出しファイルの移動▼複製
  22. 22. 同期と複製レコードの書き出しファイルの移動レコードの読み込み▼▼複製
  23. 23. 同期と複製レコードの書き出しファイルの移動レコードの読み込み▼▼複製 同期
  24. 24. 同期と複製レコードの書き出しファイルの移動レコードの読み込み▼▼複製▶ レコードの書き出し同期
  25. 25. 同期と複製レコードの書き出しファイルの移動レコードの読み込み▼▼複製▶ レコードの書き出し▲ファイルの移動同期
  26. 26. 同期と複製レコードの書き出しファイルの移動レコードの読み込み▼▼複製▶ レコードの書き出し▲ファイルの移動▲レコードの読み込み同期
  27. 27. 同期と複製複製 同期
  28. 28. 同期と複製複製同期
  29. 29. 同期と複製複製同期リモートからローカルにレコードをコピーすること
  30. 30. 同期と複製複製同期リモートからローカルにレコードをコピーすることリモートからローカルにレコードをコピーした後,ローカルからリモートにレコードをコピーすること
  31. 31. 同期と複製複製同期
  32. 32. 同期と複製複製同期 複製 複製≠ +
  33. 33. 同期と複製複製同期 複製 複製≠ +無限ループに陥ってしまう
  34. 34. 複製の設定マスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動
  35. 35. 複製の設定マスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動
  36. 36. 複製の設定マスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)主キーを作成複製を有効にする
  37. 37. 複製の設定
  38. 38. 複製の設定
  39. 39. 複製の設定
  40. 40. 複製の設定
  41. 41. 複製の設定
  42. 42. 複製の設定
  43. 43. 複製の設定
  44. 44. 複製の設定プライマリーキー(主キー)
  45. 45. 複製の設定プライマリーキー(主キー)
  46. 46. 複製の設定ALTER TABLE table ADD PRIMARY KEY columnプライマリーキー(主キー)
  47. 47. 複製の設定ALTER TABLE table ENABLE REPLICATEALTER TABLE table ADD PRIMARY KEY columnプライマリーキー(主キー)
  48. 48. 複製の設定ALTER TABLE table ENABLE REPLICATEALTER TABLE table ADD PRIMARY KEY columnプライマリーキー(主キー)ALTER TABLE table ADD columnUUID AUTO_GENERATE
  49. 49. 複製の設定
  50. 50. 複製の設定4DB/4DCストラクチャファイル4DIndyストラクチャインデックスファイル
  51. 51. 複製の設定4DSyncHeaderシンクヘッダーファイル4DSyncDataシンクデータファイル4DB/4DCストラクチャファイル4DIndyストラクチャインデックスファイル
  52. 52. 複製の設定
  53. 53. 複製の設定レコードのタッチ
  54. 54. 複製の設定
  55. 55. 複製の設定設定の解除
  56. 56. 複製の設定ALTER TABLE table DISABLE REPLICATEあるいはストラクチャエディターで『複製』を無効に。設定の解除
  57. 57. 複製の設定ALTER TABLE table DISABLE REPLICATEあるいはストラクチャエディターで『複製』を無効に。4DSyncHeader/4DSyncData複製有効テーブルが存在する限り削除してはならない。設定の解除
  58. 58. 複製の設定ALTER TABLE table DISABLE REPLICATEあるいはストラクチャエディターで『複製』を無効に。4DSyncHeader/4DSyncData複製有効テーブルが存在する限り削除してはならない。設定の解除
  59. 59. 複製の仕組み
  60. 60. 複製の仕組みデータベースエンジンレベルで発生するイベントを再現Create,Read,Update,Delete
  61. 61. アクション何が起きた複製の仕組みデータベースエンジンレベルで発生するイベントを再現Create,Read,Update,Delete
  62. 62. レコード番号どこでアクション何が起きた複製の仕組みデータベースエンジンレベルで発生するイベントを再現Create,Read,Update,Delete
  63. 63. レコード番号どこでアクション何が起きた複製の仕組みデータベースエンジンレベルで発生するイベントを再現Create,Read,Update,Deleteスタンプいつ
  64. 64. レコード番号どこでアクション何が起きた複製の仕組みスタンプいつ
  65. 65. レコード番号どこでアクション何が起きた複製の仕組みスタンプいつ
  66. 66. レコード番号どこでアクション何が起きた複製の仕組みスタンプいつバーチャルフィールド複製が有効にされたテーブルに作成される疑似フィールドダブルアンダースコアから始まる名前
  67. 67. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みバーチャルフィールド複製が有効にされたテーブルに作成される疑似フィールドダブルアンダースコアから始まる名前
  68. 68. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組み
  69. 69. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組み
  70. 70. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みレコード操作の種類【Int16】1=更新(新規作成も)2=削除利用:複製・同期のみ
  71. 71. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みレコード操作の種類【Int16】1=更新(新規作成も)2=削除利用:複製・同期のみ更新
  72. 72. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みレコード操作の種類【Int16】1=更新(新規作成も)2=削除利用:複製・同期のみ更新更新, 更新, 更新, 更新, 更新, 更新, 更新, 更新, 更新
  73. 73. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みレコード操作の種類【Int16】1=更新(新規作成も)2=削除利用:複製・同期のみ更新更新, 更新, 更新, 更新, 更新, 更新, 更新, 更新, 更新削除。←大事なのはこのアクションだけ
  74. 74. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組み
  75. 75. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みRecord number【Int32】0から始まる再利用される利用:複製・同期以外
  76. 76. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みRecord number【Int32】0から始まる再利用される利用:複製・同期以外ID=0/PK= A 削除
  77. 77. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みRecord number【Int32】0から始まる再利用される利用:複製・同期以外ID=0/PK= A 削除ID=0/PK= B 作成
  78. 78. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みRecord number【Int32】0から始まる再利用される利用:複製・同期以外ID=0/PK= A 削除ID=0/PK= B 作成プライマリーキーが違うので,混乱することはない
  79. 79. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組み
  80. 80. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みシーケンシャル番号【Int64】1から始まる1ずつ増えるとは限らない利用:すべて
  81. 81. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みシーケンシャル番号【Int64】1から始まる1ずつ増えるとは限らない利用:すべて1個のレコードに対する1個のアクションで1個のスタンプ
  82. 82. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みシーケンシャル番号【Int64】1から始まる1ずつ増えるとは限らない利用:すべて1個のレコードに対する1個のアクションで1個のスタンプ100個のレコードに対する1個のアクションで100個のスタンプ
  83. 83. レコード番号: __ROW_IDどこでスタンプ: __ROW_STAMPいつアクション: __ROW_ACTION何が起きた複製の仕組みシーケンシャル番号【Int64】1から始まる1ずつ増えるとは限らない利用:すべて1個のレコードに対する1個のアクションで1個のスタンプ100個のレコードに対する1個のアクションで100個のスタンプ1個のレコードに対する100個のアクションで1個のスタンプ
  84. 84. 複製の設定
  85. 85. 複製の設定レコードのタッチ
  86. 86. 複製の設定レコードのタッチあるいは特別なスタンプ -1
  87. 87. 制約
  88. 88. 制約トリガ削除制御自動UUID重複不可ヌル値の入力を許可しない
  89. 89. 制約トリガ削除制御自動UUID重複不可ヌル値の入力を許可しないすべて無視
  90. 90. 制約
  91. 91. 制約妥当性を検証する必要がある場合複製コマンドに配列を使用する
  92. 92. トランザクションマスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動
  93. 93. トランザクションマスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動
  94. 94. トランザクションマスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動トランザクションも自動
  95. 95. トランザクションマスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動トランザクションも自動
  96. 96. トランザクションマスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動トランザクションも自動
  97. 97. トランザクションマスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動トランザクションも自動
  98. 98. トランザクションマスタースレイブローカル リモート(トランザクション)コマンド実行(エラー処理)完全に自動トランザクションも自動
  99. 99. トランザクション
  100. 100. トランザクション複製中にリモートのレコードが更新された場合ページネーションされた複製の途中でスタンプが変わったとき▶複製を最初からやり直す必要がある
  101. 101. トランザクション
  102. 102. トランザクション
  103. 103. トランザクション複製中にローカルのレコードが更新された場合そんなことがあってはいけない▶セレクションをロックする必要がある
  104. 104. トランザクション複製中にローカルのレコードが更新された場合そんなことがあってはいけない▶セレクションをロックする必要がある
  105. 105. トランザクション複製中にローカルのレコードが更新された場合そんなことがあってはいけない▶セレクションをロックする必要があるSELECT FOR UPDATE
  106. 106. トランザクション複製中にローカルのレコードが更新された場合そんなことがあってはいけない▶セレクションをロックする必要があるSELECT FOR UPDATESET QUERY AND LOCK
  107. 107. REPLICATE
  108. 108. REPLICATEBegin SQLREPLICATE ....End SQL
  109. 109. REPLICATEBegin SQLREPLICATE ....End SQL$SQL:= REPLICATE ...Begin SQLEXECUTE IMMEDIATE :$SQLEnd SQL
  110. 110. REPLICATEBegin SQLREPLICATE ....End SQL$SQL:= REPLICATE ...Begin SQLEXECUTE IMMEDIATE :$SQLEnd SQL$SQL:= REPLICATE ...SQL EXECUTE ($SQL)
  111. 111. REPLICATEBegin SQLREPLICATE ....End SQL$SQL:= REPLICATE ...Begin SQLEXECUTE IMMEDIATE :$SQLEnd SQL$SQL:= REPLICATE ...SQL EXECUTE ($SQL)$SQL:= C:¥¥script.sqlSQL EXECUTE SCRIPT ($SQL; ...)
  112. 112. $SQL:= REPLICATE ...SQL EXECUTE ($SQL)$SQL:= C:¥¥script.sqlSQL EXECUTE SCRIPT ($SQL; ...)REPLICATEBegin SQLREPLICATE ....End SQL$SQL:= REPLICATE ...Begin SQLEXECUTE IMMEDIATE :$SQLEnd SQL
  113. 113. $SQL:= REPLICATE ...SQL EXECUTE ($SQL)$SQL:= C:¥¥script.sqlSQL EXECUTE SCRIPT ($SQL; ...)REPLICATEBegin SQLREPLICATE ....End SQL$SQL:= REPLICATE ...Begin SQLEXECUTE IMMEDIATE :$SQLEnd SQL
  114. 114. $SQL:= REPLICATE ...SQL EXECUTE ($SQL)$SQL:= C:¥¥script.sqlSQL EXECUTE SCRIPT ($SQL; ...)REPLICATEBegin SQLREPLICATE ....End SQL$SQL:= REPLICATE ...Begin SQLEXECUTE IMMEDIATE :$SQLEnd SQLSQL LOGIN( IP:192.168.1.1 ; ... ;*)
  115. 115. $SQL:= REPLICATE ...SQL EXECUTE ($SQL)$SQL:= C:¥¥script.sqlSQL EXECUTE SCRIPT ($SQL; ...)REPLICATEBegin SQLREPLICATE ....End SQL$SQL:= REPLICATE ...Begin SQLEXECUTE IMMEDIATE :$SQLEnd SQLSQL LOGIN( IP:192.168.1.1 ; ... ;*)SQL LOGIN( 4D:MyServer ; ... ;*)
  116. 116. $SQL:= REPLICATE ...SQL EXECUTE ($SQL)$SQL:= C:¥¥script.sqlSQL EXECUTE SCRIPT ($SQL; ...)REPLICATEBegin SQLREPLICATE ....End SQL$SQL:= REPLICATE ...Begin SQLEXECUTE IMMEDIATE :$SQLEnd SQLSQL LOGIN( IP:192.168.1.1 ; ... ;*)SQL LOGIN( 4D:MyServer ; ... ;*)SQL LOGIN( ODBC:MyDSN ; ... ;*)
  117. 117. $SQL:= REPLICATE ...SQL EXECUTE ($SQL)$SQL:= C:¥¥script.sqlSQL EXECUTE SCRIPT ($SQL; ...)REPLICATEBegin SQLREPLICATE ....End SQL$SQL:= REPLICATE ...Begin SQLEXECUTE IMMEDIATE :$SQLEnd SQLSQL LOGIN( IP:192.168.1.1 ; ... ;*)SQL LOGIN( 4D:MyServer ; ... ;*)SQL LOGIN( ODBC:MyDSN ; ... ;*)
  118. 118. REPLICATE
  119. 119. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);
  120. 120. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモート
  121. 121. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモート
  122. 122. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモート
  123. 123. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモート
  124. 124. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP1
  125. 125. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP1
  126. 126. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP1
  127. 127. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP1
  128. 128. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP1
  129. 129. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP2
  130. 130. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP3
  131. 131. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP4
  132. 132. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP5
  133. 133. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP6
  134. 134. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP7
  135. 135. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP8
  136. 136. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP9
  137. 137. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP9
  138. 138. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP9
  139. 139. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);マスタースレイブローカル リモートSTAMP9
  140. 140. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);
  141. 141. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);
  142. 142. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimit
  143. 143. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffset
  144. 144. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffsetマスタースレイブローカル リモート
  145. 145. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffsetマスタースレイブローカル リモート
  146. 146. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffsetマスタースレイブローカル リモート
  147. 147. REPLICATE
  148. 148. REPLICATE複製の途中でスタンプが変わったとき!!
  149. 149. REPLICATE複製の途中でスタンプが変わったとき!!最初からやり直してください
  150. 150. REPLICATE複製の途中でスタンプが変わったとき!!最初からやり直してくださいトランザクション
  151. 151. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffset
  152. 152. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffset
  153. 153. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffsetWHERE :condition
  154. 154. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffsetWHERE :condition
  155. 155. REPLICATE
  156. 156. REPLICATEレコードがWHERE句で取れなくなったとき!!
  157. 157. REPLICATEレコードがWHERE句で取れなくなったとき!!オーファンレコード
  158. 158. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffsetWHERE :condition
  159. 159. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffsetWHERE :condition
  160. 160. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffsetWHERE :conditionLOCAL STAMP :inStampLocalLOCAL OVER REMOTE REMOTE OVER LOCALlLATEST LOCAL STAMP :outStampLocal
  161. 161. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffsetWHERE :conditionLOCAL STAMP :inStampLocalLOCAL OVER REMOTE REMOTE OVER LOCALLATEST LOCAL STAMP :outStampLocal
  162. 162. REPLICATE
  163. 163. REPLICATEコンフリクトレゾリューション
  164. 164. REPLICATEコンフリクトレゾリューション
  165. 165. REPLICATEコンフリクトレゾリューション
  166. 166. REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況
  167. 167. REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況
  168. 168. REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況マスタースレイブローカル リモートSTAMP3
  169. 169. REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況マスタースレイブローカル リモートSTAMP3
  170. 170. REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況マスタースレイブローカル リモートSTAMP3
  171. 171. REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況マスタースレイブローカル リモートSTAMP34
  172. 172. REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況マスタースレイブローカル リモートSTAMP35
  173. 173. REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況マスタースレイブローカル リモートSTAMP36
  174. 174. REPLICATEコンフリクトレゾリューション特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況マスタースレイブローカル リモートSTAMP37
  175. 175. REPLICATEコンフリクトレゾリューションマスタースレイブローカル リモート特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況STAMP7 3
  176. 176. REPLICATEコンフリクトレゾリューションマスタースレイブローカル リモート特定のレコードが,複製と複製の間に,リモートとローカルの両方で更新された状況STAMP5STAMP7 3
  177. 177. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLIMIT :inLimitOFFSET :inOffsetWHERE :conditionLOCAL STAMP :inStampLocalLATEST REMOTE STAMP :outStampINTO table (column, column, ...);
  178. 178. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLIMIT :inLimitOFFSET :inOffsetWHERE :conditionLOCAL STAMP :inStampLocalLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LOCAL OVER REMOTE REMOTE OVER LOCALlLATEST LOCAL STAMP :outStampLocal
  179. 179. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffsetWHERE :conditionLOCAL STAMP :inStampLocalLOCAL OVER REMOTE REMOTE OVER LOCALlLATEST LOCAL STAMP :outStampLocal
  180. 180. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffsetWHERE :conditionLOCAL STAMP :inStampLocalLOCAL OVER REMOTE REMOTE OVER LOCALlLATEST LOCAL STAMP :outStampLocal
  181. 181. REPLICATEREPLICATE column, column,...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffsetWHERE :conditionLOCAL STAMP :inStampLocalLOCAL OVER REMOTE REMOTE OVER LOCALlLATEST LOCAL STAMP :outStampLocal
  182. 182. REPLICATEマスタースレイブローカル リモートSTAMP5STAMP7 3LOCAL OVER REMOTE REMOTE OVER LOCALl
  183. 183. REPLICATEマスタースレイブローカル リモートSTAMP5STAMP7 3LOCAL OVER REMOTE REMOTE OVER LOCALlYOUWIN!YOULOSE!
  184. 184. REPLICATEマスタースレイブローカル リモートSTAMP5STAMP7 3LOCAL OVER REMOTE REMOTE OVER LOCALl
  185. 185. YOULOSE!REPLICATEマスタースレイブローカル リモートSTAMP5STAMP7 3LOCAL OVER REMOTE REMOTE OVER LOCALlYOUWIN!
  186. 186. SYNCHRONIZE
  187. 187. SYNCHRONIZE
  188. 188. SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLocal;LOCAL OVER REMOTE REMOTE OVER LOCALLATEST REMOTE STAMP :outStampLOCAL STAMP :inStampLocal
  189. 189. SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLocal;LOCAL OVER REMOTE REMOTE OVER LOCALLATEST REMOTE STAMP :outStampLOCAL STAMP :inStampLocalローカル リモート
  190. 190. SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLocal;LOCAL OVER REMOTE REMOTE OVER LOCALLATEST REMOTE STAMP :outStampLOCAL STAMP :inStampLocalローカル リモート
  191. 191. SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLocal;LOCAL OVER REMOTE REMOTE OVER LOCALLATEST REMOTE STAMP :outStampLOCAL STAMP :inStampLocalローカル リモート
  192. 192. SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLocal;LOCAL OVER REMOTE REMOTE OVER LOCALLATEST REMOTE STAMP :outStampLOCAL STAMP :inStampLocalローカル リモート
  193. 193. SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLocal;LOCAL OVER REMOTE REMOTE OVER LOCALLATEST REMOTE STAMP :outStampLOCAL STAMP :inStampLocalローカル リモートREPLICATEと同じ
  194. 194. SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLocal;LOCAL OVER REMOTE REMOTE OVER LOCALLATEST REMOTE STAMP :outStampLOCAL STAMP :inStampLocal
  195. 195. SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLocal;LOCAL OVER REMOTE REMOTE OVER LOCALLATEST REMOTE STAMP :outStampLOCAL STAMP :inStampLocal
  196. 196. SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLocal;LOCAL OVER REMOTE REMOTE OVER LOCALLATEST REMOTE STAMP :outStampLOCAL STAMP :inStampLocalLIMIT :inLimitOFFSET :inOffsetWHERE :condition
  197. 197. SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLocal;LOCAL OVER REMOTE REMOTE OVER LOCALLATEST REMOTE STAMP :outStampLOCAL STAMP :inStampLocalLIMIT :inLimitOFFSET :inOffsetWHERE :condition意味がないでしょう!
  198. 198. SYNCHRONIZESYNCHRONIZE LOCAL TABLE table (column, ...)WITH REMOTE TABLE table (column, ...)LATEST LOCAL STAMP :outStampLocal;LOCAL OVER REMOTE REMOTE OVER LOCALLATEST REMOTE STAMP :outStampLOCAL STAMP :inStampLocalLIMIT :inLimitOFFSET :inOffsetWHERE :condition
  199. 199. SYNCHRONIZEREPLICATE
  200. 200. SYNCHRONIZEできるだけコンフリクトを起こさない!REPLICATE
  201. 201. SYNCHRONIZEできるだけコンフリクトを起こさない!最良の運用スタイル▶間隔をできるだけ短くすることREPLICATE
  202. 202. 4DSYNC
  203. 203. 4DSYNC
  204. 204. 4DSYNC
  205. 205. 4DSYNCGET!
  206. 206. 4DSYNCGET!DATADATADATADATA
  207. 207. 4DSYNCGET!DATADATADATADATA
  208. 208. 4DSYNCPOST
  209. 209. 4DSYNCPOSTDATADATADATADATA
  210. 210. 4DSYNC
  211. 211. 4DSYNC(JavaScript) 完全に自動
  212. 212. 4DSYNC
  213. 213. 4DSYNC
  214. 214. 4DSYNC
  215. 215. 4DSYNC
  216. 216. 4DSYNC
  217. 217. 4DSYNC
  218. 218. 4DSYNC
  219. 219. 4DSYNC複製 + Webサーバー = 4DSYNC稼働中
  220. 220. 4DSYNC
  221. 221. 4DSYNCGET /4DSYNC/$catalog
  222. 222. 4DSYNCGET /4DSYNC/$catalogTable_1 34
  223. 223. 4DSYNCGET /4DSYNC/$catalog
  224. 224. 4DSYNCGET /4DSYNC/$catalog/Table_1
  225. 225. 4DSYNCGET /4DSYNC/$catalog/Table_1<?xml version="1.0" encoding="UTF-8"?><Table_1 name="Table_1" uuid="8AD069A45F4B43DAA9B3A69C0F2C8349"leave_tag_on_delete="true" keep_record_sync_info="true" sql_schema_id="0"><field name="Field_1" uuid="7AE0A739EC8049FB99D2708B83D53D0D"type="10" limiting_length="255" never_null="true" id="1" /></Table_1>
  226. 226. 4DSYNCGET /4DSYNC/$catalog/Table_1<?xml version="1.0" encoding="UTF-8"?><Table_1 name="Table_1" uuid="8AD069A45F4B43DAA9B3A69C0F2C8349"leave_tag_on_delete="true" keep_record_sync_info="true" sql_schema_id="0"><field name="Field_1" uuid="7AE0A739EC8049FB99D2708B83D53D0D"type="10" limiting_length="255" never_null="true" id="1" /></Table_1>
  227. 227. 4DSYNCGET /4DSYNC/$catalog/Table_1<?xml version="1.0" encoding="UTF-8"?><Table_1 name="Table_1" uuid="8AD069A45F4B43DAA9B3A69C0F2C8349"leave_tag_on_delete="true" keep_record_sync_info="true" sql_schema_id="0"><field name="Field_1" uuid="7AE0A739EC8049FB99D2708B83D53D0D"type="10" limiting_length="255" never_null="true" id="1" /></Table_1>
  228. 228. 4DSYNCGET /4DSYNC/$catalog/Table_1
  229. 229. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1
  230. 230. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,
  231. 231. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2Field_3,
  232. 232. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2Field_3, ,
  233. 233. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2Field_3, ,,Field_3
  234. 234. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3,REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffset
  235. 235. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffset
  236. 236. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffset
  237. 237. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffset
  238. 238. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffset
  239. 239. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffset?$stamp=0&$top=3&$skip=1
  240. 240. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffset?$stamp=0&$top=3&$skip=1
  241. 241. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffset?$stamp=0&$top=3&$skip=1
  242. 242. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffset?$stamp=0&$top=3&$skip=1&$format=json
  243. 243. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffset?$stamp=0&$top=3&$skip=1&$format=json
  244. 244. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffset?$stamp=0&$top=3&$skip=1&$format=json"__LATEST_STAMP": "230","__ACTIONS": [{"__ACTION": "delete","__PRIMARY_KEY_COUNT": 1,"__PRIMARY_KEY": {"Field_1": "A2D7D202E6CF486788D12DAA1A943259"},"__STAMP": 100,"__TIMESTAMP": "Fri, 02 Oct 2012 04:50:19 GMT"},{"__ACTION": "update","__PRIMARY_KEY_COUNT": 1,"__PRIMARY_KEY": {"Meeting_ID": "72A13E4FE0254679829028E15C4F999B"
  245. 245. 4DSYNCGET /4DSYNC/$catalog/Table_1/Field_1,Field_2,Field_3REPLICATE column,column,column...FROM tableFOR REMOTE STAMP :inStampLATEST REMOTE STAMP :outStampINTO table (column, column, ...);LIMIT :inLimitOFFSET :inOffset?$stamp=0&$top=3&$skip=1&$format=json
  246. 246. 4DSYNC
  247. 247. 4DSYNC複製 + Webサーバー = 4DSYNC稼働中
  248. 248. 4DSYNC複製 + Webサーバー = 4DSYNC稼働中
  249. 249. 4DSYNC複製 + Webサーバー = 4DSYNC稼働中セキュリティ?
  250. 250. 4DSYNC
  251. 251. 4DSYNCOn Web AuthenticationCase of:($1=”/4DSYNC/@”)ElseEnd case
  252. 252. 4DSYNC
  253. 253. 4DSYNC
  254. 254. 同期と複製
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×