A developer's guide to Amazon SimpleDB:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Upper Saddle River, NJ ; Munich [u.a.]
Addison-Wesley
2011
|
Ausgabe: | 1. printing |
Schriftenreihe: | Developer's library
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis Klappentext |
Beschreibung: | XVIII, 269 S. |
ISBN: | 9780321623638 0321623630 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV036635851 | ||
003 | DE-604 | ||
005 | 20100928 | ||
007 | t | ||
008 | 100827s2011 |||| 00||| eng d | ||
010 | |a 2010016954 | ||
020 | |a 9780321623638 |c pbk. : alk. paper |9 978-0-321-62363-8 | ||
020 | |a 0321623630 |9 0-321-62363-0 | ||
035 | |a (OCoLC)705767216 | ||
035 | |a (DE-599)GBV625927710 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
049 | |a DE-703 | ||
084 | |a ST 271 |0 (DE-625)143639: |2 rvk | ||
100 | 1 | |a Habeeb, Mocky |e Verfasser |4 aut | |
245 | 1 | 0 | |a A developer's guide to Amazon SimpleDB |c Mocky Habeeb |
250 | |a 1. printing | ||
264 | 1 | |a Upper Saddle River, NJ ; Munich [u.a.] |b Addison-Wesley |c 2011 | |
300 | |a XVIII, 269 S. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Developer's library | |
650 | 0 | |a Amazon SimpleDB (Electronic resource) | |
650 | 0 | |a Cloud computing | |
650 | 0 | |a Database management | |
650 | 0 | 7 | |a Amazon SimpleDB |0 (DE-588)7718047-1 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Amazon SimpleDB |0 (DE-588)7718047-1 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | 2 | |m Digitalisierung UB Bayreuth |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020555576&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
856 | 4 | 2 | |m Digitalisierung UB Bayreuth |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020555576&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA |3 Klappentext |
999 | |a oai:aleph.bib-bvb.de:BVB01-020555576 |
Datensatz im Suchindex
_version_ | 1804143251641335808 |
---|---|
adam_text | The Complete Guide to Building
Cloud Computing Solutions with
Amazon SimpleDB
A Developer s Guide to Amazon SimpleDB
Using SimpleDB, any organization can leverage Amazon Web Services (AWS), Amazon s powerful cloud-based
computing platform
—
and dramatically reduce the cost and resources associated with application infrastruc¬
ture. Now, for the first time, there s a complete developer s guide to building production solutions with
Amazon SimpleDB.
Pioneering SimpleDB developer Mocky Habeeb brings together all the hard-to-find information you need to
succeed. Mocky tours the SimpleDB platform and APIs, explains their essential characteristics and tradeoffs,
and helps you determine whether your applications are appropriate for SimpleDB. Next, he walks you through
all aspects of writing, deploying, querying, optimizing, and securing Amazon SimpleDB applications
—
from the
basics through advanced techniques.
Throughout, Mocky draws on his unsurpassed experience supporting developers on SimpleDB s official Web
forums. He offers practical tips and answers that can t be found anywhere else, and presents extensive
working sample code
—
from snippets to complete applications.
With A Developer s Guide to Amazon SimpleDB you will be able to
Evaluate whether a project is suited for Amazon
SimpleDB
Write SimpleDB applications that take full
advantage of SimpleDB s availability, scalability,
and flexibility
Effectively manage the entire SimpleDB
application lifecycle
Deploy cloud computing applications faster
and more easily
Work with SELECT and bulk data operations
Fine tune queries to optimize performance
Integrate SimpleDB security into existing
organizational security plans
Write and enhance runtime SimpleDB clients
Build complete applications using
AJAX
and
SimpleDB
Understand low-level issues involved in writing
clients and frameworks
Solve common SimpleDB usage problems and
avoid hidden pitfalls
This book will be an indispensable resource for every IT professional evaluating or using SimpleDB to build
cloud-computing applications, clients, or frameworks.
Mocky Habeeb is the most active, highest-rated user on the official SimpleDB Web forums, providing
answers and guidance to developers seeking authoritative answers. Currently Head of Web Architecture
and Development for Infrawise, Inc., he has been designing Web frameworks for over a decade and has
developed numerous applications with SimpleDB.
All code listings in this book can be downloaded at simpledbbook.com/code.
Web Services/Cloud Computing
Cover image
©
Anne-Marie Palmer
/
Alamy
Contents
vii
Contents
Preface
xvi
Acknowledgments
xviii
1
Introducing Amazon SimpleDB
1
What Is SimpleDB?
1
What SimpleDB Is Not
1
Schema-Less Data
2
Stored Securely in the Cloud
2
Billed Only for Actual Usage
3
Domains, Items, and Attribute Pairs
3
Multi-Valued Attributes
3
Queries
4
High Availability
4
Database Consistency
5
Sizing Up the SimpleDB Feature Set
6
Benefits of Using SimpleDB
6
Database Features SimpleDB Doesn t Have
7
Higher-Level Framework Functionality
7
Service Limits
8
Abandoning the Relational Model?
8
A Database Without a Schema
9
Areas Where Relational Databases Struggle
10
Scalability Isn t Your Problem
11
Avoiding the SimpleDB Hype
11
Putting the DBA Out of Work
12
Dodging Copies of CJ. Date
13
Other Pieces of the Puzzle
14
Adding Compute Power with Amazon EC2
14
Storing Large Objects with Amazon
S3 14
Queuing Up Tasks with Amazon SQS
15
Comparing SimpleDB to Other Products and Services
15
Windows Azure Platform
15
Google App Engine
17
Apache CouchDB
17
Dynamo-Like Products
18
Contents
Compelling Use Cases for SimpleDB
18
Web Services for Connected Systems
18
Low-Usage Application
19
Clustered Databases Without the Time Sink
19
Dynamic Data Application
19
Amazon
S3
Content Search
20
Empowering the Power Users
20
Existing AWS Customers
20
Summary
21
2
Getting Started with SimpleDB
23
Gaining Access to SimpleDB
23
Creating an AWS Account
23
Signing Up for SimpleDB
24
Managing Account Keys
24
Finding a Client for SimpleDB
24
Building a SimpleDB Domain Administration Tool
25
Administration Tool Features
25
Key Storage
25
Implementing the Base Application
26
Displaying a Domain List
28
Adding Domain Creation
28
Supporting Domain Deletion
29
Listing Domain Metadata
29
Running the Tool
31
Packaging the Tool as a Jar File
31
Building a User Authentication Service
31
Integrating with the Spring Security Framework
32
Representing User Data
32
Fetching User Data with SimpleDBUserService
34
Salting and Encoding Passwords
36
Creating a User Update Tool
37
Summary
39
3
A Code-Snippet Tour of the SimpleDB API
41
Selecting a SimpleDB Client
41
Typica Setup in Java
42
Contents
C# Library
for
Amazon SimpleDB Setup 43
Tarzan
Setup in PHP 45
Common Concepts
45
The Language Gap
45
SimpleDB
Endpoints 45
SimpleDB Service Versions
47
Common Response Elements
47
CreateDomain
48
CreateDomain Parameters
49
CreateDomain Response Data
49
CreateDomain Snippet in Java
49
CreateDomain Snippet in C#
50
CreateDomain Snippet in PHP
50
ListDomains
51
ListDomains Parameters
51
ListDomains Response Data
51
ListDomains Snippet in Java
52
ListDomains Snippet in C#
52
ListDomains Snippet in PHP
53
DeleteDomain
54
DeleteDomain Parameters
54
DeleteDomain Response Data
54
DeleteDomain Snippet in Java
55
DeleteDomain Snippet in C#
55
DeleteDomain Snippet in PHP
55
DomainMetadata
56
DomainMetadata Parameters
56
DomainMetadata Response Data
56
DomainMetadata Snippet in Java
57
DomainMetadata Snippet in C#
58
DomainMetadata Snippet in PHP
58
PutAttributes
59
PutAttributes Parameters
60
PutAttributes Response Data
62
PutAttributes Snippet in Java
63
PutAttributes Snippet in C#
64
PutAttributes Snippet in PHP
65
GetAttributes
65
GetAttributes
Parameters
65
GetAttributes Response
Data
66
GetAttributes
Snippet in Java
67
GetAttributes Snippet in C#
68
GetAttributes Snippet in PHP
69
DeleteAttributes
70
DeleteAttributes Parameters
70
DeleteAttributes Response Data
71
DeleteAttributes Snippet in Java
72
DeleteAttributes Snippet in C#
72
DeleteAttributes Snippet in PHP
73
BatchPutAttributes
73
BatchPutAttributes Parameters
74
BatchPutAttributes Response Data
75
BatchPutAttributes Snippet in Java
76
BatchPutAttributes Snippet in C#
77
BatchPutAttributes Snippet in PHP
78
Select
79
Select Parameters
79
Select Response Data
80
Select Snippet in Java
81
Select Snippet in C#
83
Select Snippet in PHP
85
Summary
86
4
A Closer Look at Select
87
Select Syntax
87
Required Clauses
88
Select Quoting Rule for Names
88
Output Selection Clause
89
WHERE Clause
90
Select Quoting Rules for Values
90
Sort Clause
91
LIMIT Clause
92
Contents
Formatting
Attribute Data
for Select
93
Integer
Formatting
94
Floating Point
Formatting
95
Date and Time Formatting
95
Case Sensitivity
97
Expressions and Predicates
97
Simple Comparison Operators
98
Range Operators
98
IN() Queries
99
Prefix Queries with LIKE and NOT LIKE
99
IS NULL and IS NOT NULL
100
Multi-Valued Attribute Queries
100
Multiple Predicate Queries with the INTERSECTION
Operator
101
Selection with EVERYQ
102
Query Results with the Same Item Multiple Times
102
Improving Query Performance
103
Attribute Indexes
103
Composite Attributes
104
Judicious Use of LIKE
105
Running on EC2
106
Skipping Pages with count() and LIMIT
106
Measuring Select Performance
107
Automating Performance Measurements
109
Summary
110
5
Bulk Data Operations 111
Importing Data with BatchPutAttributes
112
Calling BatchPutAttributes
112
Mapping the Import File to SimpleDB Attributes
112
Supporting Multiple File Formats
113
Storing the Mapping Data
113
Reporting Import Progress
113
Creating Right-Sized Batches
114
xii Contents
Managing Concurrency
114
Resuming a Stopped Import
115
Verifying Progress and Completion
115
Properly Handling Character Encodings
116
Backup and Data Export
116
Using Third-Party Backup Services
117
Writing Your Own Backup Tool
118
Restoring from Backup
119
Summary
119
6
Working Beyond the Boundaries
121
Availability: The Final Frontier
121
Boundaries of Eventual Consistency
123
Item-Level Atomicity
123
Looking into the Eventual Consistency Window
124
Read-Your-Writes
125
Implementing a Consistent View
125
Handling Text Larger Than IK
128
Storing Text in
S3 128
Storing Overflow in Different Attributes
129
Storing Overflow as a Multi-Valued Attribute
130
Entities with More than
256
Attributes
131
Paging to Arbitrary Query Depth
131
Exact Counting Without Locks or Transactions
133
Using One Item Per Count
134
Storing the Count in a Mufti-Valued Attribute
136
Testing Strategies
138
Designing for Testability
138
Alternatives to Live Service Calls
139
Summary
139
7
Planning for the Application Lifecycle
141
Capacity Planning
141
Estimating Initial Costs
141
Keeping Tabs on SimpleDB Usage with AWS Usage
Reports
142
Creating More Finely Detailed Usage Reports
145
Tracking Usage over Time
146
Contents xiii
Storage Requirements
146
Computing Storage Costs
147
Understanding the Cost of Slack Space
147
Evaluating Attribute Concatenation
148
Scalability: Increasing the Load
148
Planning Maintenance
150
Using Read-Repair to Apply Formatting Changes
150
Using Read-Repair to Update Item Layout
152
Using a Batch Process to Apply Updates
152
Summary
153
8
Security in SimpleDB-Based Applications
155
Account Security
155
Managing Access Within the Organization
155
Limiting Amazon Access from AWS Credentials
157
Boosting Security with Multi-Factor Authentication
158
Access Key Security
159
Key Management
159
Secret Key Rotation
160
Data Security
161
Storing Clean Data
161
SSL and Data in Transmission
162
Data Storage and Encryption
164
Storing Data in Multiple Locations
165
Summary
165
9
Increasing Performance
167
Determining If SimpleDB Is Fast Enough
167
Targeting Moderate Performance in Small Projects
167
Exploiting Advanced Features in Small Projects
168
Speeding Up SimpleDB
169
Taking Detailed Performance Measurements
169
Accessing SimpleDB from EC2
169
Caching
170
Concurrency
172
Keeping Requests and Responses Small
173
.
Contents
Operation-Speciflc
Performance 174
Optimizing GetAttributes
174
Optimizing PutAttributes
178
Optimizing BatchPutAttributes
179
Optimizing Select
180
Data Sharding
181
Partitioning Data
181
Multiplexing Queries
181
Accessing SimpleDB Outside the Amazon Cloud
182
Working Around Latency
182
Ignoring Latency
183
Summary
183
10
Writing a SimpleDB Client: A Language-Independent
Guide
185
Client Design Overview
185
Public Interface
186
Attribute Class
188
Item Class
190
Client Design Considerations
191
High-Level Design Issues
191
Operation-Specific Considerations
193
Implementing the Client Code
196
Safe Handling of the Secret Key
196
Implementing the Constructor
197
Implementing the Remaining Methods
198
Making Requests
200
Computing the Signature
208
Making the Connections
210
Parsing the Response
214
Summary
216
11
Improving the SimpleDB Client
217
Convenience Methods
217
Convenient Count Methods
217
Select with a Real Limit
219
Contents xv
Custom Metadata and Building a Smarter Client
219
Justifying a Schema for Numeric Data
220
Database Tools
221
Coordinating Concurrent Clients
221
Storing Custom Metadata within SimpleDB
221
Storing Custom Metadata in
S3 222
Automatically Optimizing for Box Usage Cost
222
The Exponential Cost of Write Operations
223
QueryTimeout: The Most Expensive Way to Get Nothing
225
Automated Domain Sharding
228
Domain Sharding Overview
228
Put/Get Delete Routing
228
Query Multiplexing
231
Summary
232
12
Building a Web-Based Task List
233
Application Overview
233
Requirements
233
The Data Model
234
Implementing User Authentication
235
Implementing a Task Workspace
238
Implementing a Task Service
241
Adding the Login
Serviet
244
Adding the Logout
Serviet
249
Displaying the Tasks
249
Adding New Tasks
252
Deployment
252
Summary
254
Index
255
|
any_adam_object | 1 |
author | Habeeb, Mocky |
author_facet | Habeeb, Mocky |
author_role | aut |
author_sort | Habeeb, Mocky |
author_variant | m h mh |
building | Verbundindex |
bvnumber | BV036635851 |
classification_rvk | ST 271 |
ctrlnum | (OCoLC)705767216 (DE-599)GBV625927710 |
discipline | Informatik |
edition | 1. printing |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01694nam a2200409 c 4500</leader><controlfield tag="001">BV036635851</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20100928 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">100827s2011 |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2010016954</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780321623638</subfield><subfield code="c">pbk. : alk. paper</subfield><subfield code="9">978-0-321-62363-8</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0321623630</subfield><subfield code="9">0-321-62363-0</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)705767216</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)GBV625927710</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-703</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 271</subfield><subfield code="0">(DE-625)143639:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Habeeb, Mocky</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">A developer's guide to Amazon SimpleDB</subfield><subfield code="c">Mocky Habeeb</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. printing</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Upper Saddle River, NJ ; Munich [u.a.]</subfield><subfield code="b">Addison-Wesley</subfield><subfield code="c">2011</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XVIII, 269 S.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Developer's library</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Amazon SimpleDB (Electronic resource)</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Cloud computing</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Database management</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Amazon SimpleDB</subfield><subfield code="0">(DE-588)7718047-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Amazon SimpleDB</subfield><subfield code="0">(DE-588)7718047-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bayreuth</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020555576&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bayreuth</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020555576&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Klappentext</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-020555576</subfield></datafield></record></collection> |
id | DE-604.BV036635851 |
illustrated | Not Illustrated |
indexdate | 2024-07-09T22:44:42Z |
institution | BVB |
isbn | 9780321623638 0321623630 |
language | English |
lccn | 2010016954 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-020555576 |
oclc_num | 705767216 |
open_access_boolean | |
owner | DE-703 |
owner_facet | DE-703 |
physical | XVIII, 269 S. |
publishDate | 2011 |
publishDateSearch | 2011 |
publishDateSort | 2011 |
publisher | Addison-Wesley |
record_format | marc |
series2 | Developer's library |
spelling | Habeeb, Mocky Verfasser aut A developer's guide to Amazon SimpleDB Mocky Habeeb 1. printing Upper Saddle River, NJ ; Munich [u.a.] Addison-Wesley 2011 XVIII, 269 S. txt rdacontent n rdamedia nc rdacarrier Developer's library Amazon SimpleDB (Electronic resource) Cloud computing Database management Amazon SimpleDB (DE-588)7718047-1 gnd rswk-swf Amazon SimpleDB (DE-588)7718047-1 s DE-604 Digitalisierung UB Bayreuth application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020555576&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis Digitalisierung UB Bayreuth application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020555576&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA Klappentext |
spellingShingle | Habeeb, Mocky A developer's guide to Amazon SimpleDB Amazon SimpleDB (Electronic resource) Cloud computing Database management Amazon SimpleDB (DE-588)7718047-1 gnd |
subject_GND | (DE-588)7718047-1 |
title | A developer's guide to Amazon SimpleDB |
title_auth | A developer's guide to Amazon SimpleDB |
title_exact_search | A developer's guide to Amazon SimpleDB |
title_full | A developer's guide to Amazon SimpleDB Mocky Habeeb |
title_fullStr | A developer's guide to Amazon SimpleDB Mocky Habeeb |
title_full_unstemmed | A developer's guide to Amazon SimpleDB Mocky Habeeb |
title_short | A developer's guide to Amazon SimpleDB |
title_sort | a developer s guide to amazon simpledb |
topic | Amazon SimpleDB (Electronic resource) Cloud computing Database management Amazon SimpleDB (DE-588)7718047-1 gnd |
topic_facet | Amazon SimpleDB (Electronic resource) Cloud computing Database management Amazon SimpleDB |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020555576&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020555576&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT habeebmocky adevelopersguidetoamazonsimpledb |