Amazon DynamoDB, a high-performance, scalable NoSQL database for Internet applications

Source: Internet
Author: User
Tags dynamodb amazon dynamodb

January 18, 2012, Amazon released Amazondynamodb, a fully managed, high-performance, high-reliability, cost-effective NoSQL database. Dynamodb is ideal for Internet-scale applications.

The DYNAMODB database incorporates Amazon's many years of experience in large, non-relational databases and cloud computing. As early as 2007, Amazon published a paper that delves into the design concepts and implementation technologies used by Amazon Dynamo, and how to solve large scale expansions and simultaneously provide high-reliability protection issues. The initial dynamo design is based on a set of principles that build a high-reliability, high-expansion system in a distributed system. Today's Amazon DynamoDB continues to build on these design principles and incorporates the valuable experience Amazon has accumulated over the years in non-relational databases and cloud computing, such as Amazonsimpledb and Amazon S3 Services. Customers can use the fully managed database service in a very simple way.

Amazon DynamoDB is a high-performance, extensible NoSQL database. As users, traffic and data in today's Internet applications continue to grow, how well the database scales to meet capacity and performance needs is a headache. With Dynamodb, developers can start small and increase the performance of the table when the app attracts more users. Tables in Dynamodb allow users to store unlimited amounts of data. With distributed technology, DYNAMODB distributes the data and traffic requests of a table to a sufficient number of servers to meet the performance requirements of concurrent requests. At the same time, Dynamodb can provide predictable, high-performance, low-latency user access when faced with requests of any size.

DYNAMODB provides the following value to the user:

·  Easy to use. Dynamodb helps users to handle all database management tasks, from hardware resource configuration, installation configuration, distributed cluster building, and routine system maintenance. Developers can liberate themselves from tedious database management work. As a fully managed database, you don't need expert skills to manage DYNAMODB installations-your developers can do it all on their own. When you visit Dynamodb, you can do this by simply using the API. Now with just 13 APIs, you can manage the tables on the DYNAMODB database, query the retrieval operations, access individual item items, and implement bulk access projects.

· can be extended. Amazon Dynamodb is designed to meet capacity and throughput needs by distributing data from a single table across multiple servers in multiple availability zones (AZ).

· High performance. In the case of high concurrent requests, DYNAMODB can still guarantee a very low latency. Because all of the data is solid-state disks, continuous high performance is guaranteed. Applications running on EC2 in the same region can typically experience single-digit milliseconds of response time on the server side when accessing Dynamodb's data objects. More importantly, DYNAMODB's performance (response time) is predictable. Even in the case of data growth, a stable low latency response can still be maintained due to the distributed nature of Dynamodb. DYNAMODB enables you to partition your data in the background and repartition it when needed, allowing for high IO performance in large-scale access scenarios.

· pre-configured throughput. Amazondynamodb allows you to specify the throughput that your app needs to support when creating a table. You can specify, respectively, how many read throughput and write throughput per second are supported. Amazondynamodb will reserve the necessary machine resources for you to meet your request with consistent, low-latency performance. More importantly, the provisioned performance throughput is not immutable. After creating the table, if your application is very successful and has grown dramatically, you can scale the performance throughput of the table at any time to support more user access requests. Correspondingly, if your application no longer requires provisioned performance throughput, you also have the flexibility to reduce throughput metrics to reduce costs.

· durable and highly available. Amazondynamodb automatically replicates data within at least 3 data centers. Each write operation will not return a write success acknowledgement until at least two nodes are written. Data will be re-copied and re-partitioned in a timely manner when any node or disk is damaged. This ensures that DYNAMODB will still be able to provide services when complex failures occur, and you don't have to worry about data loss due to physical failures.

· mode of freedom. Amazon Dynamodb is very flexible to use. Users are not limited to a particular data model. In a traditional SQL database, the schema of the table is defined when it is created. You cannot modify or add new columns to a table that has been created and defined. The AMAZONDYNAMODB does not have a fixed pattern, and users can add new properties to the table at any time. Flexible data model that enables agile development of applications and fast iterative updates.

· flexible and consistent selection. The problem of how to ensure data consistency is often encountered in a distributed environment. Dynamodb gives developers the freedom to choose a consistency model. Developers can choose to read the data in a strong consistency or ultimately consistent way. The eventual consistency means that after a write operation is complete, the data is read immediately and may not be able to read the latest data. Ultimately consistent models can ensure service availability and improve performance to the greatest extent possible. The typical use case is the shopping cart that people use when they shop online, or the comment information of the website and so on. If you choose to read the data in a strongly consistent way, you sacrifice a degree of performance and service availability, with the benefit of having access to the latest data in all cases, and software development is simple. A more typical use case is a scenario that requires strong consistency, such as an order submission scenario when shopping online. Strong consistency is required to ensure that the same product is not sold to two different customers at the same time.

· predictable costs. The pricing model for Amazon Dynamodb is simple and predictable. Based on monthly storage capacity per GB, and monthly provisioned read and write capacity units are billed. Capacity is relatively easy to understand. The provisioned read and write performance capacity units are a key concept. Each read capacity unit (or write capacity unit) supports 1 reads (or writes) of 1 items per second (item), maximum 4KB size per read operation, maximum 1KB size per write operation. Items exceeding the size require additional performance throughput capacity. If the customer chooses a final consistent read, the throughput will be twice as much as the provisioned read performance. For example, you have configured 1000 read performance capacity, and 1000 write performance capacity. In this case your table will be able to support 1000 read operations per second, and 1000 write operations. If it is the final consistent read, your table will be able to support 2000 reads per second.

To further improve the performance of application access, Amazon DYNAMODB creates and maintains indexes on primary key properties. When the application provides a primary key to the database, it can quickly get the corresponding data. In addition, AMAZONDYNAMODB supports the creation of global and local level two indexes. This allows the application to get good performance when querying other properties than the primary key. Customers can create one or more two-level indexes on a table, and then run query queries against the index.


Amazon Dynamodb enables users to store and retrieve data of any size in a simple and cost-effective manner, while providing high concurrency low latency response. For throughput assurance and a few milliseconds of low latency response, Dynamodb makes it ideal for Internet-based applications such as games, ads, mobile, and more.


If you want more detailed information, you can visit the Dynamodb page.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.