Distributed database management systems: a practical approach
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Hoboken, N. J.
Wiley
2010
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Includes bibliographical references and index |
Beschreibung: | xxxiv, 728 p. ill. |
ISBN: | 9780470407455 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV036806549 | ||
003 | DE-604 | ||
005 | 20110125 | ||
007 | t | ||
008 | 101130s2010 a||| |||| 00||| eng d | ||
015 | |a GBA997940 |2 dnb | ||
020 | |a 9780470407455 |9 978-0-470-40745-5 | ||
035 | |a (OCoLC)699552263 | ||
035 | |a (DE-599)BVBBV036806549 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-473 |a DE-384 | ||
084 | |a ST 270 |0 (DE-625)143638: |2 rvk | ||
100 | 1 | |a Rahimi, Saeed |e Verfasser |4 aut | |
245 | 1 | 0 | |a Distributed database management systems |b a practical approach |c Saeed K. Rahimi ; Frank S. Haug |
264 | 1 | |a Hoboken, N. J. |b Wiley |c 2010 | |
300 | |a xxxiv, 728 p. |b ill. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a Includes bibliographical references and index | ||
650 | 4 | |a Distributed databases | |
650 | 4 | |a Database management | |
650 | 0 | 7 | |a Verteiltes Datenbanksystem |0 (DE-588)4121865-6 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Verteiltes Datenbanksystem |0 (DE-588)4121865-6 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Haug, Frank S. |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=020722621&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-020722621 |
Datensatz im Suchindex
_version_ | 1804143500834373632 |
---|---|
adam_text | CONTENTS
Preface
xxv
1
Introduction
1
1.1
Database Concepts,
2
1.1.1
Data Models,
2
1.1.2
Database Operations,
2
1.1.3
Database Management,
3
1.1.4
DB
Clients, Servers, and Environments,
3
1.2
DBE Architectural Concepts,
4
1.2.1
Services,
4
1.2.2
Components and Subsystems,
5
1.2.3
Sites,
5
1.3
Archetypical DBE Architectures,
6
1.3.1
Required Services,
6
1.3.2
Basic Services,
7
1.3.3
Expected Services,
8
1.3.4
Expected Subsystems,
9
1.3.5
Typical DBMS Services,
10
1.3.6
Summary Level Diagrams,
11
1.4
A New Taxonomy,
13
1.4.1
COS Distribution and Deployment,
13
1.4.2
COS Closedness or Openness,
14
1.4.3
Schema and Data Visibility,
15
1.4.4
Schema and Data Control,
16
1.5
An Example DDBE,
17
1.6
A Reference DDBE Architecture,
18
1.6.1
DDBE Information Architecture,
18
1.6.2
DDBE Software Architecture,
20
viii CONTENTS
1.6.2.1
Components of the
Application
Processor,
21
1.6.2.2
Components of the Data Processor,
23
1.7
Transaction Management in Distributed Systems,
24
1.8
Summary,
31
1.9
Glossary,
32
References,
33
2
Data Distribution Alternatives
35
2.1
Design Alternatives,
38
2.1.1
Localized Data,
38
2.1.2
Distributed Data,
38
2.1.2.1
Nonreplicated, Nonfragmented,
38
2.1.2.2
Fully Replicated,
38
2.1.2.3
Fragmented or Partitioned,
39
2.1.2.4
Partially Replicated,
39
2.1.2.5
Mixed Distribution,
39
2.2
Fragmentation,
39
2.2.1
Vertical Fragmentation,
40
2.2.2
Horizontal Fragmentation,
42
2.2.2.1
Primary Horizontal Fragmentation,
42
2.2.2.2
Derived Horizontal Fragmentation,
44
2.2.3
Hybrid Fragmentation,
47
2.2.4
Vertical Fragmentation Generation Guidelines,
49
2.2.4.1
Grouping,
49
2.2.4.2
Splitting,
49
2.2.5
Vertical Fragmentation Correctness Rules,
62
2.2.6
Horizontal Fragmentation Generation Guidelines,
62
2.2.6.1
Minimality and Completeness of Horizontal
Fragmentation,
63
2.2.7
Horizontal Fragmentation Correctness Rules,
66
2.2.8
Replication,
68
2.3
Distribution Transparency,
68
2.3.1
Location Transparency,
68
2.3.2
Fragmentation Transparency,
68
2.3.3
Replication Transparency,
69
2.3.4
Location, Fragmentation, and Replication
Transparencies,
69
2.4
Impact of Distribution on User Queries,
69
2.4.1
No GDD
—
No Transparency,
70
2.4.2
GDD Containing Location Information
—
Location
Transparency,
72
2.4.3
Fragmentation, Location, and Replication
Transparencies,
73
2.5
A More Complex Example,
73
2.5.1
Location, Fragmentation, and Replication
Transparencies,
75
2.5.2
Location and Replication Transparencies,
76
CONTENTS ix
2.5.3
No Transparencies,
77
2.6
Summary,
78
2.7
Glossary,
78
References,
79
Exercises,
80
3
Database Control
83
3.1
Authentication,
84
3.2
Access Rights,
85
3.3
Semantic Integrity Control,
86
3.3.1
Semantic Integrity Constraints,
88
3.3.1.1
Relational Constraints,
88
3.4
Distributed Semantic Integrity Control,
94
3.4.1
Compile Time Validation,
97
3.4.2
Run Time Validation,
97
3.4.3
Postexecution Time Validation,
97
3.5
Cost of Semantic Integrity Enforcement,
97
3.5.1
Semantic Integrity Enforcement Cost in Distributed
System,
98
3.5.1.1
Variables Used,
100
3.5.1.2
Compile Time Validation,
102
3.5.1.3
Run Time Validation,
103
3.5.1.4
Postexecution Time Validation,
104
3.6
Summary,
106
3.7
Glossary,
106
References,
107
Exercises,
107
4
Query Optimization 111
4.1
Sample Database,
112
4.2
Relational Algebra,
112
4.2.1
Subset of Relational Algebra Commands,
113
4.2.1.1
Relational Algebra Basic Operators,
114
4.2.1.2
Relational Algebra Derived Operators,
116
4.3
Computing Relational Algebra Operators,
119
4.3.1
Computing Selection,
120
4.3.1.1
No Index on R,
120
4.3.1.2
В
+
Tree Index on R,
120
4.3.1.3
Hash Index on R,
122
4.3.2
Computing Join,
123
4.3.2.1
Nested-Loop Joins,
123
4.3.2.2
Sort-Merge Join,
124
4.3.2.3
Hash-Join,
126
4.4
Query Processing in Centralized Systems,
126
4.4.1
Query Parsing and Translation,
127
4.4.2
Query Optimization,
128
4.4.2.1
Cost Estimation,
129
χ
CONTENTS
4.4.2.2
Plan Generation,
133
4.4.2.3 Dynamic Programming, 135
4.4.2.4
Reducing the Solution Space,
141
4.4.3
Code Generation,
144
4.5
Query Processing in Distributed Systems,
145
4.5.1
Mapping Global Query into Local Queries,
146
4.5.2
Distributed Query Optimization,
150
4.5.2.1
Utilization of Distributed Resources,
151
4.5.2.2
Dynamic Programming in Distributed
Systems,
152
4.5.2.3
Query Trading in Distributed Systems,
156
4.5.2.4
Distributed Query Solution Space
Reduction,
157
4.5.3
Heterogeneous Database Systems,
170
4.5.3.1
Heterogeneous Database Systems
Architecture,
170
4.5.3.2
Optimization in Heterogeneous Databases,
171
4.6
Summary,
172
4.7
Glossary,
173
References,
175
Exercises,
178
5
Controlling Concurrency
183
5.1
Terminology,
183
5.1.1
Database,
183
5.1.1.1
Database Consistency,
184
5.1.2
Transaction,
184
5.1.2.1
Transaction Redefined,
188
5.2
Multitransaction Processing Systems,
189
5.2.1
Schedule,
189
5.2.1.1
Serial Schedule,
189
5.2.1.2
Parallel Schedule,
189
5.2.2
Conflicts,
191
5.2.2.1
Unrepeatable Reads,
191
5.2.2.2
Reading Uncommitted Data,
191
5.2.2.3
Overwriting Uncommitted Data,
192
5.2.3
Equivalence,
192
5.2.4
Serializable Schedules,
193
5.2.4.1
Serializability in a Centralized System,
194
5.2.4.2
Serializability in a Distributed System,
195
5.2.4.3
Conflict Serializable Schedules,
196
5.2.4.4
View Serializable Schedules,
196
5.2.4.5
Recoverable Schedules,
197
5.2.4.6
Cascadeless Schedules,
197
5.2.5
Advanced Transaction Types,
197
5.2.5.1
Sagas,
198
5.2.5.2
ConTracts,
199
CONTENTS xi
5.2.6
Transactions
in
Distributed
System, 199
5.3
Centralized DBE Concurrency Control,
200
5.3.1
Locking-Based Concurrency Control Algorithms,
201
5.3.1.1
One-Phase Locking,
202
5.3.1.2
Two-Phase Locking,
202
5.3.1.3
Locking in Relational Databases,
204
5.3.1.4
Phantom Issue,
206
5.3.2
Timestamp Concurrency Control Algorithms,
209
5.3.2.1
Basic TO Concurrency Control Algorithm,
209
5.3.2.2
Conservative TO Algorithm,
210
5.3.2.3
Multiversion Concurrency Control
Algorithm,
212
5.3.3
Optimistic Concurrency Control Algorithm,
213
5.3.4
Concurrency Control in a Real DBMS (Oracle),
214
5.3.4.1
Oracle Lock Duration,
216
5.3.4.2
Oracle Lock Modes,
216
5.3.4.3
Oracle Lock Types,
216
5.3.4.4
Enforcing Serializability in Oracle,
216
5.4
Concurrency Control in Distributed Database Systems,
222
5.4.1
Two-Phase Locking in Distributed Systems,
229
5.4.1.1
Centralized 2PL,
229
5.4.1.2
Primary Copy 2PL,
230
5.4.1.3
Distributed 2PL,
230
5.4.2
Distributed Timestamp Concurrency Control,
232
5.4.2.1
Conflict Graphs and Transaction Classes,
235
5.4.3
Distributed Optimistic Concurrency Control,
236
5.4.4
Federated/Multidatabase Concurrency Control,
237
5.5
Summary,
238
5.6
Glossary,
238
References,
242
Exercises,
243
6
Deadlock Handling
247
6.1
Deadlock Definition,
247
6.2
Deadlocks in Centralized Systems,
248
6.2.1
Deadlock Prevention,
248
6.2.1.1
The Preacquisition of All Locks
Algorithm,
248
6.2.2
Deadlock Avoidance,
249
6.2.2.1
The Wait-Die Algorithm,
249
6.2.2.2
The Wound-Wait Algorithm,
251
6.2.3
Deadlock Detection and Removal,
252
6.3
Deadlocks in Distributed Systems,
252
6.3.1
The Transaction Location Issue,
253
6.3.2
The Transaction Control Issue,
254
6.3.3
Distributed Deadlock Prevention,
254
6.3.4
Distributed Deadlock Avoidance,
255
xii CONTENTS
6.3.4.1
The Distributed Wait-Die Algorithm,
255
6.3.4.2
The Distributed Wound-Wait Algorithm,
256
6.3.4.3
Distributed Wound-Wait Control
Alternatives,
257
6.3.5
Distributed Deadlock Detection,
260
6.3.5.1
Centralized Deadlock Detectors,
262
6.3.5.2
Hierarchical Deadlock Detectors,
262
6.3.5.3
Distributed Deadlock Detectors,
262
6.4
Summary,
270
6.5
Glossary,
271
References,
272
Exercises,
272
7
Replication Control
275
7.1
Replication Control Scenarios,
276
7.1.1
Synchronous Replication Control Approach,
277
7.1.2
Asynchronous Replication Control,
278
7.2
Replication Control Algorithms,
279
7.2.1
Architectural Considerations,
279
7.2.2
Master-Slave Replication Control Algorithm,
280
7.2.2.1
Centralized Transaction Acceptance/Rejection
Phase,
281
7.2.2.2
Centralized Transaction Application Phase,
281
7.2.3
Distributed Voting Algorithm,
282
7.2.3.1
Distributed Transaction Acceptance Phase,
282
7.2.3.2
Distributed Transaction Application Phase,
282
7.2.4
Majority Consensus Algorithm,
283
7.2.4.1
The Voting Rule,
284
7.2.4.2
The Resolution Rule,
284
7.2.4.3
The Transaction Application Rule,
284
7.2.5
Circulating Token Algorithm,
284
7.2.5.1
Circulating Token Implementation,
285
7.2.6
Generalized Voting Algorithm for Replication Control,
287
7.2.7
Posted Update Approach,
290
7.3
Summary,
291
7.4
Glossary,
292
References,
293
Exercises,
293
8
Failure and Commit Protocols
297
8.1
Terminology,
297
8.1.1
Soft Failure,
297
8.1.2
Hard Failure,
298
8.1.3
Commit Protocols,
298
8.1.3.1
Commit Point,
299
8.1.3.2
Transaction Rollback (Undo),
299
8.1.3.3
Transaction Roll Forward (Redo),
300
CONTENTS xiii
8.1.4
Transaction
States, 300
8.1.5
Database
Update
Modes,
302
8.1.6
Transaction Log,
302
8.1.7
DBMS Storage Types,
303
8.1.8
Log Contents,
304
8.1.8.1
Deferred Update Mode Log Records,
304
8.1.8.2
Immediate Update Mode Log Records,
306
3.2
Undo/Redo and Database Recovery,
308
8.2.1
Local Recovery Management,
308
8.2.1.1
Database Buffers and Log Buffers,
309
8.2.1.2
Log Archival and Database Backups,
311
8.2.1.3
Backup Types,
311
8.2.1.4
Rolling a Database Forward,
313
8.2.1.5
Rolling a Database Back,
313
3.3
Transaction States Revisited,
313
8.3.1
Deferred Update Transaction Steps,
313
8.3.2
Immediate Update Transaction Steps,
314
ІЛ
Database Recovery,
314
8.4.1
Logging Process,
314
8.4.2
Recovery Process,
316
8.4.2.1
Log Information Analysis,
316
8.4.2.2
Recovery from a Power Failure,
317
8.4.2.3
Recovery from Disk Failure,
317
8.4.2.4
Checkpointing,
318
5.5
Other Types of Database Recovery,
319
8.5.1
Recovery to Current,
319
8.5.2
Recovery to a Point-in-Time in the Past,
319
8.5.3
Transaction Recovery,
320
8.5.3.1
Transaction Recovery Using UNDO
Scripts,
320
8.5.3.2
Transaction Recovery Using REDO
Scripts,
321
5.6 Recovery Based on Redo/Undo Processes,
322
!.7 The Complete Recovery Algorithm,
323
!.8 Distributed Commit Protocols,
324
8.8.1
Architectural Requirements,
325
8.8.2
Distributed Commit Protocols,
326
8.8.3
One-Phase Commit,
327
8.8.4
Two-Phase Commit Protocol,
329
8.8.4.1
Resiliency of 2PC and Failure Handling,
332
8.8.4.2
Termination Protocols in 2PC,
336
8.8.4.3
Recovery Protocols in 2PC,
340
8.8.4.4
2PC Coordinator Recovery Process,
341
8.8.4.5
2PC Slave Recovery Process,
342
8.8.4.6
New Coordinator Election in 2PC,
342
8.8.4.7
Multiple Site Failures in 2PC,
342
8.8.4.8
Two-Phase Commit Performance,
343
8.8.5
Three-Phase Commit Protocol,
345
xiv CONTENTS
8.8.5.1
Resiliency of
ЗРС,
345
8.8.5.2
Multiple Site Failures in 3PC,
349
8.8.6
Network Partitioning and Quorum-Based Commit
Protocol,
349
8.9
Summary,
351
8.10
Glossary,
351
References,
353
Exercises,
354
9
DDBE Security
357
By Bradley S. Rubin
9.1
Cryptography,
357
9.1.1
Conventional Cryptography,
358
9.1.1.1 DES/Triple DES, 360
9.1.1.2
AES,
361
9.1.1.3
RC4,
361
9.1.2
Message Digests and Message Authentication Codes,
362
9.1.2.1
MD5 and
SHA,
362
9.1.3
Public Key Cryptography,
363
9.1.3.1
RSA and Diffie-Hellman,
364
9.1.4
Digital Signatures,
364
9.1.5
Digital Certificates and Certification Authorities,
365
9.2
Securing Communications,
366
9.2.1
SSL/TLS,
366
9.2.2
VPN,
IPSec,
and SSH,
368
9.3
Securing Data,
368
9.3.1
Authentication and Authorization,
368
9.3.2
Data Encryption,
369
9.3.3
Unvalidated Input and SQL Injection,
370
9.3.3.1
Bypassing the Password for Customer
Login,
371
9.3.3.2
Bypassing the Password for Change
Password,
372
9.3.3.3
Vandalizing the DDBE,
372
9.3.3.4
Preventing SQL Injection,
374
9.3.4
Data Inference,
374
9.3.5
Data Auditing,
375
9.4
Architectural Issues,
375
9.5
A Typical Deployment,
376
9.6
Summary,
377
9.7
Glossary,
377
References,
380
Exercises,
381
10
Data Modeling Overview
383
10.1
Categorizing MLs and DMs,
384
CONTENTS xv
10.1.1
The CLP Taxonomy,
385
10.1.2
The 3LM Taxonomy,
388
10.1.3
Other Categorization Approaches,
389
10.2
The Conceptual Level of the CLP,
390
10.2.1
Conceptual-Level Issues,
390
10.2.1.1
DBE Design and Implementation Independence
Issues,
390
10.2.1.2
Abstraction Issues,
392
10.2.1.3
Emphasis Issues,
393
10.2.2
Conceptual-Level Goals,
394
10.2.2.1
Documenting the
DB
Requirements,
394
10.2.2.2
Supporting Forward Engineering,
394
10.2.2.3
Supporting Reverse Engineering,
395
10.3
Conceptual Modeling Language Examples,
396
10.3.1
The Entity Relationship Model,
396
10.3.1.1
Construct Review,
396
10.3.1.2
ERM Rules and Guidelines,
402
10.3.1.3
Traditional Chen ERD Notation,
405
10.3.1.4
Crow s Foot/Feet Notation,
407
10.3.1.5
Unified Modeling Language,
408
10.4
Working With Data Models,
411
10.4.1
CDMs,
411
10.4.1.1
Capture the Requirements,
411
10.4.1.2
Identify Concepts in the Requirements,
412
10.4.1.3
Group Concepts Together,
412
10.4.1.4
Remove Ambiguities,
412
10.4.1.5
Apply Corrections, Conventions, and
Standards,
413
10.4.2
LDMs,
413
10.4.2.1
Purpose,
413
10.4.2.2
Steps to Create LDMs,
414
10.4.3
PDMs,
415
10.4.3.1
Purpose,
415
10.4.3.2
Steps to Create PDMs,
416
10.5
Using Multiple Types of Modeling,
416
10.5.1
Conversion to Multiple Models,
417
10.5.2
Forward Engineering,
417
10.5.3
Reverse Engineering,
418
10.6
Summary,
418
10.7
Glossary,
419
References,
421
Exercises,
422
11
Logical Data Models
425
11.1
The RDM,
426
11.1.1
Nomenclature,
426
11.1.1.1
Relations, Tuples, and Domains,
427
CONTENTS
11.1.1.2
Keys,
428
11.1.2
Rules for Forward
Engineering,
429
11.1.2.1
Forward Generation of ATs,
429
11.1.2.2
Forward Generation of RTs,
433
11.1.2.3
Forward Generation of ETs,
433
11.1.2.4
Forward Generation of ITs,
434
11.1.3
Rules for Reverse Engineering,
435
11.1.4
Special Considerations,
435
11.1.4.1
Normal Forms,
436
11.1.4.2
Second Normal Form,
436
11.1.4.3
Third Normal Form and Beyond,
436
11.2
The Network Data Model,
436
11.2.1
Nomenclature,
437
11.2.1.1
Records, Data Items, and Record Types,
437
11.2.1.2
Set Types,
437
11.2.1.3
Data Storage and Navigation,
438
11.2.2
Rules for Forward Engineering,
438
11.2.2.1
Forward Generation of ATs,
438
11.2.2.2
Forward Generation of RTs,
438
11.2.2.3
Forward Generation of ETs,
439
11.2.2.4
Forward Generation of ITs,
439
11.2.3
Rules for Reverse Engineering,
440
11.2.4
Special Considerations,
440
11.3
The Hierarchical Data Model,
440
11.3.1
Nomenclature,
441
11.3.1.1
Records, Fields, and Record Types,
441
11.3.1.2
Parent-Child Association and Link Types,
441
11.3.1.3
Hierarchies,
441
11.3.1.4
Virtual Record Types and Virtual Link
Types,
441
11.3.2
Rules for Forward Engineering,
442
11.3.2.1
Forward Generation of ATs,
442
11.3.2.2
Forward Generation of RTs,
442
11.3.2.3
Forward Generation of ETs,
442
11.3.2.4
Forward Generation of ITs,
442
11.3.3
Rules for Reverse Engineering,
442
11.3.4
Special Considerations,
443
11.4
TheOODM,
443
11.4.1
Nomenclature,
443
11.4.1.1
Properties and Methods,
443
11.4.1.2
Classes and Class Inheritance,
444
11.4.1.3
Objects and Object Identifiers,
444
11.4.1.4
Navigation and Extents,
444
11.4.2
Rules for Forward Engineering,
444
11.4.2.1
Forward Generation of ATs,
444
11.4.2.2
Forward Generation of RTs,
445
11.4.2.3
Forward Generation of ETs,
445
11.4.2.4
Forward Generation of ITs,
445
CONTENTS xvii
11.4.3
Rules for Reverse
Engineering, 445
11.4.4
Special Considerations,
445
11.5
Summary,
446
11.6
Glossary,
446
References,
449
Exercises,
450
12
Traditional DDBE Architectures
451
12.1
Applying Our Taxonomy to Traditional DDBE Architectures,
452
12.1.1
Classifying the Traditional DDBMS Architecture,
453
12.1.1.1
The COS-DAD Level,
453
12.1.1.2
The COS-COO Level,
453
12.1.1.3
The
S
AD-VIS Level,
453
12.1.1.4
The SAD-CON Level,
454
12.1.1.5
DDBMS Architectural Summary,
454
12.1.2
Classifying the Federated Database Architecture,
454
12.1.2.1
The COS-DAD Level,
455
12.1.2.2
The COS-COO Level,
455
12.1.2.3
The SAD-VIS Level,
455
12.1.2.4
The SAD-CON Level,
455
12.1.2.5
Federated Database Architectural
Summary,
456
12.1.3
Classifying the Nonfederated Database Architecture,
456
12.1.3.1
The COS-DAD Level,
456
12.1.3.2
The COS-COO Level,
456
12.1.3.3
The SAD-VIS Level,
457
12.1.3.4
The SAD-CON Level,
457
12.1.3.5
Nonfederated Database Architectural
Summary,
457
12.2
The MDBS Architecture Classifications,
457
12.3
Approaches for Developing A DDBE,
459
12.3.1
The
Тор
-Down
Methodology,
459
12.3.1.1
Creating the GCS Top-Down,
459
12.3.1.2
Developing the Software Top-Down,
459
12.3.2
Bottom-Up Methodology,
459
12.3.2.1
Creating the GCS Bottom-Up,
460
12.3.2.2
Developing the Software Bottom-Up,
460
12.4
Deployment of DDBE Software,
461
12.5
Integration Challenges,
463
12.5.1
Software Integration Issues,
465
12.5.2
Schema Integration Issues,
466
12.5.2.1
GCS Maintenance Issues,
466
12.5.2.2
GCS Creation Issues,
469
12.6
Schema Integration Example,
477
12.6.1
Translation Step,
478
12.6.2
Export Schema Generation,
481
12.6.3
Discovery and Resolution Steps,
481
xviii CONTENTS
12.6.4
Restructuring Step,
482
12.7
Example of Existing Commercial DDBEs,
483
12.7.1
Schema Integration in Commercial Systems,
485
12.7.2
Software Integration in Existing Products,
486
12.7.3
Microsoft Access,
487
12.7.3.1
Differences Between Importing and Linking in
Access,
488
12.7.4
InfoSphere Federation Server,
488
12.8
The Experiment,
489
12.8.1
The Example Database,
489
12.8.2
Database Distribution,
489
12.8.3
The Setup,
490
12.8.4
Setting Up Data Source Names,
492
12.8.4.1
Linking Data Sources into Access,
495
12.8.5
Linking Data Sources into Federation Server,
497
12.8.5.1
Creating the Nickname for the Excel Spreadsheet
on C4,
498
12.8.5.2
Creating the Nickname for the EmpLSal_LE5K
Table,
499
12.8.5.3
Creating the Nicknames for Emp_SaLGT5K and
Child,
500
12.8.6
The Experiments,
502
12.8.7
Querying the Database from Access and Federation
Server,
503
12.8.8
Modifying the Database from Access and Federation
Server,
505
12.9
Summary,
509
12.10
Glossary,
509
References,
511
Exercise,
512
13
New DDBE Architectures
513
13.1
Cooperative DBEs,
513
13.1.1
Subsystems Overview,
515
13.1.1.1
Client,
517
13.1.1.2
Distributed Query Service Provider,
517
13.1.1.3
Data Dictionary Service Provider,
518
13.1.1.4
Global Interface Schema,
519
13.1.1.5
Local Deployment Schema,
521
13.1.1.6
Local Query Service Provider,
522
13.1.2
Implementation Specifics,
523
13.1.2.1
DQSP/LQSP Registration and
Deregistration,
523
13.1.2.2
The Client Sends a Query to the DQSP,
523
13.1.2.3
The DQSP Sends a Query to the DDSP,
524
13.1.2.4
The DDSP Sends a Fully Qualified Query to the
DQSP,
525
CONTENTS xix
13.1.2.5
The Election Process,
526
13.2
Peer-to-Peer DDBEs,
528
13.2.1
P2P Overview,
528
13.2.1.1
Client,
529
13.2.1.2
Global Interface Schema,
529
13.2.1.3
Local Deployment Schema,
529
13.2.1.4
Query Service Provider,
529
13.2.2
Implementation Specifics,
530
13.3
Comparing COOP and P2P,
530
13.3.1
COOP Versus P2P,
530
13.3.2
COOP/P2P Versus Traditional DDBEs,
531
13.3.3
COOP/P2P Versus Other DDBEs,
532
13.4
Summary,
532
13.5
Glossary,
533
References,
534
Exercises,
534
14
DDBE Platform Requirements
535
14.1
DDBE Architectural Vocabulary,
537
14.1.1
Components and Subsystems,
537
14.1.2
Service Consumers and Service Providers,
537
14.1.3
Architectural Visualizations,
538
14.1.3.1
The Three-Tier Model,
538
14.1.3.2
Service-Oriented Architecture,
540
14.1.4
Middleware,
542
14.2
Fundamental Platform Requirements,
544
14.2.1
Development Requirements,
544
14.2.1.1
Integration Requirements,
545
14.2.1.2
Extensibility Requirements (Frameworks),
546
14.2.1.3
Portability Requirements,
547
14.2.2
Deployment Requirements,
548
14.2.2.1
COS Pooling Requirements,
549
14.2.2.2
COS
Versioning
Requirements,
549
14.2.2.3
COS Configuration Requirements,
550
14.2.2.4
COS Deployment Requirements,
550
14.2.3
Execution Requirements,
551
14.2.3.1
Multitasking Requirements,
551
14.2.3.2
Concurrent Execution Requirements,
553
14.3
Distributed Process Platform Requirements,
555
14.3.1
Remoteability Requirements,
556
14.3.1.1
Remote-Code Execution,
557
14.3.1.2
Remote Messaging,
560
14.3.2
Directory Service Requirements,
564
14.3.2.1
Naming Service Requirements,
565
14.3.2.2
Registration Service Requirements,
565
14.3.2.3
Lookup Service Requirements,
566
14.4
Distributed Data Platform Requirements,
567
xx CONTENTS
14.4.1
Architectural Security Requirements,
567
14.4.1.1
Security Policies,
567
14.4.1.2
Authentication,
568
14.4.1.3
Authorization,
568
14.4.1.4
Encryption,
568
14.4.1.5
Final Thoughts on Security,
569
14.4.2
Database Connectivity Requirements,
569
14.4.3
Transaction Management Requirements,
570
14.5
Preview of the DDBE Platforms Used in Chapters
15-19, 570
14.5.1
The Java Message Service
(JMS)
Platform,
571
14.5.2
The Java
2
Enterprise Edition (J2EE) Platform,
571
14.5.3
The Microsoft .NET Framework-Based Platform,
572
14.6
Summary,
573
14.7
Glossary,
574
References,
577
Exercises,
577
15
The
JMS
Starter Kit
579
15.1
Java Message Service Overview,
581
15.1.1
Architectural Overview,
581
15.1.1.1
Service Terminology Review,
582
15.1.1.2
Administered Objects,
583
15.1.1.3
Connection Factories and Connections,
584
15.1.1.4
Thread-Safety Considerations,
584
15.1.1.5
Destination Objects,
585
15.1.1.6
Architectural Summary,
586
15.1.2
Messaging Overview,
586
15.1.2.1
Application-Defined Protocols,
587
15.1.2.2
Synchronous Versus Asynchronous
Messaging,
588
15.1.2.3
Message Persistence,
589
15.1.2.4
Message Acknowledgment,
591
15.1.2.5
Message Reliability,
593
15.1.2.6
Message Errors and Exceptions,
593
15.1.2.7
Message Ordering,
594
15.1.3
Messaging Domains,
595
15.1.3.1
Point-to-Point (PTP) Messaging,
596
15.1.3.2
Publish-and-Subscribe (Pub/Sub)
Messaging,
597
15.1.4 JMS
API Constructs,
598
15.1.4.1
Connection Factory,
598
15.
15.
15.
15.
15.
.4.2
Connection,
598
.4.3
Session,
599
.4.4
Destination,
600
.4.5
Message Producer,
601
.4.6
Message Consumer,
601
15.1.4.7
Message,
601
CONTENTS xxi
15.2 JMS Provider Implementation Alternatives, 602
15.2.1 Apache ActiveMQ, 603
15.2.1.1 Software Installation, 603
15.2.1.2
Configuration,
603
15.2.1.3
Startup and Shutdown,
604
15.2.1.4
Administration Facilities,
604
15.2.2
OpenJMS,
605
15.2.2.1
Software Installation,
605
15.2.2.2
Configuration,
605
15.2.2.3
Startup and Shutdown,
606
15.2.2.4
Administration Facilities,
606
15.3 JMS
Starter Kit (JMS-SKIT) Framework Overview,
606
15.3.1
Framework Goals,
607
15.3.1.1
Message Reliability Goals,
607
15.3.1.2
Communication Topography Goals,
608
15.3.1.3
Deployment Topography Goals,
608
15.3.1.4
Software Complexity Goals,
608
15.3.2
Framework Package Overview,
609
15.3.2.1
Framework Interface Package Overview,
609
15.3.2.2
Framework Implementation Package
Overview,
612
15.4
Using the JMS-SKIT Framework,
613
15.4.1
Sample Extension Overview,
613
15.4.1.1
Sample Extension Architectural Overview,
614
15.4.1.2
Sample Extension Design Overview,
614
15.4.1.3
Sample Extension Implementation
Overview,
615
15.4.1.4
Sample Extension Deployment Overview,
615
15.4.2
Creating New Extensions,
615
15.4.3
Improving the JMS-Based Framework,
616
15.5
Summary,
616
15.6
Glossary,
617
Reference,
619
Exercises,
619
16
The J2EE Platform
621
16.1
Java
2
Enterprise Edition (J2EE) Overview,
622
16.1.1
Fundamental J2EE Vocabulary Terms,
622
16.1.1.1
Java
2
Standard Edition,
623
16.1.1.2
J2SE Development Kit,
623
16.1.1.3
Java Runtime Environment,
623
16.1.1.4
Java
2
Enterprise Edition,
624
16.
16.
16.
16.
16.
1.5
J2EE Application Servers,
624
1.6
Containers,
624
1.7
Java Beans,
624
1.8
Enterprise Java Beans,
624
1.9
Application Clients,
625
xxii CONTENTS
16.1.2
Architectural
Overview,
625
16.1.3
Development Overview,
625
16.1.4
Deployment Overview,
626
16.2
J2EE Support for Distributed Process Platform Requirements,
626
16.2.1
J2EE Remote-Code Execution,
627
16.2.1.1
Remote Method Invocation,
627
16.2.1.2
XML Web Services and SOAP,
627
16.2.1.3
Session Beans,
628
16.2.2
J2EE Remote Messaging,
629
16.2.2.1
Message Driven Beans,
629
16.2.2.2
Java Message Service,
629
16.2.3
J2EE Directory Services,
630
16.2.3.1
The Java Naming and Directory Interface
Facility,
630
16.2.3.2
The RMI Registry Facility,
631
16.2.3.3
The Universal Description, Discovery, and
Integration Facility,
631
16.3
J2EE Support for Distributed Data Platform Requirements,
631
16.3.1
J2EE Security,
632
16.3.2
Java Database Connectivity,
632
16.3.3
J2EE Transactions,
633
16.4
J2EE Platform Implementation Alternatives,
633
16.4.1
JBoss,
634
16.4.2
Apache
Gerónimo,
635
16.4.3
JOnAS,
635
16.4.4
Other J2EE Platform Implementation Alternatives,
635
16.5
Summary,
636
16.6
Glossary,
637
References,
639
Exercises,
640
17
The J2EE Starter Kit
641
17.1
Java
2
Enterprise Edition Starter Kit (J2EE-SKIT) Overview,
642
17.1.1
J2EE-SKIT Goals,
642
17.1.2
J2EE-SKIT Architectural Overview,
643
17.1.2.1
J2EE-SKIT Subsystem Identification,
644
17.1.2.2
J2EE-SKIT Subsystem Interaction
Overview,
645
17.1.3
J2EE-SKIT Framework Architectural Overview,
648
17.1.3.1
The Ddbms Subsystem,
648
17.1.3.2
The Parser Subsystem,
648
17.1.4
J2EE-SKIT Extension Architectural Overview,
649
17.1.4.1
The Qualifier Subsystem,
649
17.1.4.2
The Planner Subsystem,
650
17.1.4.3
The Dem Subsystem,
650
Π Λ Λ.4
The
Lem
Subsystem,
651
17.2
J2EE-SKIT Design Overview,
651
CONTENTS xxiii
17.2.1 J2EE-SKIT Framework Design
Overview,
651
17.2.1.1 The Ddbms Subsystem, 652
17.2.1.2 The Parser Subsystem, 653
17.2.2 J2EE-SKIT
Extension
Design
Overview,
654
17.2.2.1
The Qualifier
Subsystem, 655
17.2.2.2 The Planner Subsystem, 655
17.2.2.3 The Dem Subsystem, 655
17.2.2.4 The Lern Subsystem, 656
17.2.3 Parameter Type Interfaces, 656
17.2.3.1 ParsedSQL, 657
17.2.3.2 QualifiedSQL, 657
17.2.3.3
DET,
657
17.2.3.4 QueryResultSet, 657
17.2.4
Exception Type Classes,
658
17.2.4.1 Framework
and Extension Exception Base
Classes,
658
17.2.4.2
Subsystem-Specific Exception Base
Classes,
659
17.3
Summary,
659
17.4
Glossary,
660
References,
662
Exercises,
662
18
The Microsoft .NET Platform
663
18.1
Platform Overview,
665
18.1.1
Fundamental Platform-Specific Vocabulary Terms,
666
18.1.1.1
Common Language Runtime,
667
18.1.1.2
Base Class Library,
667
18.1.1.3
Common Language Specification,
667
18.1.1.4
Common Type System,
668
18.1.1.5
Intermediate Language,
669
18.1.1.6
Managed/Unmanaged Components,
669
18.1.1.7
Assemblies,
671
18.1.1.8
Global Assembly Cache,
672
18.1.1.9
Application Domains,
672
18.1.2
Architectural Overview,
673
18.1.3
Development Overview,
674
18.1.4
Assembly Deployment Overview,
675
18.1.4.1
Configuration,
676
18.1.4.2
Assembly Deployment Alternatives,
677
18.1.4.3
Deploying Shared Assembly,
678
18.1.4.4
Deploying a Private Assembly,
678
18.2
Support for Distributed Process Platform Requirements,
679
18.2.1
Remote-Code Execution Requirements,
680
18.2.1.1
.NET
Remoting,
680
18.2.2
Remote Messaging Requirements,
681
18.2.3
Directory Services Requirements,
681
xxiv CONTENTS
18.3
Distributed Data Platform Requirements,
681
18.3.1
.NET Security,
682
18.3.2
ADO.NET Database Connectivity,
682
18.3.3
.NET Transactions,
682
18.4
Summary,
683
18.5
Glossary,
684
References,
686
Exercises,
687
19
The DNET Starter Kit
689
19.1
DNET-SKIT Overview,
690
19.1.1
DNET-SKIT Goals,
691
19.1.2
DNET-SKIT Architectural Overview,
691
19.1.2.1
DNET-SKIT Component Identification,
695
19.1.2.2
DNET-SKIT Subsystem Interaction
Overview,
696
19.1.3
DNET-SKIT Extension Architectural Overview,
697
19.1.3.1
The Ddbms Subsystem,
698
19.1.3.2
The Parser Subsystem,
698
19.1.3.3
The Qualifier Subsystem,
699
19.1.3.4
The Planner Subsystem,
699
19.1.3.5
The Dem Subsystem,
699
19.1.3.6
The
Lem
Subsystem,
699
19.2
DNET-SKIT Design Overview,
700 ■-
19.2.1
DNET-SKIT Framework Design Overview,
700
19.2.1.1
The Framework Interfaces Area,
700
19.2.1.2
The Framework Exceptions Area,
701
19.2.1.3
The Framework Parameters Area,
701
19.2.2
DNET-SKIT Extension Design Overview,
702
19.2.2.1
The Ddbms Subsystem,
703
19.2.2.2
The Parser Subsystem,
704
19.2.2.3
The Qualifier Subsystem,
705
19.2.2.4
The Planner Subsystem,
705
19.2.2.5
The Dem Subsystem,
706
19.2.2.6
The
Lem
Subsystem,
706
19.3
Summary,
707
19.4
Glossary,
708
Reference,
710
Exercises,
710
Index
711
|
any_adam_object | 1 |
author | Rahimi, Saeed |
author_facet | Rahimi, Saeed |
author_role | aut |
author_sort | Rahimi, Saeed |
author_variant | s r sr |
building | Verbundindex |
bvnumber | BV036806549 |
classification_rvk | ST 270 |
ctrlnum | (OCoLC)699552263 (DE-599)BVBBV036806549 |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01429nam a2200373 c 4500</leader><controlfield tag="001">BV036806549</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20110125 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">101130s2010 a||| |||| 00||| eng d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">GBA997940</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780470407455</subfield><subfield code="9">978-0-470-40745-5</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)699552263</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV036806549</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</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><subfield code="a">DE-384</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">Rahimi, Saeed</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Distributed database management systems</subfield><subfield code="b">a practical approach</subfield><subfield code="c">Saeed K. Rahimi ; Frank S. Haug</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Hoboken, N. J.</subfield><subfield code="b">Wiley</subfield><subfield code="c">2010</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xxxiv, 728 p.</subfield><subfield code="b">ill.</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="500" ind1=" " ind2=" "><subfield code="a">Includes bibliographical references and index</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Distributed databases</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Database management</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Verteiltes Datenbanksystem</subfield><subfield code="0">(DE-588)4121865-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Verteiltes Datenbanksystem</subfield><subfield code="0">(DE-588)4121865-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Haug, Frank S.</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=020722621&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-020722621</subfield></datafield></record></collection> |
id | DE-604.BV036806549 |
illustrated | Illustrated |
indexdate | 2024-07-09T22:48:39Z |
institution | BVB |
isbn | 9780470407455 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-020722621 |
oclc_num | 699552263 |
open_access_boolean | |
owner | DE-473 DE-BY-UBG DE-384 |
owner_facet | DE-473 DE-BY-UBG DE-384 |
physical | xxxiv, 728 p. ill. |
publishDate | 2010 |
publishDateSearch | 2010 |
publishDateSort | 2010 |
publisher | Wiley |
record_format | marc |
spelling | Rahimi, Saeed Verfasser aut Distributed database management systems a practical approach Saeed K. Rahimi ; Frank S. Haug Hoboken, N. J. Wiley 2010 xxxiv, 728 p. ill. txt rdacontent n rdamedia nc rdacarrier Includes bibliographical references and index Distributed databases Database management Verteiltes Datenbanksystem (DE-588)4121865-6 gnd rswk-swf Verteiltes Datenbanksystem (DE-588)4121865-6 s DE-604 Haug, Frank S. Sonstige oth Digitalisierung UB Bamberg application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020722621&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Rahimi, Saeed Distributed database management systems a practical approach Distributed databases Database management Verteiltes Datenbanksystem (DE-588)4121865-6 gnd |
subject_GND | (DE-588)4121865-6 |
title | Distributed database management systems a practical approach |
title_auth | Distributed database management systems a practical approach |
title_exact_search | Distributed database management systems a practical approach |
title_full | Distributed database management systems a practical approach Saeed K. Rahimi ; Frank S. Haug |
title_fullStr | Distributed database management systems a practical approach Saeed K. Rahimi ; Frank S. Haug |
title_full_unstemmed | Distributed database management systems a practical approach Saeed K. Rahimi ; Frank S. Haug |
title_short | Distributed database management systems |
title_sort | distributed database management systems a practical approach |
title_sub | a practical approach |
topic | Distributed databases Database management Verteiltes Datenbanksystem (DE-588)4121865-6 gnd |
topic_facet | Distributed databases Database management Verteiltes Datenbanksystem |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020722621&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT rahimisaeed distributeddatabasemanagementsystemsapracticalapproach AT haugfranks distributeddatabasemanagementsystemsapracticalapproach |