Tuesday, February 9, 2016

B5 - Group C - Faisal Alghati

Object Oriented Databases


Object oriented databases are also known as object databases. They help provide platform for performing database operations such as CRUD. This is mainly by defining of data structures through the incorporation of object data model. This means that object-oriented databases do store objects over data such as strings and integers. The relationship between this data is dependent on the objects and is portrayed as attributes and methods of the objects [2]

Objects databases come along with various advantages over other databases, such as follows; They help ensure data distribution. This means the spreading of database services to various servers. In addition, the spreading of applications helps realize concurrency of data. Thus, the overall database performance cannot be affected by the significant computation amounts of an application.
It helps to maintain records of changes in data, which is equally important as the maintenance of the database’s current state. This helps to support the history of data held in the object database. This enables the client to view both current and previous versions of their data held of a certain entity. This helps to ensure data consistency [3]. For example, the part designs of a vehicle can be traced on a specific date, as contained in the object oriented database.

They also help to express relationships between data. For example, when an object is created, it automatically inherits the characteristics and attributes of data from the class from which it was created. It also inherits the data and behaviors from the other supplier objects which it is related with, as defined by the system. This in therefore ensures easier retrieval of data from the object database, as it can be grouped according to relationships between various objects in the object oriented database.

However, object databases are faced with various issues as discussed below;

Object oriented databases are faced with the challenge of meeting the qualities of other database systems. These qualities include providing support for management of authorization, concurrency, stability, data persistence, among others. The data model greatly affects most of this features, even though some of them only have a little connection with the object-oriented databases [3]. Therefore, object database has little impact on characteristics such as locking, triggers, among others.
It also requires the existence of a mechanism to ensure data consistency, in situations when the same persistence data is accessed by various clients at the same time, and the update is also taking place. Failure for the existence of this mechanism could result in the display of inconsistency data to the clients [1]. For example, if two clients update the same version of data, changes will only be made when the second client commits the change, hence losing the data from the first client.

Sometimes, the notifies and triggers that monitor the database contents tend to be prohibitive. This is because of the intent information involved. Object databases are thus forced to ensure efficient implementation of data through the internal implementation of mechanisms of automatic user-level actions based on the occurrence of certain and specified events [2].

In conclusion, object-oriented databases help to integrate the characteristics of database technology with the principles of most programming language designs, such as the complex software engineering and data modelling principles. The main purpose is to achieve all the advantages and benefits of both programming languages designs and the database technologies.

[1]: Sikha Bagui. (2003) Achievements and Weaknesses of Object-Oriented Databases. JOURNAL OF OBJECT TECHNOLOGY, ETH Zurich
http://www.jot.fm/issues/issue_2003_07/column2.pdf
[2]: Harringtn, J. (1999) Object-Oriented Database Design Clearly Explained. Morgan Kaufmann. New York: USA
[3]: Kim, W. (2008) Introduction to Object-Oriented Databases (Computer Systems Series). The MIT Press. Massachusetts: USA

Comments:



2 comments:

  1. Faisal,
    Good point including the ability for object oriented databases to ensure concurrency of data when spread across different systems. This should be a primary concern I believe to both users and manufactures, alone it could lead to a catastrophic loss to the consumer on many platforms. At this point though the use is so proficient throughout the community of both building and many other supported platforms that it would be virtually impossible to change the way we design or operate.

    ReplyDelete
  2. Yes, I agree with you, for object oriented database, creation and use of similar objects are easily repeatable during design, minimizing the complexity of a database system, reducing mistakes and problems, no limitations of data storage per object,use of Class and Hierarchy can also reduce the complexity of the program system.

    ReplyDelete