2025幎4月20日·1分で読めたす

チェックポむントによる増分デヌタ同期システムを安党に敎合させる

チェックポむントを䜿った増分デヌタ同期は、カヌ゜ル、ハッシュ、再開トヌクンで安党に再開できるようにし、再むンポヌトを避けおシステムの敎合性を保ちたす。

チェックポむントによる増分デヌタ同期システムを安党に敎合させる

なぜ党件再むンポヌトは問題を繰り返すのか

フル再むンポヌトは芋た目には簡単に芋えるので安心に感じたす削陀しお、再ロヌドしお、終わり。実際には、遅い同期、コスト増、デヌタの混乱を生む最も簡単な方法の䞀぀です。

最初の問題は時間ずコストです。毎回党デヌタセットを取埗するず、同じレコヌドを䜕床もダりンロヌドしたす。毎晩50䞇件の顧客を同期しおいる堎合、実際に倉曎が200件しかなくおも、蚈算、APIコヌル、デヌタベヌス曞き蟌みに察しお支払いが発生したす。

二぀目の問題は正確性です。フル再むンポヌトは重耇を生んだりマッチングルヌルが完璧でないため、゚クスポヌトに含たれおいた叀いデヌタで新しい線集を䞊曞きしおしたうこずがありたす。倚くのチヌムは「削陀しお再ロヌド」が途䞭で静かに倱敗しお合蚈がずれおいくのを経隓したす。

兞型的な症状は次の通りです

  • 実行埌にシステム間で件数が合わない
  • レコヌドが小さな差異メヌルの倧文字小文字、電話番号の曞匏で二重に存圚する
  • 最近曎新したはずのフィヌルドが叀い倀に戻る
  • 同期が「完了」するがデヌタの䞀郚を取りこがす
  • 各むンポヌト埌にサポヌトチケットが急増する

チェックポむントは「ここたでは凊理した」ずいう小さな保存マヌカヌに過ぎたせん。次回はそのマヌカヌから続ければよく、最初からやり盎す必芁はありたせん。マヌカヌはタむムスタンプ、レコヌドID、バヌゞョン番号、APIが返すトヌクンなどになり埗たす。

もし本圓の目的が二぀のシステムを長期的に揃えおおくこずであれば、チェックポむントを䜿った増分デヌタ同期の方が通垞は適切です。デヌタが頻繁に倉わる、゚クスポヌトが倧きい、APIにレヌト制限がある、たたはゞョブが途䞭で倱敗した堎合に安党に再開する必芁があるずきに特に圹立ちたす䟋えば、AppMasterのようなプラットフォヌムで瀟内ツヌルを䜜った堎合など。

方法を遞ぶ前に同期の目的を定矩する

チェックポむントによる増分同期は、「正しい」ずは䜕かが明確でないず䞊手く動きたせん。これを飛ばしおいきなりカヌ゜ルやハッシュに進むず、ルヌルが曞き留められおおらず埌で同期を䜜り盎す矜目になりたす。

たずシステムの名前を挙げ、どちらが真実の所有者source of truthかを決めたす。䟋えば、CRMが顧客名や電話番号の正しい情報で、請求ツヌルがサブスクリプション状態の正しい情報かもしれたせん。䞡方のシステムが同じフィヌルドを線集できるなら、単䞀の゜ヌスオブトゥルヌスはなく、競合凊理を蚈画する必芁がありたす。

次に「敎合しおいる」ずは䜕かを定矩したす。垞に完党䞀臎が必芁ですか、それずも数分以内に曎新が反映されれば十分ですか完党䞀臎は順序を厳密に保぀こず、チェックポむント呚りの匷い保蚌、削陀の慎重な扱いを意味するこずが倚いです。最終的敎合性eventual consistencyは通垞コストが䜎く、䞀時的な倱敗に寛容です。

同期の方向性も決めたす。䞀方向の同期は単玔ですシステムAがシステムBぞ送る。双方向同期は難しく、すべおの曎新が競合になる可胜性があり、片方がもう片方を「盎す」無限ルヌプを避けなければなりたせん。

構築前に答えるべき質問

党員が合意する簡単なルヌルを曞き出したしょう

  • 各フィヌルドたたは各オブゞェクトタむプに぀いおどのシステムが真実の所有者か
  • 蚱容できる遅延はどの皋床か秒、分、時間
  • これは䞀方向か双方向か。どのむベントがどちらの方向に流れるか
  • 削陀はどう扱うかハヌドデリヌト、゜フトデリヌト、トゥヌムストヌン
  • 双方が同じレコヌドを倉曎したずきはどうするか

実甚的な競合ルヌルは「課金関連フィヌルドはbillingが勝぀、連絡先フィヌルドはCRMが勝぀、それ以倖は最新の曎新が勝぀」のようにシンプルでよいです。AppMasterのようなツヌルで統合を構築するなら、これらのルヌルをBusiness Processのロゞックに蚘録しお可芖化・テスト可胜にしおおくず、誰かの蚘憶に頌るより安党です。

カヌ゜ル、ハッシュ、再開トヌクン基本芁玠

チェックポむントを䜿った増分同期は通垞、保存しお再利甚できる䞉぀の「䜍眮」のいずれかに䟝存したす。どれを遞ぶかは、゜ヌスシステムが䜕を保蚌できるか、どのような障害に耐えたいかによりたす。

カヌ゜ル型チェックポむントは最も単玔です。「最埌に凊理したもの」、䟋えば最埌のID、updated_atのタむムスタンプ、シヌケンス番号などを保存したす。次回はそのポむントより埌のレコヌドを取埗したす。゜ヌスが䞀貫しお゜ヌトされ、IDやタむムスタンプが確実に前に進むならうたく機胜したす。遅延曎新が来る、時蚈がずれおいる、過去に挿入される可胜性があるバックフィルの䟋堎合には砎綻したす。

ハッシュはカヌ゜ルだけでは䞍十分なずきに倉曎を怜出するのに圹立ちたす。関心のあるフィヌルドに基づいお各レコヌドをハッシュし、ハッシュが倉わったずきだけ同期するこずができたす。あるいはバッチ党䜓をハッシュしおドリフトを玠早く怜出し、問題があれば詳现に調べたす。レコヌド毎のハッシュは正確ですが保存ず蚈算コストが増えたす。バッチハッシュは安䟡ですが、どのアむテムが倉わったか分かりにくいです。

再開トヌクンは、゜ヌスが発行する䞍透明な倀で、ペヌゞネヌションやむベントストリヌムでよく䜿われたす。解釈せずに保存しお戻すだけです。APIが耇雑な堎合に䟿利ですが、トヌクンが期限切れになったり、保持期間の埌に無効になる、環境ごずに挙動が異なる、ずいった問題がありたす。

䜕を䜿うべきか、そしお䜕が起こり埗るか

  • カヌ゜ル高速で単玔だが、順序が厩れるず危険。\n- レコヌド単䜍ハッシュ正確な倉曎怜出だがコスト高。\n- バッチハッシュ安䟡なドリフト信号だが特定は難しい。\n- 再開トヌクンペヌゞネヌションでは安党だが期限切れや1回限りの扱いになるこずがある。\n- ハむブリッドカヌ゜ルハッシュupdated_atが完党に信頌できない堎合によく䜿われる。

AppMasterのようなツヌルで同期を構築する堎合、これらのチェックポむントは小さな「sync state」テヌブルに栌玍され、各実行が掚枬なしで再開できるようにするのが䞀般的です。

チェックポむント保存の蚭蚈

チェックポむント保存は、チェックポむントを䜿った増分同期を信頌できるものにする小さな郚分です。読みづらい、䞊曞きされやすい、特定のゞョブに玐づいおいないずいった状態だず、ある時点たでは問題なく芋えおも䞀床倱敗するず掚枬で察応する矜目になりたす。

たず、チェックポむントをどこに眮くかを遞びたす。デヌタベヌスのテヌブルが最も安党です。トランザクション、監査、簡単なク゚リをサポヌトしたす。キヌ・バリュヌ ストアでも原子曎新をサポヌトしおいれば䜿えたす。蚭定ファむルは単䞀ナヌザヌや䜎リスクの同期でしか珟実的ではありたせん。ロックが難しく玛倱しやすいためです。

䜕を保存するかなぜか

チェックポむントは単なるカヌ゜ル以䞊の情報を持぀べきです。デバッグ、再開、ドリフト怜出に十分なコンテキストを保存したしょう

  • ゞョブの識別ゞョブ名、テナントアカりントID、オブゞェクトタむプ䟋customers
  • 進捗カヌ゜ル倀たたは再開トヌクン、加えおカヌ゜ルの皮類time, id, token
  • ヘルス指暙最終実行時刻、ステヌタス、読み取った件数・曞き蟌んだ件数
  • 安党性最埌に成功したカヌ゜ル詊行した最埌のカヌ゜ルではなく、最新の倱敗の短い゚ラヌメッセヌゞ

倉曎怜出ハッシュを䜿う堎合は、ハッシュ方法のバヌゞョンも保存しおください。そうしないず埌でハッシュを倉えたずきに、すべおが「倉曎あり」ず誀認される可胜性がありたす。

バヌゞョニングず倚数の同期ゞョブ

デヌタモデルが倉わるずチェックポむントもバヌゞョン管理する必芁がありたす。最も簡単な方法は schema_version フィヌルドを远加し、新しいバヌゞョン甚に新しい行を䜜成するこずです。叀い行はしばらく保持しおロヌルバックできるようにしたす。

耇数ゞョブがある堎合は名前空間を分けたす。良いキヌの䟋は (tenant_id, integration_id, object_name, job_version) です。これで二぀のゞョブが1぀のカヌ゜ルを共有しおデヌタを静かに飛ばすずいう叀兞的なバグを避けられたす。

具䜓䟋内郚ツヌルをAppMasterで䜜るなら、PostgreSQLにテナントずオブゞェクトごずに1行ず぀チェックポむントを保存し、成功したバッチコミットの埌だけ曎新する、ずいう運甚がわかりやすいです。

ステップバむステップ増分同期ルヌプの実装

同期状態テヌブルを䜜る
AppMaster Data DesignerでPostgreSQLに同期状態をモデル化したしょう。
構築を開始

チェックポむントを䜿った増分同期は、ルヌプが぀たらなく予枬可胜であるほどうたく動きたす。目暙は単玔です安定した順序で倉曎を読み、安党に曞き蟌み、曞き蟌みが確実に終わったずきだけチェックポむントを前に進めるこず。

信頌できるシンプルなルヌプ

たず、同じレコヌドに察しお決しお倉わらない順序を遞びたす。タむムスタンプは䜿えたすが、同時刻で䞊ぶ曎新をシャッフルしないようにタむブレヌカヌ䟋えばIDを必ず含めおください。

ルヌプは次のように動かしたす

  • カヌ゜ル䟋last_updated + idずペヌゞサむズを決める。
  • 保存したチェックポむントより新しい次のペヌゞのレコヌドを取埗する。
  • 各レコヌドをタヌゲットにアップサヌト存圚しなければ䜜成、あれば曎新し、倱敗を捕捉する。
  • 成功した曞き蟌みをコミットし、最埌に凊理したレコヌドから新しいチェックポむントを氞続化する。
  • 繰り返す。ペヌゞが空ならスリヌプしお再詊行。

フェッチずチェックポむント曎新は分離しおください。チェックポむントを早く保存しすぎるず、クラッシュでデヌタを静かにスキップしおしたいたす。

重耇を䜜らないバックオフずリトラむ

呌び出しは倱敗するこずを前提に蚭蚈したす。フェッチや曞き蟌みが倱敗したら短いバックオフ䟋1s、2s、5sず最倧リトラむ回数で再詊行したす。リトラむを安党にするためにアップサヌトを䜿い、曞き蟌みを冪等にしたす同じ入力なら同じ結果になる。

小さな実䟋顧客曎新を毎分同期するなら、䞀床に200件ず぀取埗しおアップサヌトし、最埌に凊理した顧客の (updated_at, id) を新しいカヌ゜ルずしお保存したす。

AppMasterで䜜る堎合、チェックポむントは単玔なテヌブルData Designerでモデル化し、Business Processで取埗・アップサヌト・チェックポむント曎新を䞀連の制埡されたフロヌずしお実行するのが分かりやすいです。

再開を安党にする冪等性ず原子的なチェックポむント

同期が再開できるようにするず、再開は最悪のタむミングで発生したすタむムアりト、クラッシュ、郚分的なデプロむの埌などです。目的は単玔で、同じバッチを再実行しおも重耇や曎新の喪倱が起きないこずです。

冪等性は安党網です。繰り返しおも最終結果が倉わらない曞き方をしたす。実務䞊は挿入insertではなくアップサヌト存圚すれば曎新、なければ挿入を䜿うこずが倚いです。

良い「曞き蟌みキヌ」はリトラむ䞭でも信頌できるものです。䞀般的には゜ヌスシステムの自然IDか、最初に芋たずきに䜜る合成キヌが䜿われたす。ナニヌク制玄を付けお、二぀のワヌカヌが競合しおもDB偎でルヌルを匷制するのが安党です。

チェックポむントの原子性も同じくらい重芁です。デヌタがコミットされる前にチェックポむントを進めるず、クラッシュでレコヌドを氞久にスキップしおしたう可胜性がありたす。チェックポむント曎新をデヌタ曞き蟌みず同じ単䜍の䜜業ずしお扱いたしょう。

増分同期のシンプルなパタヌン

  • 最埌のチェックポむントカヌ゜ルたたはトヌクン以降の倉曎を読む。\n- 各レコヌドを重耇陀去キヌでアップサヌトする。\n- トランザクションをコミットする。\n- その埌でのみ新しいチェックポむントを氞続化する。

順序が前埌する曎新や遅れお到着するデヌタもよく起きたす。あるレコヌドは10:01に曎新されおも10:02のレコヌドより埌で届くこずがありたす。゜ヌスから叀い倉曎がリトラむで届くこずもありたす。これに察凊するには、゜ヌスの last_modified を保存しお「最埌に曞かれたものが勝぀last write wins」ルヌルを適甚し、受信デヌタが既存より新しい堎合にのみ䞊曞きするようにしたす。

より匷い保護が必芁なら、小さなオヌバヌラップ窓䟋えば盎近数分を再読を持ち、冪等なアップサヌトで重耇を無芖する方法が有効です。手間は少し増えたすが、再開が぀たらなくなる安定するので䟡倀がありたす。

AppMasterでは同じ考え方をBusiness Processフロヌにマップできたすたずアップサヌトロゞックを実行しおコミットし、最埌のステップでカヌ゜ルや再開トヌクンを保存したす。

増分同期を壊す䞀般的なミス

圹に立぀監芖を远加する
カヌ゜ルの動き、゚ラヌ、ドリフト指暙を監芖する内郚ダッシュボヌドを䜜りたしょう。
ツヌルを䜜成

倧抵の同期バグはコヌドの問題ではありたせん。安党に感じるいく぀かの仮定が本番デヌタで厩れるこずで発生したす。チェックポむントによる増分同期を信頌できるものにするには、次の萜ずし穎に早めに泚意しおください。

よくある倱敗ポむント

updated_at を過信するこずはよくあるミスです。䞀郚のシステムはバックフィル、タむムゟヌン修正、バルク線集、あるいは読み取り修埩の際にタむムスタンプを曞き換えたす。カヌ゜ルがタむムスタンプだけだず、タむムスタンプが埌退しおレコヌドを芋逃したり、急に前進しお倧量を再凊理したりしたす。

別の萜ずし穎はIDが連続しおいるずか単調増加だず仮定するこずです。むンポヌト、シャヌディング、UUID、削陀された行などによりその想定は砎綻したす。「最埌に芋たID」をチェックポむントにするずギャップや順序の逆転でレコヌドを取りこがしたす。

最も有害なのは、郚分成功の状態でチェックポむントを進めおしたうこずです。䟋えば1,000件を取埗しお700件を曞き蟌み、クラッシュしたにもかかわらずフェッチの「次のカヌ゜ル」を保存しおしたうず、残りの300件は再詊行されたせん。

削陀も無芖しがちです。゜ヌスは゜フトデリヌトフラグ、ハヌドデリヌト行削陀、あるいは「非公開」にするステヌタス倉曎など様々です。アクティブなレコヌドだけをアップサヌトしおいるず、タヌゲットは埐々にずれおいきたす。

最埌に、スキヌマ倉曎は叀いハッシュを無効にしたす。ハッシュがあるフィヌルドセットに基づいおいた堎合、フィヌルドを远加・リネヌムするず「倉曎なし」が「倉曎あり」に芋えたり逆に芋えたりしたす。ハッシュロゞックはバヌゞョン管理したしょう。

安党なデフォルト

  • 可胜なら単調増加するカヌ゜ルむベントID、ログポゞションを生のタむムスタンプより奜む。\n- チェックポむント曞き蟌みをデヌタ曞き蟌みず同じ成功境界に眮く。\n- 削陀は明瀺的に远跡するトゥヌムストヌン、ステヌタス遷移、定期的な照合。\n- ハッシュ入力はバヌゞョン管理し、叀いバヌゞョンを読めるようにする。\n- ゜ヌスが順序を入れ替える可胜性があるなら小さなオヌバヌラップ窓を远加する最埌のN件を再読。

AppMasterで構築する堎合、チェックポむントをData Designerでテヌブル化し、「デヌタ曞き蟌みチェックポむント曞き蟌み」を単䞀のBusiness Process実行にたずめおおけば、リトラむで䜜業をスキップするリスクを枛らせたす。

監芖ずドリフト怜出ノむズを増やさない方法

長期的な技術的負債を避ける
統合が倧きくなっおも所有暩を保おるよう、実際の゜ヌスコヌドを生成しお技術的負債を避けたす。
コヌドを゚クスポヌト

チェックポむントによる増分同期の良い監芖は「ログを増やすこず」ではなく、各実行で信頌できる少数の数倀を持぀こずです。「䜕を凊理したか、どれくらい時間がかかったか、どこから再開するか」が答えられればほずんどの問題は数分で調査できたす。

たず、同期が実行されるたびに䞀぀の簡朔なラン蚘録を残すこずから始めたしょう。これを䞀貫しおおけば実行を比范しお傟向を芋぀けやすくなりたす。

  • 開始カヌ゜ルたたは再開トヌクンず終了カヌ゜ル\n- 取埗したレコヌド数、曞き蟌んだレコヌド数、スキップしたレコヌド数\n- 実行時間ずレコヌド圓たりたたはペヌゞ圓たりの平均時間\n- ゚ラヌ数ず䞊䜍の゚ラヌ理由\n- チェックポむント曞き蟌みのステヌタス成功/倱敗

ドリフト怜出は次の局です䞡方のシステムが「動いおいる」ように芋えおもゆっくりずれおいるずきに知らせおくれたす。合蚈だけだず誀解を生むので、軜量な合蚈チェックず小さなサンプル比范を組み合わせたす。䟋えば1日1回、䞡システムのアクティブ顧客数を比范し、20件のランダムな顧客IDをサンプリングしお数フィヌルドstatus, updated_at, emailを確認したす。合蚈が違っおサンプルは䞀臎するなら削陀やフィルタが原因の可胜性がありたす。サンプルが違うならハッシュやフィヌルドマッピングが誀っおいる可胜性が高いです。

アラヌトは皀であり、行動可胜であるべきです。簡単なルヌル人が今すぐ察凊しなければならないずきだけアラヌトする。

  • カヌ゜ルが詰たっおいるN回の実行で終了カヌ゜ルが動かない\n- ゚ラヌ率の䞊昇䟋えば1% -> 5%が1時間で発生\n- 実行時間が通垞の䞊限を超える\n- バックログが増えおいる新しい倉曎の到着が同期より速い\n- ドリフトが確認された合蚈が2回連続で䞍䞀臎

障害埌は手動でクリヌンアップせずに再実行できるのが理想です。最も簡単なのは最埌にコミットされたチェックポむントから再開するこずです。小さなオヌバヌラップ窓最埌のペヌゞを再読を䜿う堎合は、曞き蟌みを冪等にしお stable ID でアップサヌトし、曞き蟌み成功埌にのみチェックポむントを進めたす。AppMasterではこれらのチェックをBusiness Processに組み蟌み、メヌル/SMS/Telegramモゞュヌルで可芖化するこずが倚いです。

本番投入前のクむックチェックリスト

チェックポむントを䜿った増分同期を本番化する前に、遅れお発生する驚きを防ぐための数点を数分で確認したしょう。

実運甚でよく問題を起こすチェックリスト

  • 順序付けに䜿うフィヌルドタむムスタンプ、シヌケンス、IDが本圓に安定しおおり、゜ヌス偎にむンデックスがあるか確認する。埌から倉わる可胜性があるずカヌ゜ルがずれる。\n- アップサヌトキヌが䞀意であるこず、および䞡システムが同じ扱い倧文字小文字、トリミング、曞匏をしおいるこずを確認する。片方が"ABC"で他方が"abc"だず重耇が発生する。\n- チェックポむントは各ゞョブ・各デヌタセットごずに分離しお保存する。"グロヌバルな最埌のカヌ゜ル"は簡単そうだが、テヌブルが二぀、テナントが二぀、フィルタが二぀になるず壊れる。\n- ゜ヌスが最終的䞀貫性なら小さなオヌバヌラップ窓を远加する。䟋えば last_updated = 10:00:00 から再開する堎合、09:59:30から再開しお冪等なアップサヌトで重耇を無芖する。\n- 軜量な照合を蚈画する定期的に100件皋床のランダムサンプルを取り、䞻芁フィヌルドを比范しお静かなドリフトを怜出する。

珟実テスト同期を途䞭で䞀時停止し、再起動しお同じ結果になるか確認しおください。再起動で件数が倉わったり䜙分な行ができるなら、本番化前に修正しおください。

AppMasterで構築する堎合、各統合フロヌのチェックポむントデヌタを特定のプロセスずデヌタセットに玐づけ、無関係な自動化ず共有しないようにしたしょう。

䟋二぀のアプリ間で顧客レコヌドを同期する

ルヌルをワヌクフロヌにする
取埗、アップサヌト、チェックポむント曎新をひず぀の明確なBusiness Processに実装したす。
ワヌクフロヌを䜜成

簡単な蚭定を想像しおくださいCRMが連絡先の真実で、サポヌトツヌルやカスタマヌポヌタルにも同じ人物が必芁なケヌスですチケットを実際の顧客に玐づける、ナヌザヌが自分のアカりントを芋るなど。

初回はワンタむムのむンポヌトを行いたす。updated_at ず id をタむブレヌカヌにしお安定した順序でコンタクトを匕き、各バッチを曞き蟌んだ埌に last_updated_at ず last_id のようなチェックポむントを保存したす。これが今埌の起点になりたす。

継続運甚ではチェックポむントより新しいレコヌドだけを取埗したす。曎新は単玔ですCRMのコンタクトが既にあればタヌゲットを曎新し、なければ䜜成したす。マヌゞは厄介です。CRMは重耇をマヌゞしお1぀の「勝者」コンタクトを残すこずが倚いです。これを倱った方のコンタクトを非アクティブにするたたは勝者ぞマッピングするなどしお、ポヌタルに同䞀人物のナヌザヌが2぀できないよう扱いたす。

削陀は通垞 updated since ク゚リには珟れないので蚈画が必芁です。䞀般的な遞択肢は゜ヌスの゜フトデリヌトフラグ、削陀専甚のフィヌド、あるいは定期的な軜量照合でIDの欠萜を怜出する方法です。

障害ケヌス同期が途䞭でクラッシュしたずしたす。バッチの終わりにしかチェックポむントを保存しおいないず、倧量を再凊理する矜目になりたす。代わりにバッチごずの再開トヌクンを䜿う方法

  • ラン開始時に run_id再開トヌクンを生成する\n- バッチを凊理し、タヌゲットぞの倉曎を曞き、次に run_id に玐づけおチェックポむントを原子的に保存する\n- 再起動時に最埌に保存された run_id のチェックポむントを怜出しお続行する

成功は地味に芋えたす日々の件数が安定し、実行時間が予枬可胜で、同じりィンドりを再実行しおも予期せぬ倉曎が発生しないこずです。

次のステップパタヌンを遞び、手戻りを枛らしお構築する

最初の増分ルヌプが動いたら、手戻りを避ける最速の方法は同期ルヌルを曞き留めるこずです。短くたずめおください察象レコヌド、競合時に勝぀フィヌルド、各実行での「完了」の定矩。

小さく始めたしょう。䞀぀のデヌタセット䟋customersを遞んで、初回むンポヌト、増分曎新、削陀凊理、意図的な障害埌の再開を順にテストしたす。想定を埌で修正するより今盎す方が楜です。

それでもフルリビルが正しい堎合がありたす。チェックポむント状態が壊れたずき、識別子を倉曎したずき、たたはスキヌマ倉曎で倉曎怜出が壊れたずき䟋ハッシュの元になるフィヌルドの意味が倉わった堎合には再むンポヌトを怜蚎したす。再むンポヌトは緊急ボタンではなく、管理された操䜜ずしお扱っおください。

安党な再むンポヌト手順䟋

  • シャドりテヌブルや䞊列デヌタセットにむンポヌトし、珟圚のデヌタセットは皌働したたたにする。\n- 件数ずサンプルNULL、マヌゞされたレコヌドなどの゚ッゞケヌスを含むを怜蚌する。\n- リレヌションをバックフィルし、蚈画的な切り替えでリヌダヌを新デヌタセットぞ切り替える。\n- 叀いデヌタセットは短いロヌルバックりィンドりのために保持し、その埌クリヌンアップする。

コヌドを曞かずにこれを䜜りたいならAppMasterが圹立ちたすData DesignerでPostgreSQLにデヌタをモデル化し、Business Process Editorで同期ルヌルを定矩し、スケゞュヌルゞョブでレコヌドを取埗・倉換・アップサヌトしたす。AppMasterは芁件が倉わっおもクリヌンなコヌドを再生成するため、「フィヌルドを䞀぀远加したい」ずいった倉曎のリスクを䞋げたす。

本番でさらに倚くのデヌタセットに拡匵する前に、同期契玄を文曞化し、1぀のパタヌンカヌ゜ル、再開トヌクン、たたはハッシュを遞び、1぀の同期を完党に信頌できるようにしおください。それから次のデヌタセットぞ同じ構造を繰り返したしょう。たずはAppMasterでアプリを䜜成し、小さなスケゞュヌル同期ゞョブを実行しお詊しおみるのが早道です。

始めやすい
䜕かを䜜成する 玠晎らしい

無料プランで AppMaster を詊しおみおください。
準備が敎ったら、適切なサブスクリプションを遞択できたす。

始める
チェックポむントによる増分デヌタ同期システムを安党に敎合させる | AppMaster