1. What is DynamoDB?
Ans. DynamoDB is Amazon’s fully managed NoSQL database service that provides fast and predictable performance with seamless scalability.
2. What is the purpose of DynamoDB?
Ans. It allows you to store any amount of data, beyond terabytes even petabytes of data at a fraction of the cost. You can access it from anywhere over the Internet using web services API or thin interface client libraries. It provides high availability on all accounts and supports elastic scaling.
3. How does DynamoDB work?
Ans. DynamoDB processes queries in parallel so you get the results back as soon as possible , even if you ask for multiple items from different aspects it retrieves them in parallel. dynamoDB uses a hybrid between RAM and S3 storage . This drastically reduced access latency because of dynamodb’s low-latency local memory combined with the global throughput from Amazon S3 (via HTTP).
4. Explain about DynamoDB Mapper Class.
Ans. It is a dynamodb java client library. The mapper class can be used to create and read dynamoDB tables that have been represented as JSON data. dynamodb mapper class uses dynamoDB’s native APIs to interact with dynamoDB. It can be used in any java application, as long as the project is built using Maven.
5. How are dynamodb queries executed?
Ans. Dynamodb queries are processed on dynamobd servers, using either Application or Provisioned Throughput capacity units. In order to process a query, dynamodb first computes the required primary and replica shards, which will execute your query. dynamodb sends the request to dynamobd servers in parallel, hence improving throughput of queries.
6. What are some use cases for DynamoDB?
Ans. 1) Data warehousing: If the analysis involves complex queries you need retrieve multiple columns within seconds then dynamo DB could be used since it happens in parallel.
2) Event processing: dynamo DB allows you to have real time data ingestion by storing event logs. You can leverage the power of dynamo DB and build a low-latency system off those data.
3) Business Intelligence(BI): dynamo DB allows you to store semi-structured, unstructured and big volume of data which BI applications consume for analytics and exploration. With dynamo DB as your backend you get the flexibility needed to support any combination of relational database, key value store or NoSQL databases that suits your needs.
4) Daily Web Analytics; DynamoDB is ideal candidate for storing huge amount of user click stream, daily order etc., this could be queried using lightning speed without any cost.
5) Real-time Analytics; dynamo DB supports incremental updates to stream data. You can create real-time dashboards and analytics using dynamo DB. It will be a good fit if your company is generating huge amount of user click stream . dynamoDB could store petabytes of daily order such as revenue, tax etc., from online retail site. dynamodb could process this huge amount of data daily with low latency which would have been impossible for any standard database engine or open source technology.
7. list down the data types that DynamoDB supports?
Ans. A dynamodb supports following data types:
- UTF8 String – Maximum length is 8000 bytes
- Number – 16-bit signed, 4-byte floating point numbers; range +/− 232)
– E.g 1,234,567.890
- Currency – 128-bit currency; 8-byte floating point numbers; range +/− 10^308
- DateTime – 64-bit signed clock ticks that start at Jan 1, 1970 00:00Z and increase monotonically to a maximum of 31 Dec 9999 23:59:59.999999999 UTC
- Binary – Arbitrary binary data up to a maximum of 128 KB.
- List – Infinitely nested sequence of values, Tagged only with their dynamodb tag and not with dynamodb Primary key id.
- Set – Infinitely nested sequence of values, Tagged only dynamodb Primary key id.
8. Explain key-value store.
Ans. Key-value store is simple and fast NoSQL database which allows us to store set of key value pairs. In dynamo DB we can scale up or down our database by adding/removing dynamo nodes. So dynamo DB provides us highly available and scalable key value storage.
9. Explain DynamoDB AutoScaling.
Ans. AWS DynamoDB employs dynamodb auto scaling feature to automatically change your provisioned read and write capacity based on observed throughput. dynamodb-auto-scaling periodically monitors the table usage patterns by the Amazon dynamoDB engine. A dynamodb cloud watch metric is used to determine the average number of items read from or written to dynamodb tables. dynamodb auto-scaling ensures dynamoDB tables are not idle or under provisioned.
10. What are projections?
Ans. Projections produce data for a dynamodb table, similar to group by in sql or select in mongodb. Projections have the ability to filter out this unimportant items and reduce the size of dynamoDB itemset. When you need to fetch dynamoDB data with projection, dynamodb executes read capacity units (RCU) to make sure dynamoDB returns correct data.