Szczegóły ebooka

Amazon SimpleDB Developer Guide. Scale your application's database on the cloud using Amazon SimpleDB

Amazon SimpleDB Developer Guide. Scale your application's database on the cloud using Amazon SimpleDB

Prabhakar Chaganti, Rich Helms, Richard Helms

Ebook
SimpleDB is a highly scalable, simple-to-use, and inexpensive database in the cloud from Amazon Web Services. But in order to use SimpleDB, you really have to change your mindset. This isn't a traditional relational database; in fact it's not relational at all. For developers who have experience working with relational databases, this may lead to misconceptions as to how SimpleDB works.This practical book aims to address your preconceptions on how SimpleDB will work for you. You will be quickly led through the differences between relational databases and SimpleDB, and the implications of using SimpleDB. Throughout this book, there is an emphasis on demonstrating key concepts with practical examples for Java, PHP, and Python developers.You will be introduced to this massively scalable schema-less key-value data store: what it is, how it works, and why it is such a game-changer. You will then explore the basic functionality offered by SimpleDB including querying, code samples, and a lot more. This book will help you deploy services outside the Amazon cloud and access them from any web host.You will see how SimpleDB gives you the freedom to focus on application development. As you work through this book you will be able to optimize the performance of your applications using parallel operations, caching with memcache, asynchronous operations, and more.
  • Amazon SimpleDB Developer Guide
    • Table of Contents
    • Amazon SimpleDB Developer Guide
    • Credits
    • Foreword
    • About the Authors
    • About the Reviewers
    • Preface
      • What this book covers
      • What you need for this book
      • Who this book is for
      • Conventions
      • Reader feedback
      • Customer support
        • Errata
        • Piracy
        • Questions
    • 1. Getting to Know SimpleDB
      • Experimenting with SimpleDB
      • How does SimpleDB work?
        • Domain
        • Item
        • Attributes
        • Values
      • How do I interact with SimpleDB?
      • How is SimpleDB priced?
        • Free tier
      • Why should I use SimpleDB?
        • Make your applications simpler to architect
        • Build flexibility into your applications
        • Create high-performance web applications
        • Take advantage of lower costs
        • Scale your applications on demand
        • Architect for the cloud
      • Summary
    • 2. Getting Started with SimpleDB
      • Creating an AWS account
      • Enabling SimpleDB service for AWS account
      • Query API and authentication
      • SimpleDB libraries
      • SDBtool Firefox plugin
      • Sample outline performing basic operations
      • Basic operations with Java
        • Exploring SimpleDB with Java
        • Creating a domain with Java
        • Listing domains with Java
        • Manipulating items with Java
        • Deleting a domain with Java
      • Basic operations with PHP
        • Exploring SimpleDB with PHP
        • Creating a domain with PHP
        • Listing domains with PHP
        • Manipulating items with PHP
        • Deleting a domain with PHP
      • Basic operations with Python
        • Introducing boto
        • Exploring SimpleDB with Python
        • Creating a domain with Python
        • Retrieving a domain with Python
        • Creating items with Python
      • Summary
    • 3. SimpleDB versus RDBMS
      • No normalization
      • No joins
      • No schemas
      • Simpler SQL
      • Only strings
      • Eventual consistency
        • Flash: February 24, 2010 consistent read added
      • Scalability
      • Low maintenance
      • Advantages of the SimpleDB model
      • Disadvantages of the SimpleDB model
      • Summary
    • 4. The SimpleDB Data Model
      • Domains
        • Domains with Java
        • Domains with PHP
        • Domains with Python
      • Exploring the metadata for a domain and costs
        • Retrieving domain metadata
          • Retrieving domain metadata with Java
          • Retrieving domain metadata with PHP
          • Retrieving domain metadata with Python
        • Components of a domains metadata
        • SimpleDB domain constraints
      • Items
        • Adding attributes to an item with Java
        • Adding attributes to an item with PHP
        • Adding attributes to an item with Python
        • Constraints on SimpleDB items
      • Attributes
        • Attributes with Java
        • Attributes with PHP
        • Attributes with Python
        • Constraints on SimpleDB item attributes
      • Values
        • Storing multiple values in a single attribute with Java
        • Storing multiple values in a single attribute with PHP
        • Storing multiple values in a single attribute with Python
        • Constraints on values of a SimpleDB item
      • Consistent Read and Conditional Put / Delete announcement
        • ConsistentRead = true for getAttributes and Select
        • Conditional Put / Delete
      • Summary
    • 5. Data Types
      • What is lexicographical comparison?
      • Storing numeric values
        • Storing numeric values with Java
        • Storing numeric values with PHP
        • Storing numeric values with Python
      • Storing date values
        • Storing date values with Java
        • Storing date values with PHP
        • Storing date values with Python
      • Storing Boolean values
        • Storing Boolean values with Java
        • Storing Boolean values with PHP
        • Storing Boolean values with Python
      • XML-restricted characters
        • Using base64 values with Java
        • Using base64 values with PHP
        • Using base64 values with Python
      • Summary
    • 6. Querying
      • Sample data
        • Loading the sample data
          • Importing the sample data with Java
          • Importing the sample data with PHP
          • Importing the sample data with Python
        • Using Select
          • Simple select with Java
          • Simple select with PHP
          • Simple select with Python
        • Quoting values in Select expressions
        • Predicates in Select expressions
          • Simple predicate query with Java
          • Simple predicate query with PHP
          • Simple predicate query with Python
      • Comparison operators
      • Queries with Select
        • Comparison operators
        • Greater than
        • LIKE
        • NOT LIKE
        • BETWEEN
        • IN
        • IS NULL
        • IS NOT NULL
        • EVERY()
      • Combining expressions
        • INTERSECTION
        • NOT
        • OR
      • Sorting
      • Counting the results
        • COUNT()
      • Queries on multi-valued attributes
      • Querying for multi-valued attributes
        • getAttribute
          • getAttributes in Java
          • getAttributes in PHP
          • getAttributes in Python
      • Summary
    • 7. Storing Data on S3
      • Amazon S3
        • Buckets
        • Objects
        • Keys
      • Pricing for S3
      • Plan of action
        • Creating an S3 bucket
          • Creating an S3 bucket with Java
          • Creating an S3 bucket with PHP
          • Creating an S3 bucket with Python
        • Creating additional metadata
          • Creating additional metadata with Java
          • Creating additional metadata with PHP
          • Creating additional metadata with Python
        • Uploading the songs to S3
          • Uploading the songs to S3 with Java
          • Uploading the songs to S3 with PHP
          • Uploading the songs to S3 with Python
        • Retrieving the files from S3
          • Retrieving the files from S3 with Java
          • Retrieving the files from S3 with PHP
          • Retrieving the files from S3 with Python
      • Summary
    • 8. Tuning and Usage Costs
      • BoxUsage
        • Computing costs using BoxUsage
        • Usage reports
        • BoxUsage Java
          • Cost of Select
        • BoxUsage PHP
          • Cost of NextToken
          • Cost of Select
          • Cost of creating a domain
          • Cost of creating items
        • BoxUsage Python
      • Partitioning
      • Summary
    • 9. Caching
      • Caching
      • Memcached
      • Memcached and security
      • Installing memcached
      • Installing memcached client
        • Memcached client in Java
        • Memcached client in PHP
        • Memcached client in Python
      • Storing and retrieving data from memcached
        • Storing and retrieving data from memcached in Java
        • Storing and retrieving data from memcached in PHP
        • Storing and retrieving data from memcached in Python
      • Cache_Lite
      • Logic flow for using caching with SimpleDB
        • Using memcached with SimpleDB in Java
        • Using Cache_Lite with SimpleDB in PHP
        • Using memcached with SimpleDB in Python
      • Summary
    • 10. Parallel Processing
      • BatchPutAttributes
        • BatchPutAttributes in Java
        • BatchPutAttributes in PHP
        • BatchPutAttributes in Python
      • Serialized SimpleDB requests
      • Parallelizing SimpleDB requests
        • Parallelizing SimpleDB requests in Java
        • Parallelizing SimpleDB requests in PHP
        • Parallelizing SimpleDB requests in Python
        • Simple threading
        • Threading with queues
        • Threading with workerpool
      • Concurrency and SimpleDB
      • Summary
    • Index
  • Tytuł: Amazon SimpleDB Developer Guide. Scale your application's database on the cloud using Amazon SimpleDB
  • Autor: Prabhakar Chaganti, Rich Helms, Richard Helms
  • Tytuł oryginału: Amazon SimpleDB Developer Guide. Scale your application's database on the cloud using Amazon SimpleDB
  • ISBN: 9781847197351, 9781847197351
  • Data wydania: 2010-06-01
  • Format: Ebook
  • Identyfikator pozycji: e_3b9y
  • Wydawca: Packt Publishing