The data access handbook: achieving optimal database application performance and scalability
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Upper Saddle River, NJ ; Munich [u.a.]
Prentice Hall
2009
|
Ausgabe: | 1. print. |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XXII, 333 S. |
ISBN: | 9780137143931 0137143931 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV035474994 | ||
003 | DE-604 | ||
005 | 20090529 | ||
007 | t | ||
008 | 090507s2009 |||| 00||| eng d | ||
010 | |a 2008054864 | ||
020 | |a 9780137143931 |c pbk |9 978-0-13-714393-1 | ||
020 | |a 0137143931 |c pbk |9 0-137-14393-1 | ||
035 | |a (OCoLC)268788775 | ||
035 | |a (DE-599)GBV588896225 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
049 | |a DE-473 | ||
050 | 0 | |a QA76.9.D26 | |
082 | 0 | |a 005.3 |2 22 | |
082 | 0 | |a 005.74 |2 22 | |
084 | |a ST 270 |0 (DE-625)143638: |2 rvk | ||
100 | 1 | |a Goodson, John |d 1964- |e Verfasser |0 (DE-588)138275521 |4 aut | |
245 | 1 | 0 | |a The data access handbook |b achieving optimal database application performance and scalability |c John Goodson and Robert A. Steward |
250 | |a 1. print. | ||
264 | 1 | |a Upper Saddle River, NJ ; Munich [u.a.] |b Prentice Hall |c 2009 | |
300 | |a XXII, 333 S. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | |a Database design / Handbooks, manuals, etc | |
650 | 0 | |a Application software / Development / Handbooks, manuals, etc | |
650 | 0 | |a Computer networks / Handbooks, manuals, etc | |
650 | 0 | |a Middleware / Handbooks, manuals, etc | |
650 | 4 | |a Application software |x Development |v Handbooks, manuals, etc | |
650 | 4 | |a Computer networks |v Handbooks, manuals, etc | |
650 | 4 | |a Database design |v Handbooks, manuals, etc | |
650 | 4 | |a Middleware |v Handbooks, manuals, etc | |
650 | 0 | 7 | |a Datenbank |0 (DE-588)4011119-2 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Anwendung |0 (DE-588)4196864-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Serviceorientierte Architektur |0 (DE-588)4841015-9 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Datenbank |0 (DE-588)4011119-2 |D s |
689 | 0 | 1 | |a Anwendung |0 (DE-588)4196864-5 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Serviceorientierte Architektur |0 (DE-588)4841015-9 |D s |
689 | 1 | |5 DE-604 | |
700 | 1 | |a Steward, Robert A. |e Sonstige |4 oth | |
856 | 4 | 2 | |m Digitalisierung UB Bamberg |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017394630&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-017394630 |
Datensatz im Suchindex
_version_ | 1804138936020238336 |
---|---|
adam_text | Contents
Preface
xv
Acknowledgments
xix
About the Authors
xxi
PERFORMANCE ISN T WHAT IT
USED TO BE
1
Where Are We Today?
4
The Network
5
The Database Driver
5
The Environment
6
Your Database Application
7
Our Goal for This Book
8
DESIGNING FOR PERFORMANCE: WHAT S
YOUR STRATEGY?
9
Your Applications
10
Database Connections
10
Transaction Management
21
SQL Statements
27
Data Retrieval
30
Extended Security
37
Static SQL Versus Dynamic SQL
43
The Network
44
The Database Driver
46
Know Your Database System
47
Using Object-Relational Mapping Tools
48
Summary
49
vii
viii Contents
DATABASE MIDDLEWARE:
WHY IT S
IMPORTANT
51
What Is Database Middleware?
52
How Database Middleware Affects Application Performance
52
Database Drivers
53
What Does a Database Driver Do?
54
Database Driver Architecture
55
Runtime Performance Tuning Options
62
Configuring Database Drivers/Data Providers
63
Summary
74
THE ENVIRONMENT: TUNING FOR
PERFORMANCE
75
Runtime Environment (Java and .NET)
77
JVM
77
.NET CLR
82
Operating System
83
Network
86
Database Protocol Packets
86
Network Packets
89
Configuring Packet Size
92
Analyzing the Network Path
94
Reducing Network Hops and Contention
96
Avoiding Network Packet Fragmentation
98
Increasing Network Bandwidth
106
Hardware
106
Memory
107
Disk
110
CPU (Processor)
112
Network Adapter
116
Virtualization
119
Summary
121
Contents ix
ODBC APPLICATIONS:
WRITING GOOD
CODE 123
Managing Connections
124
Connecting Efficiently
124
Using Connection Pooling
124
Establishing Connections One at a Time
125
Using One Connection for Multiple Statements
125
Obtaining Database and Driver Information Efficiently
126
Managing Transactions
127
Managing Commits in Transactions
127
Choosing the Right Transaction Model
135
Executing SQL Statements
136
Using Stored Procedures
136
Using Statements Versus Prepared Statements
138
Using Arrays of Parameters
139
Using the Cursor Library
141
Retrieving Data
142
Retrieving Long Data
142
Limiting the Amount of Data Retrieved
144
Using Bound Columns
145
Using SQLExtendedFetch Instead of SQLFetch
147
Determining the Number of Rows in a Result Set
148
Choosing the Right Data Type
149
Updating Data
149
Using SQLSpeci
al Col
umns to Optimize Updates and Deletes
149
Using Catalog Functions
151
Minimizing the Use of Catalog Functions
151
Avoiding Search Patterns
152
Using a Dummy Query to Determine Table Characteristics
153
Summary
155
JDBC APPLICATIONS: WRITING GOOD
CODE
157
Managing Connections
158
Connecting Efficiently
158
Using Connection Pooling
158
Contents
Establishing Connections One at a Time
159
Using One Connection for Multiple Statements
159
Disconnecting Efficien tly
160
Obtaining Database and Driver Information Efficiently
162
Managing Transactions
163
Managing Commits in Transactions
163
Choosing the Right Transaction Model
169
Executing SQL Statements
170
Using Stored Procedures
170
Using Statements Versus Prepared Statements
172
Using Batches Versus Prepared Statements
173
Using getXXX Methods to Fetch Data from a Result Set
175
Retrieving Auto-Generated Keys
176
Retrieving Data
177
Retrieving Long Data
177
Limiting the Amount of Data Retrieved
179
Determining the Number of Rows in a Result Set
181
Choosing the Right Data Type
182
Choosing the Right Cursor
182
Updating Data
186
Using Positioned Updates, Inserts, and Deletes fupdateXXX Methods)
186
Using getBestRowIdenti fie
г
()
to Optimize Updates and Deletes
186
Using Database Metadata Methods
188
Minimizing the Use of Database Metadata Methods
188
Avoiding Search Patterns
188
Using a Dummy Query to Determine Table Characteristics
189
Summary
191
.NET APPLICATIONS: WRITING GOOD
CODE
193
Managing Connections
194
Connecting Efficiently
194
Using Connection Pooling
194
Establishing Connections One at a Time
195
Disconnecting Efficiently
196
Obtaining Database and Data Provider Information Efficiently
198
Contents xi
Managing Transactions
198
Managing
Commits in
Transactions
198
Choosing the Right Transaction Model
205
Executing SQL Statements
206
Executing SQL Statements that Retrieve Little or No Data
206
Using the Command
.
Prepare Method
208
Using Arrays of Parameters/Batches Versus Prepared Statements
209
Using Bulk Load
212
Using Pure Managed Providers
212
Selecting .NET Objects and Methods
213
Avoiding the CommandBui
1 der
Object
213
Choosing Between a DataReader and DataSet Object
214
Using GetXXX Methods to Fetch Data from a DataReader
215
Retrieving Data
216
Retrieving Long Data
216
Limiting the Amount of Data Retrieved
218
Choosing the Right Data Type
219
Updating Data
220
Summary
221
CONNECTION POOLING AND STATEMENT
POOLING
223
Connection Pool Model for JDBC
223
Configuring Connection Pools
225
Guidelines
226
Connection Pool Model for ODBC
228
Connection Pooling as Defined in the ODBC Specification
228
Configuring Connection Pools
229
Guidelines
230
Connection Pool Model for ADO.NET
230
Configuring Connection Pools
231
Guidelines
231
Using Reauthentication with Connection Pooling
232
Configuring Connection Pooling with Reauthentication in a JDBC Environment
235
xii Contents
Using
Statement
Pooling
236
Using Statement Pooling with Connection Pooling
238
Guidelines
239
Summary: The Big Picture
240
DEVELOPING GOOD BENCHMARKS
243
Developing the Benchmark
244
Define Benchmark Goals
244
Reproduce the Production Environment
246
Isolate the Test Environment
251
Reproduce the Workload
252
Measure the Right Tasks
252
Measure over a Sufficient Duration of Time
25 4
Prepare the Database
257
Make Changes One at a Time
257
Assess Other Factors
258
Benchmark Example
258
Summary
264
TROUBLESHOOTING PERFORMANCE
ISSUES
265
Where to Start
266
Changes in Your Database Application Deployment
268
The Database Application
269
The Database Driver
270
Runtime Performance Tuning Options
271
Architecture
271
The Environment
272
Runtime Environment (Java and .NET)
273
Operating System
273
Network
273
Hardware
274
Case Studies
277
Case Study
1 277
Case Study
2 281
Contents xiii
Case Study
3 282
Case Study
4 285
Case Study
5 287
Case Study
6 291
Case Study
7 293
Case Study
8 295
Summary
297
DATA ACCESS IN SERVICE-ORIENTED
ARCHITECTURE
(SOA)
ENVIRONMENTS
299
What Is Service-Oriented Architecture
(SOA)?
300
Data Access Guidelines for
SOA
Environments
302
Involve Data Experts in Addition to
SOA
Experts
302
Decouple Data Access from Business Logic
303
Design and Tune for Performance
305
Consider Data Integration
305
Summary
307
GLOSSARY
309
INDEX
319
|
any_adam_object | 1 |
author | Goodson, John 1964- |
author_GND | (DE-588)138275521 |
author_facet | Goodson, John 1964- |
author_role | aut |
author_sort | Goodson, John 1964- |
author_variant | j g jg |
building | Verbundindex |
bvnumber | BV035474994 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.9.D26 |
callnumber-search | QA76.9.D26 |
callnumber-sort | QA 276.9 D26 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 270 |
ctrlnum | (OCoLC)268788775 (DE-599)GBV588896225 |
dewey-full | 005.3 005.74 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.3 005.74 |
dewey-search | 005.3 005.74 |
dewey-sort | 15.3 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | 1. print. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02267nam a2200553 c 4500</leader><controlfield tag="001">BV035474994</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20090529 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">090507s2009 |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2008054864</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780137143931</subfield><subfield code="c">pbk</subfield><subfield code="9">978-0-13-714393-1</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0137143931</subfield><subfield code="c">pbk</subfield><subfield code="9">0-137-14393-1</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)268788775</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)GBV588896225</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-473</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.9.D26</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.3</subfield><subfield code="2">22</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.74</subfield><subfield code="2">22</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 270</subfield><subfield code="0">(DE-625)143638:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Goodson, John</subfield><subfield code="d">1964-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)138275521</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">The data access handbook</subfield><subfield code="b">achieving optimal database application performance and scalability</subfield><subfield code="c">John Goodson and Robert A. Steward</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. print.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Upper Saddle River, NJ ; Munich [u.a.]</subfield><subfield code="b">Prentice Hall</subfield><subfield code="c">2009</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXII, 333 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="650" ind1=" " ind2="0"><subfield code="a">Database design / Handbooks, manuals, etc</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Application software / Development / Handbooks, manuals, etc</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Computer networks / Handbooks, manuals, etc</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Middleware / Handbooks, manuals, etc</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Application software</subfield><subfield code="x">Development</subfield><subfield code="v">Handbooks, manuals, etc</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer networks</subfield><subfield code="v">Handbooks, manuals, etc</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Database design</subfield><subfield code="v">Handbooks, manuals, etc</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Middleware</subfield><subfield code="v">Handbooks, manuals, etc</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Datenbank</subfield><subfield code="0">(DE-588)4011119-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Anwendung</subfield><subfield code="0">(DE-588)4196864-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Serviceorientierte Architektur</subfield><subfield code="0">(DE-588)4841015-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Datenbank</subfield><subfield code="0">(DE-588)4011119-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Anwendung</subfield><subfield code="0">(DE-588)4196864-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Serviceorientierte Architektur</subfield><subfield code="0">(DE-588)4841015-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Steward, Robert A.</subfield><subfield code="e">Sonstige</subfield><subfield code="4">oth</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bamberg</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=017394630&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-017394630</subfield></datafield></record></collection> |
id | DE-604.BV035474994 |
illustrated | Not Illustrated |
indexdate | 2024-07-09T21:36:06Z |
institution | BVB |
isbn | 9780137143931 0137143931 |
language | English |
lccn | 2008054864 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-017394630 |
oclc_num | 268788775 |
open_access_boolean | |
owner | DE-473 DE-BY-UBG |
owner_facet | DE-473 DE-BY-UBG |
physical | XXII, 333 S. |
publishDate | 2009 |
publishDateSearch | 2009 |
publishDateSort | 2009 |
publisher | Prentice Hall |
record_format | marc |
spelling | Goodson, John 1964- Verfasser (DE-588)138275521 aut The data access handbook achieving optimal database application performance and scalability John Goodson and Robert A. Steward 1. print. Upper Saddle River, NJ ; Munich [u.a.] Prentice Hall 2009 XXII, 333 S. txt rdacontent n rdamedia nc rdacarrier Database design / Handbooks, manuals, etc Application software / Development / Handbooks, manuals, etc Computer networks / Handbooks, manuals, etc Middleware / Handbooks, manuals, etc Application software Development Handbooks, manuals, etc Computer networks Handbooks, manuals, etc Database design Handbooks, manuals, etc Middleware Handbooks, manuals, etc Datenbank (DE-588)4011119-2 gnd rswk-swf Anwendung (DE-588)4196864-5 gnd rswk-swf Serviceorientierte Architektur (DE-588)4841015-9 gnd rswk-swf Datenbank (DE-588)4011119-2 s Anwendung (DE-588)4196864-5 s DE-604 Serviceorientierte Architektur (DE-588)4841015-9 s Steward, Robert A. Sonstige oth Digitalisierung UB Bamberg application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017394630&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Goodson, John 1964- The data access handbook achieving optimal database application performance and scalability Database design / Handbooks, manuals, etc Application software / Development / Handbooks, manuals, etc Computer networks / Handbooks, manuals, etc Middleware / Handbooks, manuals, etc Application software Development Handbooks, manuals, etc Computer networks Handbooks, manuals, etc Database design Handbooks, manuals, etc Middleware Handbooks, manuals, etc Datenbank (DE-588)4011119-2 gnd Anwendung (DE-588)4196864-5 gnd Serviceorientierte Architektur (DE-588)4841015-9 gnd |
subject_GND | (DE-588)4011119-2 (DE-588)4196864-5 (DE-588)4841015-9 |
title | The data access handbook achieving optimal database application performance and scalability |
title_auth | The data access handbook achieving optimal database application performance and scalability |
title_exact_search | The data access handbook achieving optimal database application performance and scalability |
title_full | The data access handbook achieving optimal database application performance and scalability John Goodson and Robert A. Steward |
title_fullStr | The data access handbook achieving optimal database application performance and scalability John Goodson and Robert A. Steward |
title_full_unstemmed | The data access handbook achieving optimal database application performance and scalability John Goodson and Robert A. Steward |
title_short | The data access handbook |
title_sort | the data access handbook achieving optimal database application performance and scalability |
title_sub | achieving optimal database application performance and scalability |
topic | Database design / Handbooks, manuals, etc Application software / Development / Handbooks, manuals, etc Computer networks / Handbooks, manuals, etc Middleware / Handbooks, manuals, etc Application software Development Handbooks, manuals, etc Computer networks Handbooks, manuals, etc Database design Handbooks, manuals, etc Middleware Handbooks, manuals, etc Datenbank (DE-588)4011119-2 gnd Anwendung (DE-588)4196864-5 gnd Serviceorientierte Architektur (DE-588)4841015-9 gnd |
topic_facet | Database design / Handbooks, manuals, etc Application software / Development / Handbooks, manuals, etc Computer networks / Handbooks, manuals, etc Middleware / Handbooks, manuals, etc Application software Development Handbooks, manuals, etc Computer networks Handbooks, manuals, etc Database design Handbooks, manuals, etc Middleware Handbooks, manuals, etc Datenbank Anwendung Serviceorientierte Architektur |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017394630&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT goodsonjohn thedataaccesshandbookachievingoptimaldatabaseapplicationperformanceandscalability AT stewardroberta thedataaccesshandbookachievingoptimaldatabaseapplicationperformanceandscalability |