Bird
Raised Fist0
DynamoDBquery~5 mins

Point-in-time recovery (PITR) in DynamoDB

Choose your learning style10 modes available
Introduction

Point-in-time recovery (PITR) helps you restore your database to any moment in the past 35 days. It protects your data from accidental changes or deletions.

You accidentally delete important data and want to get it back.
You want to recover your database to a state before a software bug caused wrong data.
You want to protect your data from unexpected errors or attacks.
You want to test how your application worked at a specific past time.
You want to meet compliance rules that require data recovery options.
Syntax
DynamoDB
aws dynamodb update-continuous-backups --table-name <TableName> --point-in-time-recovery-specification PointInTimeRecoveryEnabled=true

aws dynamodb restore-table-to-point-in-time --source-table-name <TableName> --target-table-name <NewTableName> --restore-date-time <ISO8601Timestamp>

Use update-continuous-backups to enable or disable PITR on your table.

Use restore-table-to-point-in-time to create a new table restored to a specific time.

Examples
This command turns on PITR for the table named MusicCollection.
DynamoDB
aws dynamodb update-continuous-backups --table-name MusicCollection --point-in-time-recovery-specification PointInTimeRecoveryEnabled=true
This command creates a new table MusicCollectionBackup restored to May 1, 2024, at noon UTC.
DynamoDB
aws dynamodb restore-table-to-point-in-time --source-table-name MusicCollection --target-table-name MusicCollectionBackup --restore-date-time 2024-05-01T12:00:00Z
Sample Program

First, we enable PITR on the Books table. Then, we restore it to a new table BooksRestored as it was on June 1, 2024, at 10 AM UTC.

DynamoDB
aws dynamodb update-continuous-backups --table-name Books --point-in-time-recovery-specification PointInTimeRecoveryEnabled=true

aws dynamodb restore-table-to-point-in-time --source-table-name Books --target-table-name BooksRestored --restore-date-time 2024-06-01T10:00:00Z
OutputSuccess
Important Notes

PITR keeps data changes for the last 35 days only.

Restoring creates a new table; it does not overwrite the original.

Enabling PITR may increase your costs slightly because of extra backups.

Summary

PITR lets you recover your DynamoDB table to any second in the past 35 days.

You enable PITR with update-continuous-backups and restore with restore-table-to-point-in-time.

Restoring creates a new table; your original data stays safe.

Practice

(1/5)
1. What is the main purpose of Point-in-time recovery (PITR) in DynamoDB?
easy
A. To automatically delete old data after 35 days
B. To increase the read capacity of a table
C. To create backups only once a day
D. To restore a table to any second within the last 35 days

Solution

  1. Step 1: Understand PITR functionality

    PITR allows restoring a DynamoDB table to a specific second in the past 35 days.
  2. Step 2: Compare options with PITR purpose

    Options A, B, and D describe unrelated features; only To restore a table to any second within the last 35 days matches PITR's main purpose.
  3. Final Answer:

    To restore a table to any second within the last 35 days -> Option D
  4. Quick Check:

    PITR = Restore to any second in 35 days [OK]
Hint: PITR = restore table to any second in last 35 days [OK]
Common Mistakes:
  • Confusing PITR with daily backups
  • Thinking PITR deletes old data
  • Assuming PITR changes table capacity
2. Which AWS CLI command enables Point-in-time recovery (PITR) on a DynamoDB table named Orders?
easy
A. aws dynamodb restore-table-to-point-in-time --table-name Orders --enable-pitr
B. aws dynamodb enable-pitr --table Orders
C. aws dynamodb update-continuous-backups --table-name Orders --point-in-time-recovery-specification PointInTimeRecoveryStatus=ENABLED
D. aws dynamodb start-backup --table-name Orders --pitr true

Solution

  1. Step 1: Identify correct command to enable PITR

    The command to enable PITR is update-continuous-backups with the flag --point-in-time-recovery-specification PointInTimeRecoveryStatus=ENABLED.
  2. Step 2: Check options for syntax correctness

    aws dynamodb update-continuous-backups --table-name Orders --point-in-time-recovery-specification PointInTimeRecoveryStatus=ENABLED matches the correct syntax; others use invalid commands or flags.
  3. Final Answer:

    aws dynamodb update-continuous-backups --table-name Orders --point-in-time-recovery-specification PointInTimeRecoveryStatus=ENABLED -> Option C
  4. Quick Check:

    Enable PITR = update-continuous-backups with PointInTimeRecoveryStatus=ENABLED [OK]
Hint: Enable PITR with update-continuous-backups and PointInTimeRecoveryStatus=ENABLED [OK]
Common Mistakes:
  • Using non-existent commands like enable-pitr
  • Confusing backup start with PITR enable
  • Trying to enable PITR during restore
3. Given the following AWS CLI command, what will happen?
aws dynamodb restore-table-to-point-in-time --source-table-name Sales --target-table-name SalesBackup --restore-date-time 1714564800
medium
A. A new table named SalesBackup will be created with data from May 1, 2024, 12:00 UTC
B. The Sales table will be overwritten with data from May 1, 2024, 12:00 UTC
C. The Sales table will be backed up without changes
D. The command will fail because restore-date-time is invalid

Solution

  1. Step 1: Understand restore-table-to-point-in-time behavior

    This command creates a new table with the restored data; it does not overwrite the source table.
  2. Step 2: Analyze command parameters

    The --target-table-name SalesBackup means the restored data goes into a new table named SalesBackup.
  3. Final Answer:

    A new table named SalesBackup will be created with data from May 1, 2024, 12:00 UTC -> Option A
  4. Quick Check:

    Restore creates new table = SalesBackup [OK]
Hint: Restore always creates new table, original stays safe [OK]
Common Mistakes:
  • Thinking restore overwrites original table
  • Confusing backup with restore commands
  • Assuming restore-date-time format is invalid
4. You run this command to restore a table:
aws dynamodb restore-table-to-point-in-time --source-table-name Inventory --target-table-name Inventory --restore-date-time 1704067200

But it fails with an error. What is the likely cause?
medium
A. The source table does not have PITR enabled
B. The target table name must be different from the source table name
C. The command is missing the restore-date-time parameter
D. The AWS CLI version is outdated

Solution

  1. Step 1: Check restore-table-to-point-in-time requirements

    The target table name must be unique and cannot be the same as the source table.
  2. Step 2: Analyze the command error cause

    Using the same name for source and target causes a conflict and failure.
  3. Final Answer:

    The target table name must be different from the source table name -> Option B
  4. Quick Check:

    Target table name ≠ source table name [OK]
Hint: Target table name must differ from source table name [OK]
Common Mistakes:
  • Assuming restore overwrites existing table
  • Overlooking that PITR must be enabled on the source table
  • Blaming AWS CLI version without checking names
5. You enabled PITR on a table Users 10 days ago. Today, you want to restore it to the state exactly 40 days ago. What will happen if you try to restore using PITR?
hard
A. The restore will fail because PITR only supports recovery up to 35 days in the past
B. The table will be restored to the closest available backup at 35 days ago
C. The table will be restored to the current state since 40 days is out of range
D. The restore will succeed and recover data from 40 days ago

Solution

  1. Step 1: Recall PITR retention period

    PITR supports restoring data only within the last 35 days from the current time.
  2. Step 2: Analyze restore request for 40 days ago

    Requesting restore beyond 35 days is outside PITR limits and will cause failure.
  3. Final Answer:

    The restore will fail because PITR only supports recovery up to 35 days in the past -> Option A
  4. Quick Check:

    PITR limit = 35 days; 40 days restore fails [OK]
Hint: PITR max restore window is 35 days only [OK]
Common Mistakes:
  • Assuming PITR can restore beyond 35 days
  • Thinking restore auto-adjusts to closest backup
  • Confusing PITR with manual snapshot backups
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard