Object Databases in Practice

by ; ;
Edition: 1st
Format: Paperback
Pub. Date: 1997-12-05
Publisher(s): Prentice Hall
List Price: $71.33

Rent Textbook

Select for Price
There was a problem. Please try again later.

New Textbook

We're Sorry
Sold Out

Used Textbook

We're Sorry
Sold Out

eTextbook

We're Sorry
Not Available

Summary

Myths about object-oriented databases are rampant. This book debunks them, so database administrators and managers can make informed decisions about the technology.This book presents comprehensive coverage of the "pros and cons" of object-oriented databases, helping managers and administrators decide whether to implement this powerful technology. Through 18 case studies written by expert practitioners, learn how to identify the right applications for OODBMS systems, and understand the hardware requirements and technical tradeoffs involved. The book also includes many never-before-published tips, tricks and techniques for successfully designing and implementing OODBMS in your organization.All database practitioners considering object-oriented database management systems.

Table of Contents

I SYSTEMS ARCHITECTURE 1(74)
Introduction 1(2)
1 Object-Oriented Data Integration: Running Several Generations of Database Technology in Parallel
3(18)
Abstract
3(1)
Introduction
4(2)
Integration Frame
6(6)
Programmer's View
6(1)
Layered Model
7(1)
Object Layer
8(2)
Tuple Interface
10(1)
Some Performance Considerations
11(1)
Further Reading
12(1)
Product Categories
12(2)
Remote Database Access Products
13(1)
Objectified Relational Databases
13(1)
Federated Databases
13(1)
Object-Oriented Databases with Relational Gateways
13(1)
Object-Oriented Access Layers
14(1)
Object-Relational Databases
14(1)
Case Study: Persistent Objects in a Large Bank
14(4)
Situation, Requirements and Software Environment
14(1)
Why Products Failed in 1995
15(1)
Our Architecture
16(2)
Experiences and Summary
18(1)
References
19(2)
2 An Access Layer for Object Databases: Experience Report
21(12)
Abstract
21(1)
A Database Access Layer for ODBMS?
21(9)
The Architecture
24(1)
Database
25(1)
Transactions
25(2)
Error Management
27(1)
Interface to the Application Kernel
27(2)
Filters and Iterators
29(1)
Referencing Transient Objects
30(1)
Software Production Environment
30(1)
Experiences and Summary
31(1)
References
31(2)
3 A Use of the EndGame Design Strategy
33(14)
Abstract
33(1)
Introduction
33(1)
Teaching Our Newcomers a Design Style
34(1)
Design a Persistent Account Class
35(1)
The Simple Problem
35(1)
The Harder Problem
35(1)
The EndGame Design Technique ("squeegee")
36(1)
Application of the EndGame Strategy
37(6)
Move 0: Problem Setup--Identify the Possible Area of Containment
38(1)
Move 1: Secure the End-Client's Interface
39(1)
Move 2: Secure the Workstation Object's Internal Design
39(1)
Move 3: Secure the Distribution Service
40(2)
Move 4: Secure the Server's Internal Design
42(1)
Results of Applying the EndGame Technique
42(1)
How Would One Decide It Is Time to Try EndGame?
43(1)
Comparison of EndGame with Other Design Strategies
43(2)
Summary
45(1)
References
46(1)
4 Building a Push-Based Information System Using an Active Database
47(28)
Abstract
47(1)
Introduction
48(1)
Related Work
49(2)
Design Rationale
51(11)
Predicate Maintained Collections
53(9)
Using Predicate Maintained Collections
62(9)
An Example
62(9)
Experiences and Summary
71(1)
Problems
71(1)
Future Work
72(1)
References
72(3)
II APPLICATIONS AND DESIGN 75(116)
Introduction 75(4)
5 Flight-Simulator Database: Object-Oriented Design and Implementation
79(16)
Abstract
79(1)
Introduction: Why Object-Oriented Flight Simulator Technology?
80(1)
Computing Infrastructure
81(1)
Complex Objects: Airplane Model
81(1)
Type Constructors: Airport Model
82(2)
Polymorphism and Covariance
84(1)
Control System Modeling
85(1)
Behavioral Modeling: Aerodynamics
86(2)
Queries
88(1)
Persistence and Dynamic Binding
89(1)
Constraints and Triggers
90(1)
Analysis
91(2)
Experiences and Summary
93(1)
References
93(2)
6 An Object-Oriented Image Database For Biomedical Research
95(17)
Abstract
95(3)
Problems to be Solved
96(2)
Image Boss System Overview
98(1)
Software and Hardware
98(3)
Various Applications and Tools Implemented
99(2)
Image Boss Design
101(3)
Data Abstraction
101(1)
Class Hierarchy
102(2)
Future Design Plans
104(1)
Justification For Selecting OODB
104(1)
Problems Encountered
105(2)
Integration of Other Tools
105(1)
Archiving
106(1)
Filename Translation
106(1)
Locking
106(1)
Queries
106(1)
Server Crashes
107(1)
Primary Applications of Image Database
107(2)
Conclusions
109(1)
References
110(2)
7 The OSEF (Object-Oriented Software Engineering Flow) Framework
112(21)
Abstract
112(1)
OSEF Architecture
113(1)
General Criteria
113(1)
Software Development Method
114(1)
Bought Components
114(1)
CASE Tool
114(1)
Database Management System
114(1)
Source Code Administration Tool
115(1)
Debugging and Tuning Tools
115(1)
GUI Builder
115(1)
Built Components
115(3)
Framework Class Library
115(1)
Rational Rose Metaschema Model
116(1)
Perl Filters and Preprocessors
116(1)
OSEF Runtime Kernel and Application Control Interface
117(1)
The Development Cycle
118(1)
Step A: Modeling
119(1)
Step B: Implementation
120(1)
Rational Rose/C++
120(3)
Diagrams
121(1)
Exportation/Importation of Items
122(1)
Code Generation Property Sets
122(1)
Preserved Code Regions
122(1)
Tool Evaluation
123(1)
Release History
123(1)
Objectivity/DB
123(5)
Data Definition Language
124(1)
Storage Classes
124(1)
References and Handles
124(1)
Iterators
125(1)
Associations
125(1)
Variable-Size Arrays
125(1)
Physical Clustering of Objects
126(1)
Indexes
126(1)
Transactions and Locking
126(1)
Objectivity/DB Classes in the OSEF Rose Metaschema Model
127(1)
Database Architecture of OSEF Applications
128(3)
Performances and Tuning
128(1)
Evaluation
129(1)
Release History
130(1)
Database Browsing and Inspection
130(1)
Unused Features
131(1)
Experiences and Summary
131(2)
8 Using Objectivity/DB in an Application for Configuration Management
133(19)
Abstract
133(1)
Configuration Managers and Object-Oriented Databases
133(2)
Requirements of a Configuration Manager
134(1)
Database Requirements
134(1)
Using Objectivity/DB to Get an Implement a Configuration Manager
135(3)
Organization of a Federated Database and Related Limits
135(3)
The Proposed CM Model
138(9)
Main Design
138(5)
The CM Schema
143(3)
Modeling Information Inside Associations
146(1)
Final Considerations about Objectivity/DB
147(3)
Automatic Association Generation in Versioning
148(1)
Propagation Property of Associations
149(1)
Evaluation of the CM model
150(1)
Identification of the Configuration Elements
150(1)
Change of Configurations
150(1)
Status Accounting
150(1)
Granularity
150(1)
Support in Views
151(1)
Conclusions
151(1)
References
151(1)
9 Using an OODB for an MIS Application
152(12)
Abstract
152(1)
pc-plus and its Products
152(4)
A Directory Assistance Call Scenario
154(1)
The MIS Application
155(1)
Using VERSANT for MIS
156(1)
MIS Architecture
156(6)
Why VERSANT?
157(1)
The OODB's Impact on the Architecture
158(1)
Software Development Using the OODB
159(3)
Experiences and Summary
162(2)
10 Building a Multi-Petabyte Database--the RD45 Project at CERN
164(13)
Abstract
164(1)
Introduction
165(1)
The RD45 Project
166(2)
Object Databases and Standards
168(1)
Choosing an ODBMS
169(2)
The ODBMS Market
171(1)
HEP Event Data
171(1)
Data Production and Analysis
172(1)
Early Prototyping
172(1)
Production Use of an ODBMS for HEP Event Data
173(1)
The Interface to Mass Storage Systems
174(1)
Performance and Scalability Measurements
174(1)
Possible Storage Hierarchy
175(1)
Use of Very Large Memories
175(1)
Experiences and Summary
176(1)
11 An Astronomer's View of Object-Oriented Databases
177(14)
Abstract
177(1)
Introduction
178(1)
The Sloan Digital Sky Survey
179(2)
The SDSS Archives
181(5)
The Data Products
183(1)
Typical Queries
183(1)
Archive Architecture
184(2)
Platforms, Tools, Libraries
186(1)
Geometric Concepts
186(2)
Experiences and Summary
188(1)
References
188(3)
III OBJECT DATABASE SELECTION AND MIGRATION 191(64)
Introduction 191(2)
12 On Acquiring OODBMS Technology: An Industry Perspective and a Case Study Comparison of Objectivity/DB and VERSANT
193(17)
Abstract
193(1)
Introduction
194(1)
Industry Perspective
195(2)
The Application
197(1)
ODMG Standard
198(2)
VERSANT
200(4)
Design
200(3)
Query Capability
203(1)
Objectivity/DB
204(1)
Design
204(3)
Query Capability
206(1)
Comparison
207(2)
Summary
209(1)
References
209(1)
13 Modeling Battlefield Sensor Environments: An Object Database Management System Case Study
210(6)
Abstract
210(1)
Introduction
210(1)
Data Model
211(1)
User Interface
212(1)
Database Management System
212(2)
Conclusions
214(1)
References
214(2)
14 Transaction Processing in the Capital Markets
216(18)
Abstract
216(1)
Introduction
216(2)
Technology Product Set
218(2)
Relational or Object Database?
220(5)
Relational Databases
221(1)
Object Databases
222(2)
Object-Relational Database Management Systems
224(1)
The Selection for Aurora
224(1)
ODBMS Selection
225(6)
Architectural Overview
225(2)
Language Binding
227(1)
Building an Object Database Adapter
227(2)
Approaches to Evaluating an ODBMS
229(2)
Experiences with Three ODBMSs
231(2)
GemStone
231(1)
ObjectStore for Smalltalk
232(1)
Objectivity/Smalltalk
232(1)
Experiences and Summary
233(1)
References
233(1)
15 Migration Process and Consideration for the Object-Oriented Vector Product Format to ObjectStore Database Management System
234(21)
Abstract
234(1)
Introduction
235(1)
ODBMS Integration
236(1)
Why Use an ODBMS?
236(4)
ODBMS Concepts
237(1)
ObjectStore
238(2)
OVPF Design
240(1)
Introduction Object-Oriented Class Diagrams and Terms
240(6)
Metadata Classes and Instances
241(5)
Database Implementation
246(4)
Persistent Object Webs in OVPF
246(1)
ObjectStore
247(3)
Experiences and Summary
250(2)
References
252(3)
IV PERFORMANCE 255(50)
Introduction 255(2)
16 Performance Tuning Considerations and Required Tools for an OODB Application
257(21)
Abstract
257(1)
Description of the Application
257(3)
Performance Criteria
258(2)
Application System Tuning
260(15)
Application Tuning Factors
261(8)
Application/OODB Tuning Factors
269(5)
OODB Tuning Factors
274(1)
Application/OODB Monitoring
275(1)
Experiences and Summary
275(2)
References
277(1)
17 Performance Evaluation and Optimization for a Financial OODB Application
278(11)
Abstract
278(1)
Introduction
279(1)
Database Access Types
279(1)
General Directions
280(1)
Where to Optimize
280(1)
What to Look For
280(1)
Levels of Collecting Statistical Data
280(1)
Transaction Level
280(1)
Use Case Level
280(1)
Performance Analysis Tools
281(3)
UBS Transaction Monitor and Perl Scripts
281(2)
ObjectStore Performance Expert (OPE)
283(1)
Optimization Areas
284(4)
Use Object References, Not Foreign Keys
284(1)
Select Appropriate Transaction Boundaries
284(2)
Reuse Instances to Avoid Frequent Object Creation and Deletion
286(1)
Indexes for Associative Accesses
286(1)
Extent Queries
286(1)
Reduce Data Transfer for the GUI
287(1)
Object Clustering
287(1)
Experiences and Summary
288(1)
References
288(1)
18 A Subjective View of Objectivity/DB
289(16)
Abstract
289(1)
Federation-Wide Indexing in Objectivity
289(1)
Background
289(5)
Approaches Considered
290(1)
Skip List Algorithm
291(2)
Making It Generic
293(1)
Benefits
293(1)
Costs
293(1)
Encapsulation of a Database Product to Achieve Vendor and Application Independence
294(4)
Application Independence
294(1)
Vendor Independence
295(1)
Why Choose ODMG as the Model?
295(1)
Costs
296(1)
Creating a Model to Fit the Underlying Database Architecture
297(1)
Choosing a Database--Academic Comparison Versus Real-Life Usage
298(1)
Evaluating a Product
298(5)
Understanding Your Own Requirements
302(1)
Experiences and Summary
303(2)
Index 305

Excerpts

Introduction Today, the rate of technological change is rapidly accelerating. Organizations are faced with increasingly difficult decisions about their choices for hardware and Software platforms. Furthermore, increasing deregulation in many countries has forced companies into more aggressive deadlines and timescales to compete and survive. At present, object oriented technology is viewed as being able to deliver more reliable and better quality software, because it enables the building of more modular software by using well-defined interfaces and hiding implementation details. This can be seen in Table P-1, which shows the results of a survey of visitors to Object World UK in 1995. According to Leach Lea95, the top reason shown in Table P-1 was also number one in 1993 and 1994. The total worldwide sales of object-oriented development tools by US companies in 1995 were valued at US $1.3 Billion OOS96. A breakdown of the figures shows that object-oriented languages were the largest (US $440 Million), followed by application development environments (US $380 Million) and then object- oriented databases (US $218 Million). Object-oriented languages are quite mature; Simula (the precursor to languages such as C++) has been in existence since the late 1960s. Other languages, such as Smalltalk, have also been used for several decades. On the analysis and design side, efforts are well underway through the Object Management Group (OMG) to develop a standard modeling language to communicate object-oriented designs. The need for a standard modeling language is analogous to Electrical Engineering's need for a standard notation to communicate electrical circuit designs. A standard notation will be understood by engineers wherever they were in the world. Object databases, however, are still relatively rarely used in production LC96. The reason for this has been that a database is often at the core of many business processes within a company. Changing it can be difficult and expensive, as there may be many application dependencies. In contrast, applications can often be re- written in another language without affecting existing applications. An organization can also switch modeling languages and notions without affecting existing systems or application designs. The Growth of Object Database Usage Most of the major commercial object database products were developed towards the end of the 1980s and early 1990s. Many of them were built around object-oriented programming languages and had as their primary objective providing persistence for programming language objects. The computer-aided design vendors were early adopters of this technology. Previously, their approach was typically to store design objects in a relational database or to use some proprietary or flat file system. This approach often resulted in unsatisfactory performance. To retrieve design objects, for example, many database objects may have to be read and reassembled together in memory. For storage, the design objects would need to be flattened or decomposed to be manageable in conventional record or tuple structures. Some examples to illustrate these problems have been described by Loomis Loo95. Over the years, object database technology has become increasingly popular within other industry sectors as well. Evidence of this shift towards non-engineering applications has been reported in Lea95 and shown in Table P-2. Additional evidence showing the shift to increasing mainstream commercial usage of object databases has been reported by Barry Bar97, based on a study of twenty-four organizations. Results of another survey of 700 Information Technology (IT) professionals in DBW97 showed that nearly 50 percent of respondents indicated that object-oriented databases were a technology area that their companies may use, with the Leisure, Transport, Ret

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.