ARCHITECTURE OF OBJECT ORIENTED DATABASE

 

ARCHITECTURE OF OBJECT ORIENTED DATABASE

 

An object-oriented database stores data as objects, similar to how certain programming languages manage data. Instead of tables with rows and columns like traditional databases, object databases use complex data structures to represent data.

How object-oriented databases differ from relational databases

When comparing Relational Databases and Object-Oriented Databases (OODBs), a couple of key differences stand out: 1. structure and 2. flexibility.


1. Structure

  • Relational databases: These databases use a structured format with tables, rows, and columns. Each table represents a different entity (like customers or products), and the rows in these tables are individual records. Columns represent the attributes of these records.
  • Object-oriented databases: In contrast, OODBs store data as objects. An object can encapsulate complex data structures and their associated actions.


2. Flexibility

  • Relational databases: While these are very effective for structured data, they can be less flexible when dealing with complex data types and relationships. To manage such complexities, conventional databases often require numerous tables and complex joins, which can become cumbersome.
  • Object-oriented databases: OODBs naturally handle complex data structures and relationships. Because they hold data in objects, they can easily represent intricate data models without requiring multiple tables and joins. This makes them particularly well-suited for complex, interrelated data applications, such as multimedia content, engineering designs, and scientific simulations.

By understanding these differences, decision-makers can better appreciate the unique advantages that object-oriented databases offer, especially in scenarios that require handling complex data and relationships more intuitively and efficiently.

 

Stand-Alone Architecture

If you are using C++ or Java in a stand-alone application and have the need for a database that  provides high performance on complex data, it is difficult to beat an ODBMS. The reason is two-fold: 

With an ODBMS, you have only one model to manage -- the model that your object programming language uses. See the diagram below, which shows the same model being used in the database and the application. There is also no need to program any mapping between the data in the database and the data in the application. An ODBMS gives you excellent performance on object models. This means either you can get extreme performance on complex data or you can use less expensive hardware than you might need with a relational DBMS, for example.

Some examples of stand-alone applications:

  • Websites that do not use any existing data
  • Programming tools
  • Design tools
  • Multimedia tools
  • Catalogs on CD
  • Embedded applications in general

Also see when an ODBMS should be used.

 

ARCHITECTURE WITH EXISTING DATA SOURCES

If you have existing data sources or want to keep data in a relational DBMS, see the architecture with existing data sources.

 Object databases can be a way of staging data for your C++ or Java applications. This example shows two existing data sources that have data in non-object formats (flat file and relational, for example). The non-object data is mapped into object models and stored in the object database. This object database now holds some part of the existing data and perhaps some of its own data that did not exist previously. At some later time, the object application can obtain this data and tap the high performance that an object database provides. This performance is a result of having the same model in the object database as is used by the object application. See one model to reduce development and maintenance costs. 

This architecture can be applied to the middle-tier of a website. See 

 

MIDDLE – TIER ARCHITECTURE

This middle-tier architecture allows the existing database to be the "database of record." At the same time, it also protects the existing database from direct Internet traffic and provides a high performance engine to interact with the Internet traffic. Also see Object-Relational Mapping for this architecture. For how to use object database with Java application servers, see enterprise architectures using Java application servers.

 

What is an ORM – The Meaning of Object Relational Mapping Database Tools

 

Object Relational Mapping (ORM) is a technique used in creating a "bridge" between object-oriented programs and, in most cases, relational databases.

Put another way, you can see the ORM as the layer that connects object oriented programming (OOP) to relational databases.

When interacting with a database using OOP languages, you'll have to perform different operations like creating, reading, updating, and deleting (CRUD) data from a database. By design, you use SQL for performing these operations in relational databases.

                                                                                                                   BY

                                                                                                            RUTHRESH  . P (22USC043)

                                                                                                            MAHALINGAM . R (22USC026)

                                                                                                            III BSC - CS

 

Comments

Post a Comment

Popular posts from this blog

ETHICAL HACKING - WHITE HAT HACKER

Radio Waves

Semantic Technology