Describe different implementation issues with object relational database system.

 Several Implementation Challenges Due to Enhanced Functionality of ORDBMS :-

1.  Storage & Access Method 

2. Query Processing 

3. Query Optimization 

1.  Storage & Access Method 

  •  efficiently store ADT objects and structure objects and provide efficient indexed access to both
  •  Large ADTs, like BLOBs(Binary Large Object), require special storage, typically in a different location on disk from the tuples that contain them 
  • Disk-based pointers are maintained from the tuples to the objects they contain.
  • A complication arises with array types. Arrays are broken into contiguous chunks, which are then stored in some order on a disk.

2. Query Processing 

  •  ADTs and structured types call for new functionality in processing queries 
  •  To register an aggregation function, a user must implement three methods, which we call initialize, iterate and terminate. 
  •  ADTs give users the power to add code to the DBMS; this power can be abused.
  •  A buggy or malicious ADT method can bring down the database server or even corrupt the database.
  •  User-defined ADT methods are very expensive

3. Query Optimization 

  • To handle new query processing functionality, an optimizer must know about the new functionality and use it inappropriately.

OR,

Implementation and Related Issues for ORDBMS 

There are various implementation issues regarding the support of an extended type system with associated functions (operations) 

Dynamic linking: 

  • The ORDBMS must dynamically link a user-defined function in its address space only when it is required. As numerous functions are required to operate on three-dimensional spatial data, images, text, and so on, and with a static linking of all function libraries, the DBMS address space may increase by an order of magnitude. 

Client-server system: 

  • Client-server issues deal with the placement and activation of functions. If a server needs to perform a function, it is best to do so in the DBMS (server) address space rather than remotely, due to a large amount of overhead. If a function demands computation that is too intensive or if a server is attending to a very large number of clients, the server may ship the function to a separate client machine.

Function execution: 

  • It should be possible to run queries inside functions. A function must operate the same way whether it is used from an API or it is invoked by DBMS as a part of executing SQL with the function embedded in an SQL statement.

  Storage and access methods: 

  • Because of the variety in the data types in an ORDBMS and associated operations, efficient storage and access to the data are important. 
  • The RDBMS must allow new types to be defined with new access structures. Dealing with large text strings or binary files also opens up a number of storage and search options. It should be possible to explore such new options by defining new data types within the ORDBMS. 
  • .Large ADT objects and structured objects complicate the layout of data on disk. 
  • User-defined ADTs can be quite large. In particular, they can be bigger than a single disk page. Large ADTs, like BLOBs, require special storage, typically in a different location on disk from the tuples that contain them. Disk-based pointers are maintained from the tuples to the objects they contain.
  •  Structured objects can also be large, but unlike ADT objects, they often vary in size during the lifetime of a database.
  •  An important issue for ORDBMS is to provide efficient indexes for ADT methods and operators on structured objects. 

 Object-relational database design:

  • Object-relational design is more complicated because we have to consider not only the underlying design considerations of application semantics and dependencies in the relational model but also the object-oriented nature of the extended features.

 Query processing and optimization:

  •  ADTs and structured types call for new functionality in processing queries in ORDBMS.
  •  They also change the number of assumptions that affect the efficiency of queries. 
  • Users of ORDBMS can define new aggregate functions for their ADTs.
  • By extending SQL with functions and rules, the problem of query processing and query optimization is further compounded beyond the relational model. 

Interaction of rules with transactions: 

  • Rule processing as implied in SQL covers rules, which are implemented in RDBMS as triggers. 
  •  Moreover, RDBMSs implement only immediate execution of triggers. 
  •  A differed execution of triggers in ORDBMSs involves additional processing. 


Comments

Popular posts from this blog

What are different steps used in JDBC? Write down a small program showing all steps.

Discuss classification or taxonomy of virtualization at different levels.

Pure Versus Partial EC