Mastering DynamoDB
eBook - ePub

Mastering DynamoDB

  1. 236 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Mastering DynamoDB

Book details
Book preview
Table of contents
Citations

About This Book

This book is a practical, example-oriented guide that begins with an introduction to DynamoDB, how it started, what it is, and its features. It then introduces you to DynamoDB's data model, demonstrating CRUD operations on the data model. Once you get an understanding of the data model, you will be able to dive deep into the DynamoDB architecture to understand its flexibility, scalability, and reliability.

The book also gives you plenty of best practices you should follow in order to achieve time and cost efficiency. Later, you will explore some advanced topics such as CloudWatch Monitoring, the AWS security token service, and the use of IAM to perform access control management.

The book discusses a variety of use cases that will help you get a practical sense of DynamoDB. Finally, the book ends with a discussion on using DynamoDB as a backend for Android/iOS mobile applications with sample code that will help you build your own applications.

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access Mastering DynamoDB by Tanmay Deshpande in PDF and/or ePUB format, as well as other popular books in Informatica & Data mining. We have over one million books available in our catalogue for you to explore.

Information

Year
2014
ISBN
9781783551958
Edition
1
Subtopic
Data mining

Mastering DynamoDB


Table of Contents

Mastering DynamoDB
Credits
Foreword
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Getting Started
DynamoDB's history
What is DynamoDB?
Data model concepts
Operations
Table operations
Item operations
The Query and Scan operations
Provisioned throughput
DynamoDB features
Fully managed
Durable
Scalable
Fast
Simple administration
Fault tolerance
Flexible
Indexing
Secure
Cost effective
How do I get started?
Creating a DynamoDB table using the AWS management console
DynamoDB Local
Summary
2. Data Models
Primary key
Hash primary key
Hash and range primary key
Secondary indexes
Local secondary index
Global secondary index
Data types
Scalar data types
String
Number
Binary
Multivalued data types
Operations on tables
Using the AWS SDK for Java
Create table
Update table
Delete table
List tables
Using the AWS SDK for .NET
Create table
Update table
Delete table
List tables
Using the AWS SDK for PHP
Create table
Update table
Delete table
List tables
Operations on items
Strong versus eventual consistency
Eventual consistency
Conditional writes
Item size calculations
Using the AWS SDK for Java
Put item
Get item
Update item
Delete item
Batch get items
Batch write items
Using the AWS SDK for .NET
Put item
Get item
Update item
Delete item
BatchGetItems
BatchWriteItems
Using the AWS SDK for PHP
The putItem method
The getItem method
The updateItem method
The deleteItem method
The batchGetItem API
The batchWriteItems API
Query and scan operations
Query versus scan
Pagination
Limit and counts
Parallel scan
Querying tables
Using the AWS SDK for Java
Using the AWS SDK for .NET
PHP API
Scanning tables
Using the AWS SDK for Java
Using the AWS SDK for .NET
Using the AWS SDK for PHP
Modeling relationships
One to one
One to many
Many to many
Summary
3. How DynamoDB Works
Service-oriented architecture
Design features
Data replication
Conflict resolution
Scalability
Symmetry
Flexibility
Architecture
Load balancing
Data replication
Data versioning and reconciliation
Logic-based reconciliation
Time-based reconciliation
Request handling
Handling failures
Ring membership
Seed nodes
Functional components
Request coordinator
Membership failure and detection
Local persistence store
Summary
4. Best Practices
Table level best practices
Choosing a primary key
Evenly distributed data upload
Managing time series data
Item best practices
Caching
Storing large attribute values
Using compressions
Using AWS S3
Using multiple chunks
Blog table
Body chunks table
Implementing one-to-many relationship
Inefficient approach
Better and efficient approach
Query and scan best practices
Maintaining even read activity
Using parallel scans
Local secondary indexes best practices
Global secondary index best practices
Summary
5. Advanced Topics
Monitoring DynamoDB tables
AWS Management Console
CloudWatch API
A command-line interface
Using IAM to provide access control to DynamoDB
How to use IAM for DynamoDB
Sample IAM policies
Providing read-only access to items from all DynamoDB tables
Restrict users from deleting all the tables and items from a table
Allowing you to place and update an item on a single table
Allowing access to all indexes of a particular table
Allowing all DynamoDB actions to all the tables
Fine-grained access control
Sample fine-grained access control policies
Restricting access to only specific hash value
Restricting access to only specific attributes of a table
Allowing a query on only specific projected attributes in index
Web identity federation
Limitations in DynamoDB
Error handling
Type of errors
Catching error information
Auto retries and exponential back-offs
Summary
6. Integrating DynamoDB with Other AWS Components
Integrating with AWS EMR
Exporting data from DynamoDB
Export data to AWS S3
Formatted data export
Compressed data export
Export data to EMR – HDFS
Querying DynamoDB data
Getting the total count of employees in Employee table
Getting the total count of employees department wise
Joining two DynamoDB tables
Joining tables from DynamoDB and S3
Importing data into DynamoDB
Importing data from AWS S3
Importing data from HDFS
Performance considerations while using EMR with DynamoDB
Integrating with AWS Redshift
Exporting data from DynamoDB
Automatic compression and sampling
Integrating with AWS CloudSearch
Configuring CloudSearch domain
Using AWS management console
Using command-line tools
Export data from DynamoDB to CloudSearch
Using AWS management console
Using command line tools
Summary
7. DynamoDB – Use Cases
Bookstore application
Technology stack
Architecture
DynamoDB data model
Implementation
Integration with other AWS components
Deployment
Knowledge market website
Technology stack
Architecture
DynamoDB data model
Implementation
Integration with other AWS components
Deployment
Summary
8. Useful Libraries and Tools
Libraries
Transaction library
Atomic writes
Isolated reads
Geo library
Query rectangle
Query radius
Language-specific libraries
Java
Jsoda
Phoebe
Jcabi
.NET
Node.js
Perl
Net::Amazon::DynamoDB
Ruby
Fog
mince_dynamodb
dynamoid
Others
Tools
Tools for testing
DynamoDB Local
Fake DynamoDB
Injecting failures
Tools for auto-scaling
Dynamic DynamoDB
Tools for backup and archival
DynamoDB Table Archiver
Summary
9. Developing Mobil...

Table of contents

  1. Mastering DynamoDB