What this book covers
Chapter 1, Getting Started, highlights why we need the cloud-hosted NoSQL database, introduces readers to various NoSQL databases, and then starts with what DynamoDB is all about, what its history is, and its features.
Chapter 2, Data Models, introduces readers to DynamoDB's rich data model, its data types, and various operations one can perform using AWS SDK for DynamoDB with various languages, such as Java, .NET, and PHP. This also provides good detail on modeling relationships in DynamoDB.
Chapter 3, How DynamoDB Works, gives an insight into the DynamoDB architecture and the various techniques it uses to maintain its highly distributed structure, the ring topology, replication synchronization, fault tolerance, and so on.
Chapter 4, Best Practices, details readers on how they can save their money by making time- and cost-efficient calls to DynamoDB. It also enables readers to deal with DynamoDB limitations. It talks about table best practices, item and indexes best practices, use of caching techniques, time series best practices, and so on.
Chapter 5, Advanced Topics, covers detailed understanding of CloudWatch monitoring, use of Identity and Access Management for DynamoDB operations, creating and applying security policies, and the use of the AWS Secure Token Service to generate temporary credentials. It also details error handling in DynamoDB and how to set auto retries and exponential back-offs on failures.
Chapter 6, Integrating DynamoDB with Other AWS Components, enlightens readers about the AWS ecosystem, how they can integrate other AWS components, such as Elastic Map Reduce (EMR), S3, RedShift, CloudSearch, and so on, in order to have everything that they want to do with their application in one place.
Chapter 7, DynamoDB – Use Cases, provides readers with examples on creating an end-to-end use case, what technology stack they use, how they leverage DynamoDB SDK APIs, and so on.
Chapter 8, Useful Libraries and Tools, introduces users to some very cool, ready-to-use libraries, such as Geo Library, Transaction Library, and libraries in various languages, such as Perl, Python, Ruby, Go, Erlang, and so on. It also gives insights into useful tools that enable users to test their code offline, tools that enable auto-scaling of production applications, and tools that provide utilities, such as backup/archiving of DynamoDB data.
Chapter 9, Mobile Apps Development using DynamoDB, gives users directions on how to use DynamoDB SDKs for iOS and Android and helps them to build Internet-scalable mobile applications easily. It also provides various options on building a secure user-management technique.