ra2 studio - Fotolia

Should I use Amazon DynamoDB when developing mobile apps?

Our company is developing mobile apps and looking into DynamoDB. What are the benefits of using the database service with mobile apps?

Mobile application developers have access to more information about a user than developers of traditional, non-mobile...

devices. Mobile apps use precise geolocation data not available outside of mobile OSes. And mobile app developers often must support synchronization across devices while protecting user data with off-device backups such as cloud storage. DynamoDB, Amazon's managed database service, is a good choice when developing mobile apps.

Amazon has a number of mobile SDKs that provide access to Amazon Web Services (AWS) products, including DynamoDB. These SDKs support iOS, Android and the Unity game development platform, as well as number of services used in mobile apps.

DynamoDB now supports both key-value and document database models. Key-value data stores provide persistent storage for dictionary-type lookups. This type of data store is useful for storing configuration parameters and other simple variable values. Document databases let developers organize collections of attributes and values (key values) in structures called documents.

Documents read and write multiple key-value pairs in a single atomic operation. This is useful for mapping high-level and complex program objects to a persistent data store model. The flexibility of key-value and document databases is especially important for applications with dynamic data types.

Amazon DynamoDB also provides secondary indexes and schema-less models; it also integrates with identity access management (IAM) services. Secondary indexes allow developers to create indexes on document attributes other than the document identifier. Many NoSQL databases, including Amazon DynamoDB, do not require data modelers to define a fixed schema; developers can modify the schema by adding or removing attributes from documents or key value data stores. Access controls on DynamoDB objects can reference IAM attributes, so developers can limit read and write access to data in the database.

Another advantage to using DynamoDB when developing mobile apps is that companies can purchase provisioned throughput. Application administrators can specify the level of throughput they need and DynamoDB will provision sufficient resources to meet those needs. This means developers don't have to determine the size and number of instances to maintain as workloads change.

Next Steps

What's your mobile app development strategy?

How to securely deliver mobile apps to users

Dig Deeper on AWS tools for development