4 options
Mastering DynamoDB : master the intricacies of the NoSQL database DynamoDB to take advantage of its fast performance and seamless scalability / Tanmay Deshpande ; foreword by Constancio Fernandes, Sr. ; cover image by Pratyush Mohanta.
- Format:
- Book
- Author/Creator:
- Deshpande, Tanmay, author.
- Fernandes, Constancio, author of introduction, etc.
- Series:
- Community experience distilled.
- Community Experience Distilled
- Language:
- English
- Subjects (All):
- Non-relational databases.
- SQL (Computer program language).
- Physical Description:
- 1 online resource (236 p.)
- Edition:
- 1st edition
- Place of Publication:
- Birmingham, England : Packt Publishing, 2014.
- Language Note:
- English
- System Details:
- text file
- Biography/History:
- Deshpande Tanmay: Tanmay Deshpande is a Hadoop and big data evangelist. He currently works with Schlumberger as a Big Data Architect in Pune, India. He has interest in a wide range of technologies, such as Hadoop, Hive, Pig, NoSQL databases, Mahout, Sqoop, Java, cloud computing, and so on. He has vast experience in application development in various domains, such as oil and gas, finance, telecom, manufacturing, security, and retail. He enjoys solving machine-learning problems and spends his time reading anything that he can get his hands on. He has great interest in open source technologies and has been promoting them through his talks. Before Schlumberger, he worked with Symantec, Lumiata, and Infosys. Through his innovative thinking and dynamic leadership, he has successfully completed various projects. He regularly blogs on his website http: //hadooptutorials. co. in. You can connect with him on LinkedIn at https: //www. linkedin. com/in/deshpandetanmay/. He has also authored Mastering DynamoDB, published in August 2014, DynamoDB Cookbook, published in September 2015, Hadoop Real World Solutions Cookbook-Second Edition, published in March 2016, Hadoop: Data Processing and Modelling, published in August, 2016, and Hadoop Blueprints, published in September 2016, all by Packt Publishing.
- Summary:
- Master the intricacies of the NoSQL database DynamoDB to take advantage of its fast performance and seamless scalability In Detail 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. What You Will Learn Comprehend the DynamoDB data model and how to build the efficient schema of DynamoDB tables Decipher the architecture of DynamoDB and its core features Understand how DynamoDB manages ring membership and handles partial failures Get acquainted with the AWS security token service and learn how DynamoDB deals with authentication and authorization Integrate DynamoDB with other AWS services in order to form a complete application ecosystem on AWS Cloud Explore third-party tools and libraries to efficiently use DynamoDB to help to autoscale, test, and back up/archive Familiarize yourself with mobile application development using DynamoDB at the backend Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.
- Contents:
- Intro
- Mastering DynamoDB
- Table of Contents
- 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
- Using the AWS SDK for PHP
- Operations on items
- Strong versus eventual consistency
- Eventual consistency
- Conditional writes
- Item size calculations
- Put item
- Get item
- Update item
- Delete item
- Batch get items
- Batch write items
- Delete item.
- BatchGetItems
- BatchWriteItems
- 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
- PHP API
- Scanning tables
- Modeling relationships
- One to one
- One to many
- Many to many
- 3. How DynamoDB Works
- Service-oriented architecture
- Design features
- Data replication
- Conflict resolution
- Scalability
- Symmetry
- Flexibility
- Architecture
- Load balancing
- 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
- 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
- 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
- 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
- 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 command line tools
- 7. DynamoDB - Use Cases
- Bookstore application
- Technology stack
- DynamoDB data model
- Implementation
- Integration with other AWS components.
- Deployment
- Knowledge market website
- Integration with other AWS components
- Deployment
- 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
- Fake DynamoDB
- Injecting failures
- Tools for auto-scaling
- Dynamic DynamoDB
- Tools for backup and archival
- DynamoDB Table Archiver
- 9. Developing Mobile Apps Using DynamoDB
- Authentication and Authorization
- Using Web Identity Federation
- Creating your own custom authentication
- Performing operations using mobile SDKs
- Writing data to DynamoDB
- Android
- iOS
- Getting consumed capacity information
- Deleting an item
- Fetching data
- Querying data
- Consistent reads
- Using local secondary indexes
- Index.
- Notes:
- Includes index.
- Description based on online resource; title from PDF title page (ebrary, viewed September 5, 2014).
- ISBN:
- 9781783551965
- 1783551968
- OCLC:
- 889675877
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.