DynamoDB Fundamentals
280 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What is the maximum size of an item in DynamoDB?

  • 400KB (correct)
  • 1KB
  • 10MB
  • 1MB
  • What type of database is DynamoDB?

  • Time Series
  • Key-Value (correct)
  • Relational
  • Graph
  • What is the benefit of using DynamoDB?

  • Low scalability and high latency
  • High latency and low availability
  • Low latency and high availability (correct)
  • Scalability but no high availability
  • How many geographically distributed replicas of each table are stored in DynamoDB?

    <p>3</p> Signup and view all the answers

    What is the purpose of IAM condition in DynamoDB?

    <p>To restrict user access to only their own records</p> Signup and view all the answers

    What is the storage type used in DynamoDB?

    <p>SSD</p> Signup and view all the answers

    What happens to the main table if writes are throttled on the GSI?

    <p>The main table will be throttled even if there are enough WCUs</p> Signup and view all the answers

    What is the primary benefit of using DynamoDB Accelerator (DAX)?

    <p>Improved read performance</p> Signup and view all the answers

    What is the purpose of Read Capacity Units (RCUs) and Write Capacity Units (WCUs) in DynamoDB?

    <p>To specify the number of data reads and writes per second</p> Signup and view all the answers

    What is the key difference between DynamoDB On-Demand Capacity and Provisioned Capacity?

    <p>On-Demand Capacity requires specifying requirements, while Provisioned Capacity does not</p> Signup and view all the answers

    What is the purpose of DynamoDB's Time To Live (TTL) feature?

    <p>To automatically delete items after an expiry date/time</p> Signup and view all the answers

    What happens when the configured RCU or WCU are exceeded in DynamoDB?

    <p>The ProvisionedThroughputExceededException error is thrown</p> Signup and view all the answers

    What is the purpose of the 'ProjectionExpression' parameter in the Scan API?

    <p>It defines the attributes that should be returned by the Scan operation.</p> Signup and view all the answers

    What is the primary difference between eventually consistent reads and strongly consistent reads in DynamoDB?

    <p>Eventually consistent reads are faster, while strongly consistent reads are more accurate.</p> Signup and view all the answers

    What is the purpose of DynamoDB transactions?

    <p>To ensure that multiple operations on multiple items within a table are performed as a single, atomic operation.</p> Signup and view all the answers

    Which of the following is NOT a valid use case for DynamoDB Transactions?

    <p>Performing a complex calculation on a large dataset stored in DynamoDB.</p> Signup and view all the answers

    What is the primary function of the 'FilterExpression' parameter in the Scan API?

    <p>It specifies the conditions that must be met for an item to be returned by the Scan operation.</p> Signup and view all the answers

    What is a 'Partition' in DynamoDB, and how does it affect performance?

    <p>A Partition is a physical storage unit for a table, and it can reduce performance if data is unevenly distributed.</p> Signup and view all the answers

    What is required to obtain a strongly consistent read in a query operation?

    <p>Setting the ConsistentRead parameter to true</p> Signup and view all the answers

    What is the primary difference between a Scan and a Query operation in DynamoDB?

    <p>A Scan does not filter unwanted data while a Query does.</p> Signup and view all the answers

    What is a characteristic of a Local Secondary Index (LSI)?

    <p>It allows querying based on an alternative sort key.</p> Signup and view all the answers

    Which parameter must be set to reverse the order of query results?

    <p>ScanIndexForward</p> Signup and view all the answers

    What is the advantage of using a Global Secondary Index (GSI)?

    <p>It speeds up queries on non-key attributes.</p> Signup and view all the answers

    What is one optimization technique to improve the performance of query or scan operations?

    <p>Reduce the page size to use fewer read operations</p> Signup and view all the answers

    What is the primary purpose of enabling TTL in DynamoDB?

    <p>To manage the table size and reduce storage over time.</p> Signup and view all the answers

    Which feature allows applications to access a log of item-level modifications in DynamoDB?

    <p>DynamoDB Streams.</p> Signup and view all the answers

    What happens to deleted items in DynamoDB after TTL expiration?

    <p>They are recoverable using DynamoDB Streams.</p> Signup and view all the answers

    When using exponential backoff, what do the retry intervals do?

    <p>They gradually increase for improved flow control.</p> Signup and view all the answers

    Which API operations can be used to enable or modify a DynamoDB Stream?

    <p>CreateTable and UpdateTable.</p> Signup and view all the answers

    What is a recommended practice when working with large objects in DynamoDB?

    <p>Use pointers to S3 for objects larger than 400KB.</p> Signup and view all the answers

    What must be true for strongly consistent reads and writes in DynamoDB global tables?

    <p>They must occur in the same AWS region.</p> Signup and view all the answers

    What feature of DynamoDB global tables allows for low-latency data access for globally dispersed users?

    <p>Automatic multi-master replication.</p> Signup and view all the answers

    What happens if the provisioned capacity for a DynamoDB table becomes zero?

    <p>No scaling down occurs for provisioned capacity.</p> Signup and view all the answers

    Which of the following is NOT a benefit of using DynamoDB over RDS?

    <p>Automatic recovery features.</p> Signup and view all the answers

    What should be identical for proper replication in DynamoDB global tables?

    <p>Write capacity settings.</p> Signup and view all the answers

    DynamoDB global tables are ideal for which type of applications?

    <p>Massively scaled applications with globally dispersed users.</p> Signup and view all the answers

    What type of reads does DynamoDB support in applications that only read data from one region?

    <p>Eventual consistent reads.</p> Signup and view all the answers

    In a scenario where DynamoDB cannot be used, what is the suggested alternative?

    <p>Aurora database.</p> Signup and view all the answers

    Which of the following statements about DynamoDB Global Tables is correct?

    <p>They automatically synchronize data changes across regions.</p> Signup and view all the answers

    What should you consider if using RDS to ensure data protection against failures?

    <p>Frequent RDS snapshots.</p> Signup and view all the answers

    What is the primary reason for specifying the same or more RCU/WCU in a GSI as in the main table?

    <p>To ensure the main table is not throttled</p> Signup and view all the answers

    What is the benefit of using DynamoDB Provisioned Capacity with Auto Scaling?

    <p>It enables dynamic adjustment of provisioned capacity based on traffic patterns</p> Signup and view all the answers

    What is the purpose of DynamoDB Accelerator (DAX)?

    <p>To improve read performance on DynamoDB tables</p> Signup and view all the answers

    What happens when the configured RCU or WCU are exceeded in DynamoDB?

    <p>Throttling occurs, and the AWS SDKs automatically retry the request</p> Signup and view all the answers

    What is the purpose of DynamoDB Time To Live (TTL)?

    <p>To delete items after an expiry date or time</p> Signup and view all the answers

    What is the primary difference between DynamoDB On-Demand Capacity and Provisioned Capacity?

    <p>The type of workloads they are suitable for</p> Signup and view all the answers

    What is one key benefit of using a Local Secondary Index (LSI)?

    <p>It provides an alternative sort key organized by a different range.</p> Signup and view all the answers

    How does a Global Secondary Index (GSI) differ from a Local Secondary Index (LSI)?

    <p>GSI can be created after the initial table setup.</p> Signup and view all the answers

    What does a scan operation do in comparison to a query operation?

    <p>It filters data after retrieving the entire dataset.</p> Signup and view all the answers

    What parameter must be set for a query to return a strongly consistent read?

    <p>ConsistentRead</p> Signup and view all the answers

    Which option describes the proper use of the ProjectionExpression parameter in a query?

    <p>It specifies which attributes to return.</p> Signup and view all the answers

    What is a recommended approach to improve the efficiency of scan operations in DynamoDB?

    <p>Set a smaller page size for scans.</p> Signup and view all the answers

    What is the main function of partitions in DynamoDB?

    <p>To replicate data across multiple Availability Zones</p> Signup and view all the answers

    Which scenario could lead to throttled requests on a single partition key value?

    <p>Exceeding 1000 Write Capacity Units for a single partition</p> Signup and view all the answers

    What parameter must be set to perform a strongly consistent read in DynamoDB operations?

    <p>ConsistentRead to true</p> Signup and view all the answers

    What is a key aspect of the transaction write API in DynamoDB?

    <p>It ensures all operations within a transaction either succeed or fail as a unit</p> Signup and view all the answers

    Which operation is known to consume a significant amount of Read Capacity Units in DynamoDB?

    <p>Scan operations reading every item in a table</p> Signup and view all the answers

    What is the benefit of using eventually consistent reads by default in DynamoDB?

    <p>They offer lower latency and higher throughput than strongly consistent reads</p> Signup and view all the answers

    What is the primary way that DynamoDB ensures high availability and data durability?

    <p>Through synchronous replication across three facilities in a region</p> Signup and view all the answers

    Which of the following accurately describes the nature of data storage in DynamoDB?

    <p>Data can be stored as key-value pairs or documents, including JSON</p> Signup and view all the answers

    Which statement is true regarding DynamoDB's ability to manage access control?

    <p>All access control is handled exclusively through IAM with identity-based policies</p> Signup and view all the answers

    What is a key limitation concerning the size of items stored in DynamoDB?

    <p>Items must not exceed 400KB, including keys and all attributes</p> Signup and view all the answers

    Which feature allows for the automatic scaling of DynamoDB without downtime?

    <p>Push button scaling</p> Signup and view all the answers

    In which case is DynamoDB considered a non-ideal choice?

    <p>When complex multi-table queries are frequently needed</p> Signup and view all the answers

    What is the primary purpose of using Exponential Backoff in AWS SDKs?

    <p>To manage retries by progressively increasing wait times</p> Signup and view all the answers

    Which statement about DynamoDB Streams is accurate?

    <p>Streams can serve as event sources for Lambda functions</p> Signup and view all the answers

    What action is taken by DynamoDB when an item is expired based on TTL settings?

    <p>The item is retained for potential recovery via DynamoDB Streams</p> Signup and view all the answers

    What is a recommended best practice when managing large objects in DynamoDB?

    <p>Use S3 for objects larger than 400KB and store pointers in DynamoDB</p> Signup and view all the answers

    What does optimistic locking prevent in DynamoDB?

    <p>Simultaneous writes to the same item overwriting each other</p> Signup and view all the answers

    What occurs when a request is throttled in DynamoDB?

    <p>The request fails with a 400 HTTP code</p> Signup and view all the answers

    What condition must be met for strongly consistent reads in DynamoDB global tables?

    <p>All strongly consistent reads must be performed in the same region.</p> Signup and view all the answers

    Which of the following statements is true about replica tables in DynamoDB global tables?

    <p>All replica tables must have identical write capacity settings.</p> Signup and view all the answers

    What happens to DynamoDB auto scaling when the consumed capacity of a table becomes zero?

    <p>It does not scale down and remains at the current provisioned capacity.</p> Signup and view all the answers

    When using DynamoDB, which scenario requires careful consideration regarding high availability?

    <p>Designing high availability when running on EC2.</p> Signup and view all the answers

    What is a primary benefit of using global tables for massively scaled applications?

    <p>They provide a fully managed solution with low-latency access.</p> Signup and view all the answers

    Which statement about Amazon DynamoDB's regional replication is accurate?

    <p>It is not strongly consistent.</p> Signup and view all the answers

    How does DynamoDB auto scaling respond to sudden increases in traffic?

    <p>It increases provisioned read and write capacity automatically.</p> Signup and view all the answers

    If an application uses eventually consistent reads with DynamoDB, what implications does it have for data location?

    <p>Data can be read from any region without modifications.</p> Signup and view all the answers

    What is one reason to prefer DynamoDB over RDS for high availability solutions?

    <p>DynamoDB has inherent fault tolerance.</p> Signup and view all the answers

    Which of the following features is NOT available in DynamoDB global tables?

    <p>Partial replication of selected items.</p> Signup and view all the answers

    What is the primary benefit of using a Global Secondary Index (GSI) in DynamoDB?

    <p>It speeds up queries on non-key attributes</p> Signup and view all the answers

    What happens when a Scan operation is performed on a large table in DynamoDB?

    <p>It can use up the provisioned throughput in a single operation</p> Signup and view all the answers

    What is the purpose of setting the ConsistentRead parameter to true in a Scan operation?

    <p>To get a consistent copy of the data as of the time the Scan begins</p> Signup and view all the answers

    What is the key difference between a Local Secondary Index (LSI) and a Global Secondary Index (GSI) in DynamoDB?

    <p>An LSI has the same partition key as the table, while a GSI has a different partition key</p> Signup and view all the answers

    What is one optimization technique to improve the performance of query or scan operations in DynamoDB?

    <p>Setting a smaller page size to use fewer read operations</p> Signup and view all the answers

    What is the primary difference between a Scan and a Query operation in DynamoDB?

    <p>A Scan operation returns all attributes, while a Query operation returns only specified attributes</p> Signup and view all the answers

    What happens when your DynamoDB access pattern exceeds the provisioned throughput for a single partition key value?

    <p>Your requests may be throttled, potentially leading to delays or failures.</p> Signup and view all the answers

    What is the primary difference between eventually consistent reads and strongly consistent reads in DynamoDB?

    <p>Eventually consistent reads are faster but may return stale data, while strongly consistent reads ensure the latest data is returned, potentially with a slight performance penalty.</p> Signup and view all the answers

    Which of the following is NOT a characteristic of DynamoDB Transactions?

    <p>Transactions always execute successfully, ensuring no data loss or inconsistency.</p> Signup and view all the answers

    What is the primary purpose of the 'ProjectionExpression' parameter in the Scan API?

    <p>To specify the specific attributes that should be returned by the Scan operation.</p> Signup and view all the answers

    Which of the following statements about DynamoDB Global Tables is correct?

    <p>Global tables replicate data across multiple regions, ensuring high availability and low latency for users around the world.</p> Signup and view all the answers

    Which of the following operations can be used to enable or modify a DynamoDB Stream?

    <p>UpdateTable</p> Signup and view all the answers

    Which statement is TRUE regarding DynamoDB's Provisioned Capacity mode and Auto Scaling?

    <p>Auto Scaling allows for automatic adjustments to provisioned capacity based on the utilization rate.</p> Signup and view all the answers

    What is the primary purpose of DynamoDB Accelerator (DAX)?

    <p>To provide a fully managed, in-memory cache for DynamoDB tables, primarily improving read performance.</p> Signup and view all the answers

    What is a key difference between DynamoDB's On-Demand Capacity and Provisioned Capacity modes?

    <p>Provisioned Capacity requires specifying the number of Read and Write Capacity Units, while On-Demand Capacity does not.</p> Signup and view all the answers

    If the provisioned capacity for a DynamoDB table is exceeded, what error might you encounter?

    <p>ProvisionedThroughputExceededException</p> Signup and view all the answers

    Which statement accurately describes the relationship between write capacity units (WCUs) and replicated write capacity units (rWCUs) in DynamoDB?

    <p>WCUs represent the total write capacity for a table, while rWCUs represent the write capacity available for each replica in a global table.</p> Signup and view all the answers

    What is a common reason to encounter throttling in DynamoDB?

    <p>Insufficient read capacity units (RCUs) for the table.</p> Signup and view all the answers

    Which of the following is NOT a benefit of using Exponential Backoff for DynamoDB requests?

    <p>Reduced latency by quickly retrying failed requests</p> Signup and view all the answers

    What is the primary function of a DynamoDB stream?

    <p>To store a time-ordered sequence of item-level modifications in a DynamoDB table</p> Signup and view all the answers

    What happens to expired items in DynamoDB when TTL is enabled?

    <p>They are deleted within 48 hours of expiration, and also removed from local and global secondary indexes.</p> Signup and view all the answers

    Which of the following is a recommended practice for handling large objects in DynamoDB?

    <p>Store large objects in S3 and store pointers (S3 object IDs) in DynamoDB.</p> Signup and view all the answers

    What is the primary benefit of using Optimistic Locking in DynamoDB?

    <p>It protects database writes from being overwritten by concurrent updates from other clients.</p> Signup and view all the answers

    When using DynamoDB, how can you improve the performance of read operations for infrequently changed data?

    <p>Employ ElastiCache as a caching layer in front of DynamoDB.</p> Signup and view all the answers

    Which of the following describes the structure of items in DynamoDB?

    <p>Items are collections of attributes with names and values.</p> Signup and view all the answers

    What is a characteristic of the data storage in DynamoDB?

    <p>Data is stored on SSD storage with multi-AZ redundancy.</p> Signup and view all the answers

    Which access control method is utilized by DynamoDB?

    <p>IAM for identity-based access control only.</p> Signup and view all the answers

    What happens to items larger than 400KB in DynamoDB?

    <p>They can be stored as pointers to S3 objects.</p> Signup and view all the answers

    Which of the following describes the scaling capabilities of DynamoDB?

    <p>Scaling can be done on-the-fly without downtime.</p> Signup and view all the answers

    What benefit does the multi-AZ architecture of DynamoDB provide?

    <p>Guaranteed durability and availability of data.</p> Signup and view all the answers

    What is the primary purpose of DynamoDB global tables?

    <p>To provide a distributed, multi-region, multi-master database for massively scaled applications.</p> Signup and view all the answers

    Which of the following statements about DynamoDB global tables is correct?

    <p>Global tables require applications to perform all strongly consistent reads and writes in the same region, regardless of the region used for other operations.</p> Signup and view all the answers

    What is the primary benefit of using DynamoDB auto scaling for global tables?

    <p>It automatically adjusts provisioned capacity based on traffic patterns, preventing throttling and ensuring optimal performance.</p> Signup and view all the answers

    When considering high availability approaches for databases, why is DynamoDB preferred over RDS?

    <p>DynamoDB provides built-in fault tolerance, while RDS requires additional configuration for high availability.</p> Signup and view all the answers

    Which of the following is NOT a benefit of using DynamoDB over RDS?

    <p>DynamoDB offers more advanced features for data analysis and reporting than RDS.</p> Signup and view all the answers

    What must be true for strongly consistent reads and writes in DynamoDB global tables?

    <p>All strongly consistent operations must be performed within the same AWS region.</p> Signup and view all the answers

    What is the primary reason for specifying the same or more RCU/WCU in a GSI as in the main table?

    <p>To ensure that the GSI can handle the same volume of write requests as the main table.</p> Signup and view all the answers

    Which of the following statements about DynamoDB Auto Scaling is correct?

    <p>Auto Scaling only scales provisioned capacity upwards, automatically increasing capacity during peak traffic.</p> Signup and view all the answers

    In a scenario where DynamoDB cannot be used, what is the suggested alternative for a highly available database?

    <p>Amazon Aurora</p> Signup and view all the answers

    What should you consider if using RDS to ensure data protection against failures?

    <p>Creating frequent snapshots to minimize data loss.</p> Signup and view all the answers

    What is the key characteristic of a schema-less database like DynamoDB?

    <p>It has no schema</p> Signup and view all the answers

    What is the benefit of using Multi-AZ redundancy in DynamoDB?

    <p>It provides higher availability and data durability</p> Signup and view all the answers

    What is the primary use case for DynamoDB?

    <p>Storing session state data</p> Signup and view all the answers

    What is the purpose of IAM in DynamoDB?

    <p>To manage access control and authentication</p> Signup and view all the answers

    What is the benefit of using push-button scaling in DynamoDB?

    <p>It allows for easy scaling without downtime</p> Signup and view all the answers

    What is the data structure supported by DynamoDB?

    <p>Both key-value and document</p> Signup and view all the answers

    What is the main difference between a Scan and a Query operation in DynamoDB?

    <p>A Scan operation filters out unwanted data, while a Query operation returns all data that matches the query criteria.</p> Signup and view all the answers

    What is the purpose of an Index in DynamoDB?

    <p>To enable fast queries on specific columns</p> Signup and view all the answers

    What is the advantage of using a Global Secondary Index (GSI) over a Local Secondary Index (LSI)?

    <p>A GSI has a different partition key and sort key than the main table, while an LSI has the same partition key.</p> Signup and view all the answers

    What is the effect of setting the ConsistentRead parameter to true in a Scan operation?

    <p>The Scan operation returns a strongly consistent read.</p> Signup and view all the answers

    What is the purpose of setting a smaller page size in a Query or Scan operation?

    <p>To reduce the number of read operations</p> Signup and view all the answers

    What is the characteristic of a Local Secondary Index (LSI)?

    <p>It provides an alternative sort key to use for scans and queries.</p> Signup and view all the answers

    What happens when the provisioned throughput for a single partition key value exceeds 3000 RCU or 1000 WCU?

    <p>Requests might be throttled, preventing access to the table.</p> Signup and view all the answers

    Which of the following statements about DynamoDB transactions is TRUE?

    <p>Transactions provide ACID properties (atomicity, consistency, isolation, durability).</p> Signup and view all the answers

    How can you improve the performance of a Scan operation on a large table?

    <p>Utilize the ProjectionExpression parameter to only return specific attributes.</p> Signup and view all the answers

    Which of the following is NOT a best practice for optimizing partition keys in DynamoDB?

    <p>Minimize the number of distinct partition key values to improve performance.</p> Signup and view all the answers

    What is the primary purpose of the 'Segment' and 'TotalSegments' parameters in the Scan API?

    <p>To partition the Scan operation across multiple threads for parallel processing.</p> Signup and view all the answers

    Which of the following statements about DynamoDB eventually consistent reads is TRUE?

    <p>Eventually consistent reads offer lower latency than strongly consistent reads.</p> Signup and view all the answers

    What is the primary purpose of the StreamViewType parameter in the DynamoDB Stream configuration?

    <p>It specifies the type of data that will be written to the stream when data in the table is modified.</p> Signup and view all the answers

    Which of the following scenarios is NOT a recommended best practice for optimizing DynamoDB performance?

    <p>Store all data in a single table for easy access and management.</p> Signup and view all the answers

    When a DynamoDB request is throttled due to exceeding provisioned capacity, what HTTP status code is returned?

    <p>400 Bad Request</p> Signup and view all the answers

    How does DynamoDB ensure data consistency during concurrent writes to the same item?

    <p>By using optimistic locking to prevent overwrites based on the item's last modified timestamp.</p> Signup and view all the answers

    What is the primary function of DynamoDB streams?

    <p>To capture a time-ordered sequence of item-level modifications in DynamoDB tables.</p> Signup and view all the answers

    What is the primary purpose of Exponential Backoff when retrying failed requests in the AWS SDK?

    <p>To prevent excessive load on the server by progressively increasing the time between retries.</p> Signup and view all the answers

    Which of the following statements about DynamoDB On-Demand Capacity is TRUE?

    <p>It provides a pay-per-use pricing model where you are charged based on actual usage.</p> Signup and view all the answers

    In DynamoDB, what happens when the configured RCU or WCU are exceeded?

    <p>The application may experience throttling, resulting in the <code>ProvisionedThroughputExceededException</code> error.</p> Signup and view all the answers

    Which of the following is a key advantage of using DynamoDB Accelerator (DAX)?

    <p>It simplifies application development by eliminating the need to modify code for caching interactions.</p> Signup and view all the answers

    What is the primary purpose of DynamoDB Time To Live (TTL)?

    <p>To automatically delete expired items in DynamoDB, reducing storage costs and improving performance.</p> Signup and view all the answers

    Which of the following statements about DynamoDB Global Secondary Indexes (GSIs) is TRUE?

    <p>They allow for querying data based on attributes that are not part of the primary key, offering flexibility in data retrieval.</p> Signup and view all the answers

    What is a major consideration when using provisioned capacity for a DynamoDB table with a Global Secondary Index (GSI)?

    <p>The GSI should have the same or higher RCU/WCU as the main table to prevent throttling on the main table.</p> Signup and view all the answers

    Which of the following is a benefit of using DynamoDB over RDS?

    <p>DynamoDB provides inherent fault tolerance.</p> Signup and view all the answers

    When using DynamoDB Global Tables, what happens to provisioned capacity when the workload decreases?

    <p>Provisioned capacity automatically scales down to reduce costs.</p> Signup and view all the answers

    What is a recommended alternative to DynamoDB if it cannot be used for a database deployment?

    <p>Amazon Aurora</p> Signup and view all the answers

    What is the primary purpose of specifying identical write capacity settings for each replica table and secondary index within a DynamoDB Global Table?

    <p>To maintain consistent data across all replicas.</p> Signup and view all the answers

    Which statement accurately describes the behavior of DynamoDB Global Tables with regards to strongly consistent reads?

    <p>Strongly consistent reads are only supported within a single AWS region.</p> Signup and view all the answers

    Which of the following is NOT a valid use case for DynamoDB Global Tables?

    <p>A data warehousing system for storing historical analytics data.</p> Signup and view all the answers

    What is the primary difference between eventually consistent reads and strongly consistent reads in DynamoDB Global Tables?

    <p>Eventually consistent reads may return stale data, while strongly consistent reads return the most recent data.</p> Signup and view all the answers

    Which of the following is a recommended approach for achieving high availability (HA) when deploying a database on EC2 instances?

    <p>Design and implement HA solutions manually using EC2 instances and appropriate software.</p> Signup and view all the answers

    What is the primary benefit of using DynamoDB Auto Scaling for provisioned capacity?

    <p>It eliminates the need for manual capacity adjustments.</p> Signup and view all the answers

    In a DynamoDB Global Table, what happens if the provisioned capacity for a table becomes zero?

    <p>All write operations will be throttled until capacity is increased.</p> Signup and view all the answers

    What is the primary purpose of using Exponential Backoff in DynamoDB?

    <p>To improve flow control and prevent overload</p> Signup and view all the answers

    What happens to deleted items in DynamoDB after TTL expiration?

    <p>They are deleted from the LSI / GSI</p> Signup and view all the answers

    What is the benefit of using a dedicated endpoint for DynamoDB Streams?

    <p>It provides a log of item-level modifications</p> Signup and view all the answers

    What is a recommended practice when working with large objects in DynamoDB?

    <p>Use pointers to store them in S3</p> Signup and view all the answers

    What is the primary purpose of Optimistic Locking in DynamoDB?

    <p>To prevent overwrite of data by concurrent updates</p> Signup and view all the answers

    What is the primary benefit of using DynamoDB Accelerator (DAX)?

    <p>Faster read performance for infrequently changed data</p> Signup and view all the answers

    What is the primary benefit of using DynamoDB global tables for massively scaled applications?

    <p>To provide low-latency data access to globally dispersed users</p> Signup and view all the answers

    What is a requirement for strongly consistent reads in a DynamoDB global table?

    <p>Performing all reads and writes in the same region</p> Signup and view all the answers

    What happens if the provisioned capacity for a DynamoDB table becomes zero?

    <p>DynamoDB does not scale down provisioned capacity to zero</p> Signup and view all the answers

    What is the primary reason for specifying the same write capacity settings for each replica table in a DynamoDB global table?

    <p>To ensure proper replication of data across regions</p> Signup and view all the answers

    What is the benefit of using DynamoDB auto scaling for a table or a global secondary index?

    <p>To dynamically adjust provisioned throughput capacity in response to actual traffic patterns</p> Signup and view all the answers

    In a scenario where DynamoDB cannot be used, what is the suggested alternative?

    <p>All of the above</p> Signup and view all the answers

    What is the primary difference between eventually consistent reads and strongly consistent reads in DynamoDB?

    <p>Eventual consistency returns stale data, while strong consistency returns up-to-date data</p> Signup and view all the answers

    What should be identical for proper replication in DynamoDB global tables?

    <p>Write capacity settings</p> Signup and view all the answers

    What is the purpose of frequent RDS snapshots?

    <p>To protect against data corruption or failure</p> Signup and view all the answers

    What is the primary benefit of using DynamoDB over RDS?

    <p>DynamoDB has inherent fault tolerance</p> Signup and view all the answers

    You are working on a DynamoDB table with a Global Secondary Index (GSI) that experiences frequent write throttling. What is the most likely cause of this throttling, and what is the recommended solution?

    <p>The main table's write capacity is exceeding the GSI's write capacity, and you should increase the provisioned WCUs for the main table to match or exceed the GSI's WCUs.</p> Signup and view all the answers

    Your application uses DynamoDB's On-Demand Capacity mode and experiences a sudden surge in write requests. Which statement best describes the impact of this surge on your application and costs?

    <p>DynamoDB will automatically scale up to accommodate the surge in write requests, ensuring minimal performance impact, but you will incur higher costs for the increased capacity.</p> Signup and view all the answers

    Which scenario would benefit the most from using DynamoDB Accelerator (DAX) for a DynamoDB table?

    <p>A table with a very high read volume and infrequent write requests, especially during peak traffic periods.</p> Signup and view all the answers

    You are designing a DynamoDB table that will store frequently updated customer profiles, with a requirement for low latency reads for displaying customer information on a web application. Which DynamoDB feature would be most effective in improving the read performance for this use case?

    <p>Leveraging DynamoDB Accelerator (DAX) to cache frequently accessed customer profile data.</p> Signup and view all the answers

    You have a DynamoDB table with a Global Secondary Index (GSI) that is experiencing write throttling. You have increased the provisioned write capacity units (WCUs) for the GSI to address this issue. What potential consequence should you be aware of regarding the main table?

    <p>The increased WCUs for the GSI may cause the main table to experience write throttling, even if the main table's provisioned WCUs are sufficient.</p> Signup and view all the answers

    You are using DynamoDB's Provisioned Capacity mode for your application. Your application experiences a sudden and unexpected spike in write requests, exceeding the provisioned write capacity units (WCUs). Which of the following statements accurately describes the immediate impact on your application?

    <p>Your application will experience a temporary performance degradation as write requests are throttled, but DynamoDB will not automatically scale up the provisioned capacity.</p> Signup and view all the answers

    What happens when you set the ConsistentRead parameter to true during a query operation?

    <p>You obtain a strongly consistent read of the data at the time the query begins.</p> Signup and view all the answers

    Which option describes a key difference between a Local Secondary Index (LSI) and a Global Secondary Index (GSI)?

    <p>LSI uses the same partition key but a different sort key compared to the main table.</p> Signup and view all the answers

    What is the primary reason to avoid using scan operations on large tables?

    <p>They consume a significant amount of provisioned throughput in a single operation.</p> Signup and view all the answers

    When using the ProjectionExpression parameter in a query, what effect does it have?

    <p>It restricts the attributes returned for each item to those specified in the expression.</p> Signup and view all the answers

    In what situation should you consider using parallel scans in DynamoDB?

    <p>There is minimal read/write activity on the table or index being scanned.</p> Signup and view all the answers

    Which of the following statements regarding the usage of indexes in DynamoDB is correct?

    <p>Indexes can only be created at the time of table creation and not later.</p> Signup and view all the answers

    What happens if your read requests exceed 3000 RCU for a single partition key value in DynamoDB?

    <p>Your requests might be throttled.</p> Signup and view all the answers

    Which of the following statements about partition management in DynamoDB is correct?

    <p>DynamoDB automatically manages the allocation and replication of partitions.</p> Signup and view all the answers

    What is the primary function of the transaction write API in DynamoDB?

    <p>To simplify grouping multiple actions into a single operation that either succeeds or fails as a whole.</p> Signup and view all the answers

    In DynamoDB, what is the effect of using the ProjectionExpression parameter during a Scan operation?

    <p>It restricts the returned attributes to only those specified.</p> Signup and view all the answers

    How does DynamoDB handle strongly consistent reads compared to eventually consistent reads?

    <p>Strongly consistent reads can be configured but are slower than eventually consistent reads.</p> Signup and view all the answers

    What is required for an item in a DynamoDB table that uses a composite primary key?

    <p>It must include both a partition key and a sort key.</p> Signup and view all the answers

    In what scenario would Amazon DynamoDB be considered a suitable option for a specific database solution?

    <p>A database that requires a high level of write throughput and low latency for an application with millions of users.</p> Signup and view all the answers

    What is the primary reason why Amazon DynamoDB might not be an ideal choice for a database that requires granular access control based on user roles and permissions?

    <p>DynamoDB's lack of support for resource-based policies, relying solely on identity-based policies.</p> Signup and view all the answers

    Which of the following scenarios BEST exemplifies an anti-pattern for using Amazon DynamoDB as a primary database solution?

    <p>Maintaining a database for a banking application that involves complex transactions and stringent data consistency requirements.</p> Signup and view all the answers

    What is a critical consideration when deciding whether to use Amazon DynamoDB for an application that requires storing large objects exceeding the 400KB item size limit?

    <p>The feasibility of using a combination of DynamoDB and Amazon S3 to store and manage the large objects.</p> Signup and view all the answers

    In a scenario where an application requires a database solution that prioritizes high availability and data durability, with a strong emphasis on ensuring that all writes are reflected consistently across multiple geographical regions, which of the following would be the most suitable approach?

    <p>Leverage DynamoDB's Global Tables feature, which enables low-latency data access across multiple regions while ensuring strong consistency.</p> Signup and view all the answers

    Which statement accurately describes a key difference between Amazon DynamoDB's Local Secondary Indexes (LSIs) and Global Secondary Indexes (GSIs)?

    <p>GSIs can be used to index attributes that are not part of the primary key, providing flexibility for querying data based on different criteria, while LSIs are restricted to indexing attributes within the primary key.</p> Signup and view all the answers

    What is the primary resource in DynamoDB?

    <p>Tables</p> Signup and view all the answers

    What is the main advantage of using DynamoDB's push button scaling?

    <p>It eliminates downtime during scaling</p> Signup and view all the answers

    What is the purpose of Multi-AZ redundancy in DynamoDB?

    <p>To provide high availability and data durability</p> Signup and view all the answers

    What type of data structures does DynamoDB support?

    <p>Both key-value and document structures</p> Signup and view all the answers

    What is the purpose of IAM in DynamoDB?

    <p>To manage access control and authentication</p> Signup and view all the answers

    What is the characteristic of a key-value database in DynamoDB?

    <p>A key serves as a unique identifier for a value</p> Signup and view all the answers

    What is the main difference between a Scan and a Query operation in DynamoDB?

    <p>A Scan retrieves all items from a table, while a Query retrieves items based on a specific key.</p> Signup and view all the answers

    What is the purpose of a Local Secondary Index (LSI) in DynamoDB?

    <p>To provide an alternative sort key for queries and scans, allowing for efficient retrieval of data based on different criteria.</p> Signup and view all the answers

    Which of the following is NOT a characteristic of a Global Secondary Index (GSI)?

    <p>It is local to the hash key of the main table, providing a specific view within the same partition.</p> Signup and view all the answers

    Which of the following is NOT a valid parameter to optimize query or scan operations in DynamoDB?

    <p>SortKeyCondition</p> Signup and view all the answers

    What parameter must be set for a query to return strongly consistent reads?

    <p>ConsistentRead</p> Signup and view all the answers

    Which of the following statements accurately describes the key difference between eventually consistent reads and strongly consistent reads in DynamoDB?

    <p>Eventually consistent reads are faster than strongly consistent reads but may lead to inconsistent data, while strongly consistent reads are slower but guarantee data consistency.</p> Signup and view all the answers

    What is the main reason to specify at least the same, or more, RCU/WCU in a GSI as in the main table?

    <p>To avoid throttling on the main table due to writes on the GSI.</p> Signup and view all the answers

    Which of the following is a benefit of using DynamoDB Provisioned Capacity with Auto Scaling?

    <p>It allows for flexible scaling of capacity based on application usage patterns.</p> Signup and view all the answers

    What is the primary purpose of DynamoDB Accelerator (DAX)?

    <p>To enhance the read performance of DynamoDB tables by caching data in memory.</p> Signup and view all the answers

    What is the main difference between DynamoDB On-Demand Capacity and Provisioned Capacity?

    <p>On-Demand Capacity allows for more flexibility in scaling than Provisioned Capacity.</p> Signup and view all the answers

    What is one key benefit of using a Local Secondary Index (LSI)?

    <p>LSIs can be used to query data based on attributes that are not the partition key.</p> Signup and view all the answers

    How does a Global Secondary Index (GSI) differ from a Local Secondary Index (LSI)?

    <p>GSIs are stored in a separate table and are globally available, while LSIs are stored in the same table as the primary key and are not globally available.</p> Signup and view all the answers

    What is the primary purpose of primary keys in DynamoDB?

    <p>To ensure the uniqueness of the data items</p> Signup and view all the answers

    What happens to throughput if access patterns exceed the limits for a single partition key value?

    <p>Requests may be throttled</p> Signup and view all the answers

    Which type of read is configured by default in DynamoDB?

    <p>Eventually consistent reads</p> Signup and view all the answers

    What is one major advantage of using the TransactWriteItems operation in DynamoDB?

    <p>It provides atomicity and durability across multiple items</p> Signup and view all the answers

    What is required to execute a parallel Scan operation in DynamoDB?

    <p>The Segment and TotalSegments parameters must be provided</p> Signup and view all the answers

    Which factor does DynamoDB use to distribute read and write capacity efficiently?

    <p>Provisioned throughput across partitions</p> Signup and view all the answers

    What benefit does TTL provide in DynamoDB?

    <p>It helps to reduce storage and manage table size over time.</p> Signup and view all the answers

    What primary data does DynamoDB Streams capture?

    <p>The item-level modifications in any DynamoDB table.</p> Signup and view all the answers

    What happens if an application exceeds the provisioned throughput in DynamoDB?

    <p>Requests are throttled and can result in a Bad Request error.</p> Signup and view all the answers

    What is the purpose of Exponential Backoff in AWS SDKs?

    <p>To improve flow control by waiting longer between retries.</p> Signup and view all the answers

    Which of the following is a best practice when manipulating large objects in DynamoDB?

    <p>Use S3 to store large objects and reference them in DynamoDB.</p> Signup and view all the answers

    What does optimistic locking protect against in DynamoDB?

    <p>Concurrent updates overriding changes unexpectedly.</p> Signup and view all the answers

    Which of the following is a characteristic of DynamoDB global tables?

    <p>Enables low-latency data access for globally dispersed users.</p> Signup and view all the answers

    What is the primary purpose of DynamoDB Auto Scaling?

    <p>To adjust provisioned throughput capacity based on actual traffic patterns.</p> Signup and view all the answers

    Which database option is recommended for high availability if DynamoDB is not feasible?

    <p>Multi-AZ RDS</p> Signup and view all the answers

    When is it necessary to modify your application for DynamoDB global tables?

    <p>When using strongly consistent reads across multiple regions.</p> Signup and view all the answers

    What is a significant advantage of using DynamoDB over RDS for high availability?

    <p>DynamoDB provides built-in fault tolerance and self-healing capabilities.</p> Signup and view all the answers

    Which of the following actions is NOT supported in DynamoDB global tables?

    <p>Deleting a replica table without impacting other replica tables in the global table.</p> Signup and view all the answers

    Which of the following statements about DynamoDB Auto Scaling is correct?

    <p>Auto Scaling is enabled by default when creating a table or global secondary index using the AWS Management Console.</p> Signup and view all the answers

    What is the primary reason for specifying identical write capacity settings for replica tables and secondary indexes in a global table?

    <p>To ensure proper data replication and consistency across all replica tables.</p> Signup and view all the answers

    Which of the following scenarios would NOT require a modification to your application when using DynamoDB global tables?

    <p>Reading data from a replica table in a different AWS region using eventually consistent reads.</p> Signup and view all the answers

    Which of the following is the MOST reliable approach for database high availability when DynamoDB is not an option?

    <p>Multi-AZ RDS</p> Signup and view all the answers

    What is the primary advantage of using a Local Secondary Index (LSI) in DynamoDB?

    <p>It provides an alternative range key local to the partition key.</p> Signup and view all the answers

    Which statement regarding query operations in DynamoDB is incorrect?

    <p>Query operations require a complete table scan to filter results.</p> Signup and view all the answers

    What happens to the main table if writes are throttled on a Global Secondary Index (GSI)?

    <p>The main table will be throttled, even if there's sufficient WCU capacity allocated.</p> Signup and view all the answers

    What is a significant drawback of using the Scan operation in DynamoDB as opposed to the Query operation?

    <p>Scan operations take longer and use more provisioned throughput.</p> Signup and view all the answers

    Why is it recommended to have the same or more RCU/WCU specified in your GSI as in your main table?

    <p>To avoid throttling on the main table due to capacity constraints on the GSI.</p> Signup and view all the answers

    Why might you want to avoid parallel scans when using a DynamoDB table that is experiencing heavy read/write activity?

    <p>Parallel scans can lead to increased latency for all read/write operations.</p> Signup and view all the answers

    In which scenario is DynamoDB On-Demand Capacity a more suitable choice than Provisioned Capacity?

    <p>When the application has a highly variable workload, with unpredictable spikes in traffic.</p> Signup and view all the answers

    What is the primary purpose of enabling Time To Live (TTL) in DynamoDB?

    <p>To automatically expire and delete items based on a predefined time limit.</p> Signup and view all the answers

    Which statement is true regarding Global Secondary Indexes (GSIs) in DynamoDB?

    <p>GSIs create a new table with different partition and sort keys.</p> Signup and view all the answers

    What happens if you do not set the 'ScanIndexForward' parameter for a query operation in DynamoDB?

    <p>Results will be returned in ascending order by default.</p> Signup and view all the answers

    Which of the following is NOT a benefit of using DynamoDB Accelerator (DAX)?

    <p>Offers significant performance improvement for write operations, achieving a 10x speedup.</p> Signup and view all the answers

    Which of the following is NOT a recommended best practice for optimizing DynamoDB performance?

    <p>Store large objects directly in DynamoDB, even if they exceed the 400KB limit.</p> Signup and view all the answers

    What is the primary function of DynamoDB Time To Live (TTL) feature?

    <p>It provides a mechanism to automatically delete expired data based on a defined time frame.</p> Signup and view all the answers

    In the context of DynamoDB, what is the primary difference between a Local Secondary Index (LSI) and a Global Secondary Index (GSI)?

    <p>An LSI is used for indexing non-key attributes within the same partition, while a GSI allows indexing across multiple partitions.</p> Signup and view all the answers

    What is the primary purpose of DynamoDB Streams?

    <p>To provide a mechanism for auditing and tracking changes made to data in a DynamoDB table.</p> Signup and view all the answers

    Which of the following scenarios would benefit the MOST from using DynamoDB On-Demand Capacity?

    <p>A mobile gaming app with highly variable player engagement, experiencing spikes during promotions.</p> Signup and view all the answers

    Which of the following is NOT a valid use case for DynamoDB Transactions?

    <p>Ensuring data consistency across multiple regions in a global table.</p> Signup and view all the answers

    What happens to a DynamoDB table when the provisioned capacity for the table is exhausted?

    <p>The table continues to function, but read and write requests may be throttled.</p> Signup and view all the answers

    Which statement describes the data organization structure in Amazon DynamoDB?

    <p>Items are composed of attributes that contain keys and associated values.</p> Signup and view all the answers

    What feature allows DynamoDB to ensure high availability and durability of data?

    <p>Geographically distributed replicas of each table across three availability zones.</p> Signup and view all the answers

    What limitation exists when working with items in DynamoDB?

    <p>The aggregate size of an item, including its keys and all attributes, cannot exceed 400KB.</p> Signup and view all the answers

    Which access control mechanism does DynamoDB solely rely on for authorization?

    <p>Identity-based policies managed through IAM for user access control.</p> Signup and view all the answers

    How can data be efficiently stored in DynamoDB when it exceeds the maximum item size limit?

    <p>Using S3 pointers to link large items that cannot be stored directly in DynamoDB.</p> Signup and view all the answers

    Which of the following statements accurately reflects DynamoDB's data storage and access model?

    <p>DynamoDB primarily operates as a key-value and document database service.</p> Signup and view all the answers

    What is a crucial factor for DynamoDB when allocating additional partitions to a table?

    <p>Exceeding provisioned throughput requirements</p> Signup and view all the answers

    Which of the following statements correctly describes the Scan operation in DynamoDB?

    <p>It accesses every item in the table regardless of specific filters.</p> Signup and view all the answers

    In which scenarios is it essential to use a strongly consistent read in DynamoDB?

    <p>When the application requires real-time data accuracy</p> Signup and view all the answers

    What is the effect of using a Composite key in DynamoDB?

    <p>It enables the grouping of items by multiple attributes.</p> Signup and view all the answers

    What occurs during the transaction process in DynamoDB?

    <p>Each operation must succeed for the entire transaction to be valid.</p> Signup and view all the answers

    What can negatively impact DynamoDB's throughput for a single partition key value?

    <p>Access patterns exceeding 3000 RCU or 1000 WCU</p> Signup and view all the answers

    What is the effect of using strongly consistent reads across different AWS regions in DynamoDB global tables?

    <p>They must be confined to a single region for consistency.</p> Signup and view all the answers

    Which of the following statements accurately describes the replication capabilities of DynamoDB global tables?

    <p>All replica tables must contain the same data items as the primary table.</p> Signup and view all the answers

    When provisioning capacity for DynamoDB global tables, what should be ensured for proper operation?

    <p>The same write capacity settings must be identical for all replica tables and secondary indexes.</p> Signup and view all the answers

    In what scenario does DynamoDB auto scaling NOT decrease the provisioned capacity?

    <p>When the consumed capacity drops to zero.</p> Signup and view all the answers

    Which of the following alternatives is suggested if DynamoDB is not a viable option?

    <p>Use RDS with Multi-AZ deployment for redundancy.</p> Signup and view all the answers

    What is one key limitation of the DynamoDB auto scaling process?

    <p>It does not automatically scale down provisioned capacity if usage declines.</p> Signup and view all the answers

    Which characteristic makes DynamoDB a preferable choice over RDS in database architectures?

    <p>Enhanced fault tolerance that supports automatic failovers.</p> Signup and view all the answers

    When a global table is created in DynamoDB, what significant task does DynamoDB automatically perform?

    <p>Creates identical tables and manages data change propagation.</p> Signup and view all the answers

    What happens to provisioned capacity when sudden traffic increases occur in a DynamoDB table?

    <p>Auto scaling increases the provisioned throughput to match demand.</p> Signup and view all the answers

    For which data access requirements are DynamoDB global tables particularly beneficial?

    <p>Applications requiring high-frequency reads and minimal latency.</p> Signup and view all the answers

    Study Notes

    Amazon DynamoDB Overview

    • Fully managed NoSQL database service offering fast, predictable performance with seamless scalability.
    • Stores three geographically distributed replicas of each table to ensure high availability and data durability.
    • Synchronously replicates data across 3 facilities (Availability Zones) in a region.

    Database Characteristics

    • Schema-less and non-relational, functioning as a key-value and document database.
    • Serverless architecture; no instances to provision or manage.
    • Supports push button scaling to adjust database capacity without downtime.

    Data Storage

    • Data stored on SSDs, providing very low latency.
    • Aggregate size of a single item is limited to 400KB, including keys and attributes.
    • Can store pointers to S3 objects exceeding 400KB.

    Data Structure

    • Tables consist of items; items are composed of attributes (fields/columns).
    • Primary keys determine how data is stored and retrieved:
      • Partition key: A unique attribute (e.g., user ID).
      • Composite key: Combination of partition key and sort key.

    Partitions

    • Data is stored in partitions, automatically managed by DynamoDB.
    • Throttling may occur if access patterns exceed 3,000 read capacity units (RCUs) or 1,000 write capacity units (WCUs) for a single partition key value.

    Consistency Models

    • Two reading consistency types:
      • Eventually consistent reads: Default mode, offers lower latency.
      • Strongly consistent reads: Ensures the latest data, configurable via API parameters.

    Transactions

    • Supports ACID transactions for coordinated changes across multiple items and tables.
    • Uses a transaction write API for grouped operations.

    API Operations

    • Scan: Reads items and attributes by examining the entire table; can be resource-intensive.
      • Can optimize using ProjectionExpression and filter expressions.
    • Query: Searches for items based on primary key attributes with better performance than a scan.

    Indexing

    • Two types of indexes enhance query efficiency:
      • Local Secondary Index (LSI): Alternative sort key local to the partition key, limited to five per table.
      • Global Secondary Index (GSI): Different partition and sort keys for queries, can be created later.

    Capacity Management

    • Provisioned Capacity: Users specify RCU and WCU based on expected traffic, can utilize auto scaling.
    • On-demand Capacity: Automatically adjusts based on actual workload, ideal for unpredictable traffic.

    Performance Optimization

    • Throttling occurs if provision limits are exceeded; AWS SDKs automatically retry failed requests.
    • Use DynamoDB Accelerator (DAX) for in-memory caching, enhancing read performance significantly.

    Data TTL and Streams

    • Time To Live (TTL): Automatically deletes expired items without extra costs or resource usage.
    • DynamoDB Streams: Captures item-level modifications for 24 hours, allowing near real-time event processing (e.g., via AWS Lambda).

    Security and Best Practices

    • Uses IAM for authentication and access control; supports identity-based policies.
    • Recommendations include keeping item sizes small, and separating frequently and infrequently accessed data.

    Scalability and Global Tables

    • Global Tables: Multi-region, multi-master configuration for global applications, ensuring low-latency data access.
    • Supports automatic replication without partial item support; strongly consistent reads require operations within the same region.### Application Auto Scaling
    • Auto Scaling does not automatically reduce provisioned capacity when consumed capacity reaches zero.
    • Enabling DynamoDB auto scaling occurs by default when creating a table or global secondary index via the AWS Management Console.

    High Availability Approaches for Databases

    • Prefer DynamoDB over RDS due to its built-in fault tolerance.
    • If DynamoDB is not an option, Amazon Aurora offers redundancy and automatic recovery, making it a strong alternative.
    • In scenarios where neither DynamoDB nor Aurora is suitable, selecting Multi-AZ RDS provides enhanced availability.
    • Regular RDS snapshots serve as a protection measure against data corruption or failure, with minimal performance impact in Multi-AZ deployments.
    • Regional replication is available but lacks strong consistency guarantees.
    • For databases hosted on EC2, high availability designs must be implemented manually.

    Amazon DynamoDB Overview

    • Fully managed NoSQL database service offering fast, predictable performance with seamless scalability.
    • Stores three geographically distributed replicas of each table to ensure high availability and data durability.
    • Synchronously replicates data across 3 facilities (Availability Zones) in a region.

    Database Characteristics

    • Schema-less and non-relational, functioning as a key-value and document database.
    • Serverless architecture; no instances to provision or manage.
    • Supports push button scaling to adjust database capacity without downtime.

    Data Storage

    • Data stored on SSDs, providing very low latency.
    • Aggregate size of a single item is limited to 400KB, including keys and attributes.
    • Can store pointers to S3 objects exceeding 400KB.

    Data Structure

    • Tables consist of items; items are composed of attributes (fields/columns).
    • Primary keys determine how data is stored and retrieved:
      • Partition key: A unique attribute (e.g., user ID).
      • Composite key: Combination of partition key and sort key.

    Partitions

    • Data is stored in partitions, automatically managed by DynamoDB.
    • Throttling may occur if access patterns exceed 3,000 read capacity units (RCUs) or 1,000 write capacity units (WCUs) for a single partition key value.

    Consistency Models

    • Two reading consistency types:
      • Eventually consistent reads: Default mode, offers lower latency.
      • Strongly consistent reads: Ensures the latest data, configurable via API parameters.

    Transactions

    • Supports ACID transactions for coordinated changes across multiple items and tables.
    • Uses a transaction write API for grouped operations.

    API Operations

    • Scan: Reads items and attributes by examining the entire table; can be resource-intensive.
      • Can optimize using ProjectionExpression and filter expressions.
    • Query: Searches for items based on primary key attributes with better performance than a scan.

    Indexing

    • Two types of indexes enhance query efficiency:
      • Local Secondary Index (LSI): Alternative sort key local to the partition key, limited to five per table.
      • Global Secondary Index (GSI): Different partition and sort keys for queries, can be created later.

    Capacity Management

    • Provisioned Capacity: Users specify RCU and WCU based on expected traffic, can utilize auto scaling.
    • On-demand Capacity: Automatically adjusts based on actual workload, ideal for unpredictable traffic.

    Performance Optimization

    • Throttling occurs if provision limits are exceeded; AWS SDKs automatically retry failed requests.
    • Use DynamoDB Accelerator (DAX) for in-memory caching, enhancing read performance significantly.

    Data TTL and Streams

    • Time To Live (TTL): Automatically deletes expired items without extra costs or resource usage.
    • DynamoDB Streams: Captures item-level modifications for 24 hours, allowing near real-time event processing (e.g., via AWS Lambda).

    Security and Best Practices

    • Uses IAM for authentication and access control; supports identity-based policies.
    • Recommendations include keeping item sizes small, and separating frequently and infrequently accessed data.

    Scalability and Global Tables

    • Global Tables: Multi-region, multi-master configuration for global applications, ensuring low-latency data access.
    • Supports automatic replication without partial item support; strongly consistent reads require operations within the same region.### Application Auto Scaling
    • Auto Scaling does not automatically reduce provisioned capacity when consumed capacity reaches zero.
    • Enabling DynamoDB auto scaling occurs by default when creating a table or global secondary index via the AWS Management Console.

    High Availability Approaches for Databases

    • Prefer DynamoDB over RDS due to its built-in fault tolerance.
    • If DynamoDB is not an option, Amazon Aurora offers redundancy and automatic recovery, making it a strong alternative.
    • In scenarios where neither DynamoDB nor Aurora is suitable, selecting Multi-AZ RDS provides enhanced availability.
    • Regular RDS snapshots serve as a protection measure against data corruption or failure, with minimal performance impact in Multi-AZ deployments.
    • Regional replication is available but lacks strong consistency guarantees.
    • For databases hosted on EC2, high availability designs must be implemented manually.

    Amazon DynamoDB Overview

    • Fully managed NoSQL database service offering fast, predictable performance with seamless scalability.
    • Stores three geographically distributed replicas of each table to ensure high availability and data durability.
    • Synchronously replicates data across 3 facilities (Availability Zones) in a region.

    Database Characteristics

    • Schema-less and non-relational, functioning as a key-value and document database.
    • Serverless architecture; no instances to provision or manage.
    • Supports push button scaling to adjust database capacity without downtime.

    Data Storage

    • Data stored on SSDs, providing very low latency.
    • Aggregate size of a single item is limited to 400KB, including keys and attributes.
    • Can store pointers to S3 objects exceeding 400KB.

    Data Structure

    • Tables consist of items; items are composed of attributes (fields/columns).
    • Primary keys determine how data is stored and retrieved:
      • Partition key: A unique attribute (e.g., user ID).
      • Composite key: Combination of partition key and sort key.

    Partitions

    • Data is stored in partitions, automatically managed by DynamoDB.
    • Throttling may occur if access patterns exceed 3,000 read capacity units (RCUs) or 1,000 write capacity units (WCUs) for a single partition key value.

    Consistency Models

    • Two reading consistency types:
      • Eventually consistent reads: Default mode, offers lower latency.
      • Strongly consistent reads: Ensures the latest data, configurable via API parameters.

    Transactions

    • Supports ACID transactions for coordinated changes across multiple items and tables.
    • Uses a transaction write API for grouped operations.

    API Operations

    • Scan: Reads items and attributes by examining the entire table; can be resource-intensive.
      • Can optimize using ProjectionExpression and filter expressions.
    • Query: Searches for items based on primary key attributes with better performance than a scan.

    Indexing

    • Two types of indexes enhance query efficiency:
      • Local Secondary Index (LSI): Alternative sort key local to the partition key, limited to five per table.
      • Global Secondary Index (GSI): Different partition and sort keys for queries, can be created later.

    Capacity Management

    • Provisioned Capacity: Users specify RCU and WCU based on expected traffic, can utilize auto scaling.
    • On-demand Capacity: Automatically adjusts based on actual workload, ideal for unpredictable traffic.

    Performance Optimization

    • Throttling occurs if provision limits are exceeded; AWS SDKs automatically retry failed requests.
    • Use DynamoDB Accelerator (DAX) for in-memory caching, enhancing read performance significantly.

    Data TTL and Streams

    • Time To Live (TTL): Automatically deletes expired items without extra costs or resource usage.
    • DynamoDB Streams: Captures item-level modifications for 24 hours, allowing near real-time event processing (e.g., via AWS Lambda).

    Security and Best Practices

    • Uses IAM for authentication and access control; supports identity-based policies.
    • Recommendations include keeping item sizes small, and separating frequently and infrequently accessed data.

    Scalability and Global Tables

    • Global Tables: Multi-region, multi-master configuration for global applications, ensuring low-latency data access.
    • Supports automatic replication without partial item support; strongly consistent reads require operations within the same region.### Application Auto Scaling
    • Auto Scaling does not automatically reduce provisioned capacity when consumed capacity reaches zero.
    • Enabling DynamoDB auto scaling occurs by default when creating a table or global secondary index via the AWS Management Console.

    High Availability Approaches for Databases

    • Prefer DynamoDB over RDS due to its built-in fault tolerance.
    • If DynamoDB is not an option, Amazon Aurora offers redundancy and automatic recovery, making it a strong alternative.
    • In scenarios where neither DynamoDB nor Aurora is suitable, selecting Multi-AZ RDS provides enhanced availability.
    • Regular RDS snapshots serve as a protection measure against data corruption or failure, with minimal performance impact in Multi-AZ deployments.
    • Regional replication is available but lacks strong consistency guarantees.
    • For databases hosted on EC2, high availability designs must be implemented manually.

    Amazon DynamoDB Overview

    • Fully managed NoSQL database service offering fast, predictable performance with seamless scalability.
    • Stores three geographically distributed replicas of each table to ensure high availability and data durability.
    • Synchronously replicates data across 3 facilities (Availability Zones) in a region.

    Database Characteristics

    • Schema-less and non-relational, functioning as a key-value and document database.
    • Serverless architecture; no instances to provision or manage.
    • Supports push button scaling to adjust database capacity without downtime.

    Data Storage

    • Data stored on SSDs, providing very low latency.
    • Aggregate size of a single item is limited to 400KB, including keys and attributes.
    • Can store pointers to S3 objects exceeding 400KB.

    Data Structure

    • Tables consist of items; items are composed of attributes (fields/columns).
    • Primary keys determine how data is stored and retrieved:
      • Partition key: A unique attribute (e.g., user ID).
      • Composite key: Combination of partition key and sort key.

    Partitions

    • Data is stored in partitions, automatically managed by DynamoDB.
    • Throttling may occur if access patterns exceed 3,000 read capacity units (RCUs) or 1,000 write capacity units (WCUs) for a single partition key value.

    Consistency Models

    • Two reading consistency types:
      • Eventually consistent reads: Default mode, offers lower latency.
      • Strongly consistent reads: Ensures the latest data, configurable via API parameters.

    Transactions

    • Supports ACID transactions for coordinated changes across multiple items and tables.
    • Uses a transaction write API for grouped operations.

    API Operations

    • Scan: Reads items and attributes by examining the entire table; can be resource-intensive.
      • Can optimize using ProjectionExpression and filter expressions.
    • Query: Searches for items based on primary key attributes with better performance than a scan.

    Indexing

    • Two types of indexes enhance query efficiency:
      • Local Secondary Index (LSI): Alternative sort key local to the partition key, limited to five per table.
      • Global Secondary Index (GSI): Different partition and sort keys for queries, can be created later.

    Capacity Management

    • Provisioned Capacity: Users specify RCU and WCU based on expected traffic, can utilize auto scaling.
    • On-demand Capacity: Automatically adjusts based on actual workload, ideal for unpredictable traffic.

    Performance Optimization

    • Throttling occurs if provision limits are exceeded; AWS SDKs automatically retry failed requests.
    • Use DynamoDB Accelerator (DAX) for in-memory caching, enhancing read performance significantly.

    Data TTL and Streams

    • Time To Live (TTL): Automatically deletes expired items without extra costs or resource usage.
    • DynamoDB Streams: Captures item-level modifications for 24 hours, allowing near real-time event processing (e.g., via AWS Lambda).

    Security and Best Practices

    • Uses IAM for authentication and access control; supports identity-based policies.
    • Recommendations include keeping item sizes small, and separating frequently and infrequently accessed data.

    Scalability and Global Tables

    • Global Tables: Multi-region, multi-master configuration for global applications, ensuring low-latency data access.
    • Supports automatic replication without partial item support; strongly consistent reads require operations within the same region.### Application Auto Scaling
    • Auto Scaling does not automatically reduce provisioned capacity when consumed capacity reaches zero.
    • Enabling DynamoDB auto scaling occurs by default when creating a table or global secondary index via the AWS Management Console.

    High Availability Approaches for Databases

    • Prefer DynamoDB over RDS due to its built-in fault tolerance.
    • If DynamoDB is not an option, Amazon Aurora offers redundancy and automatic recovery, making it a strong alternative.
    • In scenarios where neither DynamoDB nor Aurora is suitable, selecting Multi-AZ RDS provides enhanced availability.
    • Regular RDS snapshots serve as a protection measure against data corruption or failure, with minimal performance impact in Multi-AZ deployments.
    • Regional replication is available but lacks strong consistency guarantees.
    • For databases hosted on EC2, high availability designs must be implemented manually.

    Amazon DynamoDB Overview

    • Fully managed NoSQL database service offering fast, predictable performance with seamless scalability.
    • Stores three geographically distributed replicas of each table to ensure high availability and data durability.
    • Synchronously replicates data across 3 facilities (Availability Zones) in a region.

    Database Characteristics

    • Schema-less and non-relational, functioning as a key-value and document database.
    • Serverless architecture; no instances to provision or manage.
    • Supports push button scaling to adjust database capacity without downtime.

    Data Storage

    • Data stored on SSDs, providing very low latency.
    • Aggregate size of a single item is limited to 400KB, including keys and attributes.
    • Can store pointers to S3 objects exceeding 400KB.

    Data Structure

    • Tables consist of items; items are composed of attributes (fields/columns).
    • Primary keys determine how data is stored and retrieved:
      • Partition key: A unique attribute (e.g., user ID).
      • Composite key: Combination of partition key and sort key.

    Partitions

    • Data is stored in partitions, automatically managed by DynamoDB.
    • Throttling may occur if access patterns exceed 3,000 read capacity units (RCUs) or 1,000 write capacity units (WCUs) for a single partition key value.

    Consistency Models

    • Two reading consistency types:
      • Eventually consistent reads: Default mode, offers lower latency.
      • Strongly consistent reads: Ensures the latest data, configurable via API parameters.

    Transactions

    • Supports ACID transactions for coordinated changes across multiple items and tables.
    • Uses a transaction write API for grouped operations.

    API Operations

    • Scan: Reads items and attributes by examining the entire table; can be resource-intensive.
      • Can optimize using ProjectionExpression and filter expressions.
    • Query: Searches for items based on primary key attributes with better performance than a scan.

    Indexing

    • Two types of indexes enhance query efficiency:
      • Local Secondary Index (LSI): Alternative sort key local to the partition key, limited to five per table.
      • Global Secondary Index (GSI): Different partition and sort keys for queries, can be created later.

    Capacity Management

    • Provisioned Capacity: Users specify RCU and WCU based on expected traffic, can utilize auto scaling.
    • On-demand Capacity: Automatically adjusts based on actual workload, ideal for unpredictable traffic.

    Performance Optimization

    • Throttling occurs if provision limits are exceeded; AWS SDKs automatically retry failed requests.
    • Use DynamoDB Accelerator (DAX) for in-memory caching, enhancing read performance significantly.

    Data TTL and Streams

    • Time To Live (TTL): Automatically deletes expired items without extra costs or resource usage.
    • DynamoDB Streams: Captures item-level modifications for 24 hours, allowing near real-time event processing (e.g., via AWS Lambda).

    Security and Best Practices

    • Uses IAM for authentication and access control; supports identity-based policies.
    • Recommendations include keeping item sizes small, and separating frequently and infrequently accessed data.

    Scalability and Global Tables

    • Global Tables: Multi-region, multi-master configuration for global applications, ensuring low-latency data access.
    • Supports automatic replication without partial item support; strongly consistent reads require operations within the same region.### Application Auto Scaling
    • Auto Scaling does not automatically reduce provisioned capacity when consumed capacity reaches zero.
    • Enabling DynamoDB auto scaling occurs by default when creating a table or global secondary index via the AWS Management Console.

    High Availability Approaches for Databases

    • Prefer DynamoDB over RDS due to its built-in fault tolerance.
    • If DynamoDB is not an option, Amazon Aurora offers redundancy and automatic recovery, making it a strong alternative.
    • In scenarios where neither DynamoDB nor Aurora is suitable, selecting Multi-AZ RDS provides enhanced availability.
    • Regular RDS snapshots serve as a protection measure against data corruption or failure, with minimal performance impact in Multi-AZ deployments.
    • Regional replication is available but lacks strong consistency guarantees.
    • For databases hosted on EC2, high availability designs must be implemented manually.

    Amazon DynamoDB Overview

    • Fully managed NoSQL database service offering fast, predictable performance with seamless scalability.
    • Stores three geographically distributed replicas of each table to ensure high availability and data durability.
    • Synchronously replicates data across 3 facilities (Availability Zones) in a region.

    Database Characteristics

    • Schema-less and non-relational, functioning as a key-value and document database.
    • Serverless architecture; no instances to provision or manage.
    • Supports push button scaling to adjust database capacity without downtime.

    Data Storage

    • Data stored on SSDs, providing very low latency.
    • Aggregate size of a single item is limited to 400KB, including keys and attributes.
    • Can store pointers to S3 objects exceeding 400KB.

    Data Structure

    • Tables consist of items; items are composed of attributes (fields/columns).
    • Primary keys determine how data is stored and retrieved:
      • Partition key: A unique attribute (e.g., user ID).
      • Composite key: Combination of partition key and sort key.

    Partitions

    • Data is stored in partitions, automatically managed by DynamoDB.
    • Throttling may occur if access patterns exceed 3,000 read capacity units (RCUs) or 1,000 write capacity units (WCUs) for a single partition key value.

    Consistency Models

    • Two reading consistency types:
      • Eventually consistent reads: Default mode, offers lower latency.
      • Strongly consistent reads: Ensures the latest data, configurable via API parameters.

    Transactions

    • Supports ACID transactions for coordinated changes across multiple items and tables.
    • Uses a transaction write API for grouped operations.

    API Operations

    • Scan: Reads items and attributes by examining the entire table; can be resource-intensive.
      • Can optimize using ProjectionExpression and filter expressions.
    • Query: Searches for items based on primary key attributes with better performance than a scan.

    Indexing

    • Two types of indexes enhance query efficiency:
      • Local Secondary Index (LSI): Alternative sort key local to the partition key, limited to five per table.
      • Global Secondary Index (GSI): Different partition and sort keys for queries, can be created later.

    Capacity Management

    • Provisioned Capacity: Users specify RCU and WCU based on expected traffic, can utilize auto scaling.
    • On-demand Capacity: Automatically adjusts based on actual workload, ideal for unpredictable traffic.

    Performance Optimization

    • Throttling occurs if provision limits are exceeded; AWS SDKs automatically retry failed requests.
    • Use DynamoDB Accelerator (DAX) for in-memory caching, enhancing read performance significantly.

    Data TTL and Streams

    • Time To Live (TTL): Automatically deletes expired items without extra costs or resource usage.
    • DynamoDB Streams: Captures item-level modifications for 24 hours, allowing near real-time event processing (e.g., via AWS Lambda).

    Security and Best Practices

    • Uses IAM for authentication and access control; supports identity-based policies.
    • Recommendations include keeping item sizes small, and separating frequently and infrequently accessed data.

    Scalability and Global Tables

    • Global Tables: Multi-region, multi-master configuration for global applications, ensuring low-latency data access.
    • Supports automatic replication without partial item support; strongly consistent reads require operations within the same region.### Application Auto Scaling
    • Auto Scaling does not automatically reduce provisioned capacity when consumed capacity reaches zero.
    • Enabling DynamoDB auto scaling occurs by default when creating a table or global secondary index via the AWS Management Console.

    High Availability Approaches for Databases

    • Prefer DynamoDB over RDS due to its built-in fault tolerance.
    • If DynamoDB is not an option, Amazon Aurora offers redundancy and automatic recovery, making it a strong alternative.
    • In scenarios where neither DynamoDB nor Aurora is suitable, selecting Multi-AZ RDS provides enhanced availability.
    • Regular RDS snapshots serve as a protection measure against data corruption or failure, with minimal performance impact in Multi-AZ deployments.
    • Regional replication is available but lacks strong consistency guarantees.
    • For databases hosted on EC2, high availability designs must be implemented manually.

    Amazon DynamoDB Overview

    • Fully managed NoSQL database service offering fast, predictable performance with seamless scalability.
    • Stores three geographically distributed replicas of each table to ensure high availability and data durability.
    • Synchronously replicates data across 3 facilities (Availability Zones) in a region.

    Database Characteristics

    • Schema-less and non-relational, functioning as a key-value and document database.
    • Serverless architecture; no instances to provision or manage.
    • Supports push button scaling to adjust database capacity without downtime.

    Data Storage

    • Data stored on SSDs, providing very low latency.
    • Aggregate size of a single item is limited to 400KB, including keys and attributes.
    • Can store pointers to S3 objects exceeding 400KB.

    Data Structure

    • Tables consist of items; items are composed of attributes (fields/columns).
    • Primary keys determine how data is stored and retrieved:
      • Partition key: A unique attribute (e.g., user ID).
      • Composite key: Combination of partition key and sort key.

    Partitions

    • Data is stored in partitions, automatically managed by DynamoDB.
    • Throttling may occur if access patterns exceed 3,000 read capacity units (RCUs) or 1,000 write capacity units (WCUs) for a single partition key value.

    Consistency Models

    • Two reading consistency types:
      • Eventually consistent reads: Default mode, offers lower latency.
      • Strongly consistent reads: Ensures the latest data, configurable via API parameters.

    Transactions

    • Supports ACID transactions for coordinated changes across multiple items and tables.
    • Uses a transaction write API for grouped operations.

    API Operations

    • Scan: Reads items and attributes by examining the entire table; can be resource-intensive.
      • Can optimize using ProjectionExpression and filter expressions.
    • Query: Searches for items based on primary key attributes with better performance than a scan.

    Indexing

    • Two types of indexes enhance query efficiency:
      • Local Secondary Index (LSI): Alternative sort key local to the partition key, limited to five per table.
      • Global Secondary Index (GSI): Different partition and sort keys for queries, can be created later.

    Capacity Management

    • Provisioned Capacity: Users specify RCU and WCU based on expected traffic, can utilize auto scaling.
    • On-demand Capacity: Automatically adjusts based on actual workload, ideal for unpredictable traffic.

    Performance Optimization

    • Throttling occurs if provision limits are exceeded; AWS SDKs automatically retry failed requests.
    • Use DynamoDB Accelerator (DAX) for in-memory caching, enhancing read performance significantly.

    Data TTL and Streams

    • Time To Live (TTL): Automatically deletes expired items without extra costs or resource usage.
    • DynamoDB Streams: Captures item-level modifications for 24 hours, allowing near real-time event processing (e.g., via AWS Lambda).

    Security and Best Practices

    • Uses IAM for authentication and access control; supports identity-based policies.
    • Recommendations include keeping item sizes small, and separating frequently and infrequently accessed data.

    Scalability and Global Tables

    • Global Tables: Multi-region, multi-master configuration for global applications, ensuring low-latency data access.
    • Supports automatic replication without partial item support; strongly consistent reads require operations within the same region.### Application Auto Scaling
    • Auto Scaling does not automatically reduce provisioned capacity when consumed capacity reaches zero.
    • Enabling DynamoDB auto scaling occurs by default when creating a table or global secondary index via the AWS Management Console.

    High Availability Approaches for Databases

    • Prefer DynamoDB over RDS due to its built-in fault tolerance.
    • If DynamoDB is not an option, Amazon Aurora offers redundancy and automatic recovery, making it a strong alternative.
    • In scenarios where neither DynamoDB nor Aurora is suitable, selecting Multi-AZ RDS provides enhanced availability.
    • Regular RDS snapshots serve as a protection measure against data corruption or failure, with minimal performance impact in Multi-AZ deployments.
    • Regional replication is available but lacks strong consistency guarantees.
    • For databases hosted on EC2, high availability designs must be implemented manually.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    Test your knowledge of Amazon DynamoDB, a fast and fully managed NoSQL database service. Questions cover its features, benefits, and storage type.

    More Like This

    Use Quizgecko on...
    Browser
    Browser