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:
Faisal,
ReplyDeleteGood 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.
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