[{"data":1,"prerenderedAt":459},["ShallowReactive",2],{"navigation":3,"/data-load/idempotency-and-late-data":203},[4,22,47,64,101,126,143,156,169,190],{"title":5,"path":6,"stem":7,"children":8,"page":21},"آشنایی و مبانی","/intro","01.intro",[9,13,17],{"title":10,"path":11,"stem":12},"معماری داده‌ها","/intro/architecture","01.intro/1.architecture",{"title":14,"path":15,"stem":16},"الگوهای پیشنهادی","/intro/best-practices","01.intro/2.best-practices",{"title":18,"path":19,"stem":20},"مقایسه ETL و ELT","/intro/etl-vs-elt","01.intro/3.etl-vs-elt",false,{"title":23,"path":24,"stem":25,"children":26,"page":21},"ساخت و مدیریت فضا","/space","02.space",[27,31,35,39,43],{"title":28,"path":29,"stem":30},"ساختار فضا و پروژه","/space/structure","02.space/1.structure",{"title":32,"path":33,"stem":34},"ذخیره در باکت اختصاصی","/space/dedicated-bucket","02.space/2.dedicated-bucket",{"title":36,"path":37,"stem":38},"آموزش ساخت فضا","/space/create-space","02.space/3.create-space",{"title":40,"path":41,"stem":42},"طرح فضا","/space/plan","02.space/4.plan",{"title":44,"path":45,"stem":46},"سرور MCP","/space/mcp-server","02.space/5.mcp-server",{"title":48,"path":49,"stem":50,"children":51,"page":21},"مدیریت کاربران","/user-management","03.user-management",[52,56,60],{"title":53,"path":54,"stem":55},"آشنایی با نقش‌ها","/user-management/roles","03.user-management/1.roles",{"title":57,"path":58,"stem":59},"اعطای دسترسی","/user-management/access","03.user-management/2.access",{"title":61,"path":62,"stem":63},"آموزش اعطای دسترسی","/user-management/manage-users","03.user-management/3.manage-users",{"title":65,"path":66,"stem":67,"children":68,"page":21},"ایجاد و مدیریت دیتاست","/dataset","04.dataset",[69,73,77,81,85,89,93,97],{"title":70,"path":71,"stem":72},"ایجاد دیتاست","/dataset/create-dataset","04.dataset/1.create-dataset",{"title":74,"path":75,"stem":76},"الگوهای نام‌گذاری","/dataset/naming-conventions","04.dataset/2.naming-conventions",{"title":78,"path":79,"stem":80},"تفاوت درج با ورژن و آپدیت","/dataset/write-modes","04.dataset/3.write-modes",{"title":82,"path":83,"stem":84},"انواع ستون و نوع مقدار","/dataset/column-types","04.dataset/4.column-types",{"title":86,"path":87,"stem":88},"متادیتا و ویژگی‌های ستون","/dataset/column-settings","04.dataset/5.column-settings",{"title":90,"path":91,"stem":92},"قوانین امنیتی جدول","/dataset/table-settings","04.dataset/6.table-settings",{"title":94,"path":95,"stem":96},"ویرایش اسکیما","/dataset/schema-evolution","04.dataset/7.schema-evolution",{"title":98,"path":99,"stem":100},"آموزش ایجاد جدول سفارشی","/dataset/create-custom-table","04.dataset/8.create-custom-table",{"title":102,"path":103,"stem":104,"children":105,"page":21},"لود داده","/data-load","05.data-load",[106,110,114,118,122],{"title":107,"path":108,"stem":109},"لندر گو (Lander Go)","/data-load/lander-go","05.data-load/1.lander-go",{"title":111,"path":112,"stem":113},"لود مستقیم (API)","/data-load/api-load","05.data-load/2.api-load",{"title":115,"path":116,"stem":117},"لود با تبدیل (Transform)","/data-load/transform-load","05.data-load/3.transform-load",{"title":119,"path":120,"stem":121},"یکتاسازی و مدیریت Late Data","/data-load/idempotency-and-late-data","05.data-load/4.idempotency-and-late-data",{"title":123,"path":124,"stem":125},"لاگ درخواست‌های رد شده","/data-load/dropped-requests","05.data-load/5.dropped-requests",{"title":127,"path":128,"stem":129,"children":130,"page":21},"داشبورد","/dashboard","06.dashboard",[131,135,139],{"title":132,"path":133,"stem":134},"ساختار و دسترسی","/dashboard/structure","06.dashboard/1.structure",{"title":136,"path":137,"stem":138},"فیلترهای استوری","/dashboard/story-filters","06.dashboard/2.story-filters",{"title":140,"path":141,"stem":142},"آموزش ساخت استوری","/dashboard/create-story","06.dashboard/3.create-story",{"title":144,"path":145,"stem":146,"children":147,"page":21},"کوئری","/query","07.query",[148,152],{"title":149,"path":150,"stem":151},"نکات نوشتن کوئری","/query/query-notes","07.query/1.query-notes",{"title":153,"path":154,"stem":155},"توابع اختصاصی داده‌لند","/query/dadeland-sql","07.query/2.dadeland-sql",{"title":157,"path":158,"stem":159,"children":160,"page":21},"فانل","/funnel","08.funnel",[161,165],{"title":162,"path":163,"stem":164},"آموزش ایجاد فانل","/funnel/create-funnel","08.funnel/1.create-funnel",{"title":166,"path":167,"stem":168},"شیوه کار فانل","/funnel/how-funnel-works","08.funnel/2.how-funnel-works",{"title":170,"path":171,"stem":172,"children":173,"page":21},"ماژول کلاینت","/client-module","09.client-module",[174,178,182,186],{"title":175,"path":176,"stem":177},"آشنایی با ماژول کلاینت","/client-module/intro","09.client-module/1.intro",{"title":179,"path":180,"stem":181},"تنظیمات ماژول","/client-module/settings","09.client-module/2.settings",{"title":183,"path":184,"stem":185},"جمع‌آوری داده (لندر وب)","/client-module/lander-web","09.client-module/3.lander-web",{"title":187,"path":188,"stem":189},"آموزش راه‌اندازی","/client-module/up-and-running","09.client-module/4.up-and-running",{"title":191,"path":192,"stem":193,"children":194,"page":21},"عملیات","/activation","10.activation",[195,199],{"title":196,"path":197,"stem":198},"توزیع داده (Reverse ETL)","/activation/reverse-etl","10.activation/1.reverse-etl",{"title":200,"path":201,"stem":202},"یکپارچه‌سازی‌های توزیع داده","/activation/integrations","10.activation/2.integrations",{"id":204,"title":119,"body":205,"description":452,"extension":453,"links":454,"meta":455,"navigation":456,"path":120,"seo":457,"stem":121,"__hash__":458},"docs/05.data-load/4.idempotency-and-late-data.md",{"type":206,"value":207,"toc":443},"minimark",[208,221,224,228,235,280,300,302,306,318,331,342,344,348,351],[209,210,211,212,216,217,220],"p",{},"داده‌لند برای رفع دو چالش ارسال مجدد داده‌های تکراری و دریافت داده‌ها با تاخیر زمانی، دو مکانیسم ",[213,214,215],"strong",{},"یکتاسازی (Idempotency)"," و ",[213,218,219],{},"مدیریت داده‌های دیررس (Late Data)"," را به کار می‌گیرد.",[222,223],"hr",{},[225,226,215],"h3",{"id":227},"یکتاسازی-idempotency",[209,229,230,231,234],{},"این مکانیسم از ایجاد ردیف‌های تکراری در ارسال دوباره رکوردها جلوگیری می‌کند و در جداول با ",[213,232,233],{},"درج با ورژن"," فعال است:",[236,237,238,264],"ul",{},[239,240,241,244,245,216,253,258,259,263],"li",{},[213,242,243],{},"جداول وقایع، وصف و استیجینگ:"," بر مبنای ترکیب دو ستون ",[246,247,249],"span",{"dir":248},"ltr",[250,251,252],"code",{},"dl_id",[246,254,255],{"dir":248},[250,256,257],{},"update_time"," عمل می‌کند؛ در صورت یکسانی هر دو مقدار، ردیف قبلی بازنویسی می‌شود و با تغییر ",[246,260,261],{"dir":248},[250,262,257],{}," ردیف جدیدی درج می‌گردد.",[239,265,266,269,270,274,275,279],{},[213,267,268],{},"جدول آزاد (Plain):"," به دلیل نبود ستون ",[246,271,272],{"dir":248},[250,273,257],{},"، یکتاسازی صرفاً با ستون ",[246,276,277],{"dir":248},[250,278,252],{}," انجام می‌شود و رکوردهای با شناسه تکراری بازنویسی می‌گردند.",[281,282,283],"note",{},[209,284,285,286,289,290,294,295,299],{},"در سامانه‌های مبدأ با جداول ",[246,287,288],{"dir":248},"Upsert"," (فاقد تاریخچه)، با قرار دادن کلید اصلی (یا هش کلیدهای ترکیبی) در ستون ",[246,291,292],{"dir":248},[250,293,252],{}," و ارسال هر تغییر با مقدار جدید ستون ",[246,296,297],{"dir":248},[250,298,257],{},"، تاریخچه کامل تغییرات در داده‌لند ثبت می‌گردد.",[222,301],{},[225,303,305],{"id":304},"مدیریت-دادههای-دیررس","مدیریت داده‌های دیررس",[209,307,308,309,312,313,317],{},"در سیستم‌های توزیع‌شده ممکن است داده‌ها به دلیل تاخیر شبکه با ترتیب زمانی نادرست دریافت شوند (نظیر ثبت وضعیت «تحویل» پیش از «پرداخت» یک سفارش). برای جلوگیری از بازنویسی داده‌های جدید با داده‌های قدیمی، در جداول با ",[213,310,311],{},"درج با آپدیت"," (شامل وقایع، وصف و استیجینگ)، تصمیم‌گیری بر مبنای کلید اصلی (Primary Key) و ستون ",[246,314,315],{"dir":248},[250,316,257],{}," انجام می‌پذیرد:",[236,319,320,328],{},[239,321,322,323,327],{},"چنانچه ",[246,324,325],{"dir":248},[250,326,257],{}," رکورد ورودی بزرگ‌تر یا مساوی با مقدار موجود در جدول باشد، عملیات آپدیت انجام می‌پذیرد.",[239,329,330],{},"در صورت قدیمی‌تر بودن زمان رکورد ورودی، داده ارسالی منسوخ تلقی شده و حذف (Drop) می‌گردد.",[332,333,334],"warning",{},[209,335,336,337,341],{},"صحت عملکرد این مکانیسم به ارسال دقیق زمان در ستون ",[246,338,339],{"dir":248},[250,340,257],{}," توسط سامانه مبدأ وابسته است.",[222,343],{},[225,345,347],{"id":346},"خلاصه-مکانیسمها","خلاصه مکانیسم‌ها",[209,349,350],{},"رفتار سیستم در مواجهه با داده‌های تکراری و دیررس به شرح زیر است:",[352,353,354,374],"table",{},[355,356,357],"thead",{},[358,359,360,365,368,371],"tr",{},[361,362,364],"th",{"align":363},"left","مکانیسم",[361,366,367],{"align":363},"نوع درج",[361,369,370],{"align":363},"ستون‌های مبنا",[361,372,373],{"align":363},"رفتار سیستم",[375,376,377,406,424],"tbody",{},[358,378,379,385,388,398],{},[380,381,382],"td",{"align":363},[213,383,384],{},"یکتاسازی",[380,386,387],{"align":363},"درج با ورژن (وقایع، وصف، استیجینگ)",[380,389,390,216,394],{"align":363},[246,391,392],{"dir":248},[250,393,252],{},[246,395,396],{"dir":248},[250,397,257],{},[380,399,400,401,405],{"align":363},"در صورت یکسانی هر دو مقدار، ردیف بازنویسی می‌شود و با تغییر ",[246,402,403],{"dir":248},[250,404,257],{}," ردیف جدید درج می‌گردد.",[358,407,408,412,415,421],{},[380,409,410],{"align":363},[213,411,384],{},[380,413,414],{"align":363},"درج با ورژن (جدول آزاد)",[380,416,417],{"align":363},[246,418,419],{"dir":248},[250,420,252],{},[380,422,423],{"align":363},"در صورت تکراری بودن شناسه، ردیف قبلی بازنویسی می‌شود.",[358,425,426,430,433,440],{},[380,427,428],{"align":363},[213,429,305],{},[380,431,432],{"align":363},"درج با آپدیت (وقایع، وصف، استیجینگ)",[380,434,435,436],{"align":363},"کلید اصلی و ",[246,437,438],{"dir":248},[250,439,257],{},[380,441,442],{"align":363},"با بزرگ‌تر یا مساوی بودن زمان رکورد، عملیات آپدیت انجام می‌گیرد و رکوردهای قدیمی‌تر Drop می‌شوند.",{"title":444,"searchDepth":445,"depth":446,"links":447},"",1,2,[448,450,451],{"id":227,"depth":449,"text":215},3,{"id":304,"depth":449,"text":305},{"id":346,"depth":449,"text":347},"در این صفحه با مکانیسم‌های یکتاسازی داده (Idempotency) و مدیریت داده‌های دیررس (Late Data Management) در داده‌لند آشنا می‌شوید.","md",null,{},true,{"title":119,"description":452},"OSy12i-YbbqbnDSghBUVt-DwH9bLw8HcJlFInDzSepo",1793189280775]