שיעור 1בחירת דפוסי מפתח חלוקה ומפתח מיון למשימות והיסטוריות (מפתחות מורכבים, קידומות)למדו כיצד לבחור דפוסי מפתח חלוקה ומפתח מיון יעילים למשימות ופריטי היסטוריה. חקרו מפתחות מורכבים, קידומות מפתח ומדדי עיצוב המשפיעים על גמישות שאילתות, הרחבה והפצת כתיבה במערכות ייצור.
Composite key design for task and history itemsUsing key prefixes to group related task recordsDesigning keys for even write and read distributionPatterns for time-ordered task history queriesשיעור 2שיקולים לגיבוי, שחזור ושחזור נקודתי בזמן לנתוני משימות ויומני היסטוריהלמדו כיצד להגן על נתוני משימות והיסטוריה באמצעות גיבויים ואפשרויות שחזור. הבינו גיבויים על פי דרישה, שחזור נקודתי בזמן, זרימות שחזור ועיצוב סכמות ותהליכים התומכים בשחזור בטוח ובדיקתי.
Enabling and managing point-in-time recoveryCreating and restoring on-demand backupsDesigning restore workflows for task tablesTesting recovery and minimizing data lossשיעור 3סריאליזציית נתונים וסוגי תכונות: מחרוזות, מספרים, מפות, רשימות, בוליאנים ומדדים לתכונות מורכבותחקרו סוגי תכונות DynamoDB לנתוני משימות, כולל מחרוזות, מספרים, מפות, רשימות ובוליאנים. למדו אסטרטגיות סריאליזציה לשדות מורכבים, מדדי עיצוב למבנים מקוננים וכיצד בחירות משפיעות על אינדוקס ושערי שאילתות.
Using scalar types for core task attributesMaps and lists for flexible metadata fieldsStoring timestamps and numeric countersTradeoffs of nested and complex attributesשיעור 4עיצוב תכונות פריט: סכמת פריט משימה עם סוגים (taskId, title, description, status, updatedAt, metadata)הגדירו סכמה ברורה לפריטי משימות, כולל מזהים, כותרות, תיאורים, סטטוס, חותמי זמן ומטא-נתונים. למדו בחירות סוגים, שדות חובה מול אופציונליים ודפוסים התומכים באבולוציה ללא מיגרציות.
Core fields: taskId, title, and descriptionModeling status and updatedAt consistentlyDesigning flexible metadata structuresSchema evolution without heavy migrationsשיעור 5מיפוי דפוסי גישה: שאילתות למשימה בודדת, היסטוריית משימה ממוינת זמנית, רישום משימות אחרונות, אסטרטגיות פגינציהמיפוי דפוסי גישה אמיתיים לשאילתות DynamoDB למשימות והיסטוריות. למדו לשאול משימה בודדת, להביא היסטוריה ממוינת, לרשום משימות אחרונות ולממש פגינציה באמצעות תנאי מפתחות, מסננים ועיצוב מפתח מיון זהיר.
Querying a single task and its latest stateFetching task history ordered by timestampListing recent or active tasks efficientlyPagination with LastEvaluatedKey and limitsשיעור 6אסטרטגיות מפתח ראשי ואינדקס משני: GSIs ו-LSIs לשאילתות חלופיות (לפי סטטוס, לפי משתמש)תכנון מפתחות ראשיים ואינדקסים משניים לתמיכה בשאילתות חלופיות, כמו לפי סטטוס או משתמש. למדו מתי להשתמש ב-GSI לעומת LSI, בחירות מפתחות אינדקס, תכונות מוקרנות וכיצד אינדקסים משפיעים על עלות ותפוקה.
Choosing primary keys for main task accessDesigning GSIs for status-based queriesIndexes for querying tasks by user or ownerProjection choices and index cost impactsשיעור 7מודלינג עדכונים תנאיים ומקביליות אופטימיסטית עם ConditionalExpression ו-attribute_exists/attribute_not_existsמודל עדכונים תנאיים ובטוחים במקביליות אופטימיסטית עם ConditionalExpression ובדיקות attribute_exists/attribute_not_exists.
Version attributes for optimistic concurrencyUsing ConditionalExpression in updatesattribute_exists and attribute_not_exists usageHandling conditional check failures safelyשיעור 8עיצוב תכונות פריט: סכמת פריט היסטוריה עם סוגים (taskId, eventId, status, previousStatus, changedBy, timestamp, reason)תכנון סכמה חזקה לפריטי היסטוריית משימות, כולל מזהים, מעברי סטטוס, שדות ביקורת וסיבות. למדו כיצד לבחור סוגי תכונות, לכפות עקביות ולתמוך בשאילתות יעילות ואנליטיקה על אירועי מחזור חיי משימות.
Core identifiers: taskId and eventId choicesModeling status and previousStatus transitionsCapturing changedBy, timestamp, and reasonChoosing attribute types for history fieldsשיעור 9בחירת טבלאות DynamoDB והנמקה לעיצוב טבלה אחת מול רב-טבלאותהבנת מתי להשתמש בטבלה אחת של DynamoDB לעומת מספר טבלאות למעקב משימות. השוואת בידוד, עלות ומורכבות תפעולית, ולמידת התאמת עיצוב טבלה למיקרו-שירותים, בעלות ודפוסי גישה.
When a single table fits task tracking needsWhen multiple tables are the better choiceModeling ownership and service boundariesCost, limits, and operational tradeoffsשיעור 10שיטות עבודה מומלצות של DynamoDB: מצבי קיבולת, דפוסי כתיבה, כתיבות תנאיות, מונים אטומיים, עסקאות ו-TTL להיסטוריה ישנהיישום שיטות עבודה מומלצות של DynamoDB לעומסי מעקב משימות. השוואת מצבי קיבולת, תכנון דפוסי כתיבה יעילים, שימוש בכתיבות תנאיות, מונים אטומיים, עסקאות ו-TTL לרשומות היסטוריה ישנות לשליטה בצמיחת אחסון.
Choosing between on-demand and provisioned capacityDesigning write patterns for hot task itemsUsing conditional writes and atomic countersTransactions and TTL for aging history data