Database / Amazon DynamoDB Interview questions
DynamoDB is a fully managed NoSQL database service. It is backed by AWS and provides exciting features like seamless scalability, fast performance, and high reliability over data. DynamoDB supports both key-value and document data structures.
DynamoDB is quite effective at data storing and retrieval in all traffic levels and allows the users to create tables for the database.
- Highly Scalable without any intervention from the user.
- It has a latency of microseconds.
- Serverless and enterprise-ready.
- Encryption at Rest.
- On-demand backup and restore.
- Point-in-time recovery.
- Store any amount of data with the unlimited storage provided by the DynamoDB service.
- High-availability, the data we store replicates over many availability regions.
- Highly cost-effective, and pay only for what you use and the user do not worry about software patching, setup, and configuration because AWS fully manages DynamoDB.
- DynamoDB has an advanced system for reporting and highly secured user authentication mechanisms to provide maximum security over sensitive data.
- No DB triggers and lack server-side scripts.
- No table joins.
- Limited Data querying capability.
- The cost may become a overhead due to spike in usage.
- UpdateTable
- CreateTable
- DescribeTable
- DeleteTable
- PutItem
- ListTables
- UpdateItem
- BatchWriteItem
- GetItem
- Query
- DeleteItem
- Scan
- BatchGetItem.
Dynamo DB uses B-trees and Hashing techniques to manage data. When you enter data, it is first distributed into different partitions using hashing then the data is stored in a particular partition by initializing it with a key. Each partition can store up to 10GB of data by default and handles 3000 read and 1000 write capacity units. Dynamo DB stores and retrieves information based on partition key values.
To write an item to the table, Dynamo DB uses partition key value and inputs this value to the hash function then the output of this function determines the partition of where to store the item.