Assgnmt2 (522) Wajid Sir

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Name : Umar Ali

Roll Number : 522

Class # : Bcs 6th Semester

Assignment # : 02

Submitted to : Sir Wajid Ali

Subject : “CS-513-Database
Administration”
Introduction:-
Currently, object-oriented database systems (OODBS) are
receiving a lot of attention from both experimental and theoretical
standpoints, and there has been considerable debate about the
definition of such systems. Three points characterize the field at
this stage: (i) the lack of a common data model, (ii) the lack of
formal foundations and (iii) strong experimental activity. Whereas
Codd's original paper [Codd 70] gave a clear specification of a
relational database system (data model and query language), no
such specification exists for object-oriented database systems
[Maier 89]. We are not claiming here that no complete object-
oriented data model exists, indeed many proposals can be found
in the literature (see [Albano et al. 1986], [Lecluse and Richard
89], [Carey et al. 88] as examples), but rather that there is no
consensus on a single one. Opinion is slowly converging on the
gross
Characteristics of a family of object-oriented systems, but, at
present, there is no clear consensus on what an object-oriented
system is, let alone an object-oriented database system.
An object-oriented database (OODBMS) or object database
management system (ODBMS) is a database that is based on
object-oriented programming (OOP). The data is represented and
stored in the form of objects. OODBMS are also called object
databases or object-oriented database management systems.

A database is data storage. A software system that is used to


manage databases is called a database management system
(DBMS). There are many types of database management
systems such as hierarchical, network, relational, object-oriented,
graph, and document. Learn more here,
Types of Database Management Systems
In this article, we will discuss what object-oriented databases are
and why they are useful.

Object-Oriented Database:-
Object database management systems (ODBMSs) are based on
objects in object-oriented programing (OOP). In OOP, an entity is
represented as an object and objects are stored in memory.
Objects have members such as fields, properties, and methods.
Objects also have a life cycle that includes the creation of an
object, use of an object, and deletion of an object. OOP has key
characteristics, encapsulation, inheritance, and polymorphism.
Today, there are many popular OOP languages such as C++,
Java, C#, Ruby, Python, JavaScript, and Perl.

The idea of object databases was originated in 1985 and today


has become common for various common OOP languages, such
as C++, Java, C#, Smalltalk, and LISP. Common examples are
Smalltalk is used in GemStone, LISP is used in Gbase, and COP
is used in Vbase.

Object databases are commonly used in applications that require


high performance, calculations, and faster results. Some of the
common applications that use object databases are real-time
systems, architectural & engineering for 3D modeling,
telecommunications, and scientific products, molecular science,
and astronomy.
Advantages of Object Databases:-
ODBMS provide persistent storage to objects. Imagine creating
objects in your program and saving them as it is in a database
and reading back from the database.

In a typical relational database, the program data is stored in rows


and columns. To store and read that data and convert it into
program objects in memory requires reading data, loading data
into objects, and storing it in memory. Imagine creating a class in
your program and saving it as it is in a database, reading back
and start using it again.
Object databases bring permanent persistent to objects. Objects
can be stored in persistent storage forever.

In typical RDBMS, there is a layer of object-relational mapping


that maps database schemas with objects in code. Reading and
mapping an object database data to the objects is direct without
any API or OR tool. Hence faster data access and better
performance.

Some object database can be used in multiple languages. For


example, Gemstone database supports C++, Smalltalk and Java
programming languages.

Drawbacks of Object Databases:-


 Object databases are not as popular as RDBMS. It is difficult
to find object DB developers.
 Not many programming language support object databases.
 RDBMS have SQL as a standard query language. Object
databases do not have a standard.
 Object databases are difficult to learn for non-programmers.
Popular Object Databases-
Here is a list of some of the popular object databases and their
features.

Cache
Inter Systems’s Caché is a high-performance object database.
Caché database engine is a set of services including data
storage, concurrency management, transactions, and process
management. You can think of the Caché engine as a powerful
database toolkit.

Caché is also a full-featured relational database. All the data


within a Caché database is available as true relational tables and
can be queried and modified using standard SQL via ODBC,
JDBC, or object methods. Caché is one of the fastest, most
reliable, and most scalable relational databases.

Cache offers the following features,

 The ability to model data as objects (each with an


automatically created and synchronized native relational
representation) while eliminating both the impedance
mismatch between databases and object-oriented
application environments as well as reducing the complexity
of relational modeling,
 A simpler, object-based concurrency model
 User-defined data types
 The ability to take advantage of methods and inheritance,
including polymorphism, within the database engine
 Object-extensions for SQL to handle object identity and
relationships
 The ability to intermix SQL and object-based access within a
single application, using each for what they are best suited
 Control over the physical layout and clustering used to store
data in order to ensure the maximum performance for
applications

Cache offers a broad set of tools, which include,

 ObjectScript, the language in which most of Caché is


written.
 Native implementations of SQL, MultiValue, and Basic.
 A well-developed, built-in security model
 A suite of technologies and tools that provide rapid
development for database and web applications
 Native, object-based XML and web services support
 Device support (such as files, TCP/IP, printers)
 Automatic interoperability via Java, JDBC, ActiveX, .NET,
C++, ODBC, XML, SOAP, Perl, Python, and more
 Support for common Internet protocols: POP3, SMTP,
MIME, FTP, and so on
 A reusable user portal for your end users
 Support for analyzing unstructured data
 Support for Business Intelligence (BI)
 Built-in testing facilities

Concept Base-
ConceptBase.cc is a multi-user deductive database system with
an object-oriented (data, class, metaclass, meta-metaclass, etc.)
makes it a powerful tool for metamodeling and engineering of
customized modeling languages. The system is accompanied by
a highly configurable graphical user interface that builds upon the
logic-based features of the ConceptBase.cc server.
ConceptBase.cc is developed by the ConceptBase Team at
University of Skövde (HIS) and the University of Aachen (RWTH).
ConceptBase.cc is available for Linux, Windows, and Mac OS-X.
There is also a pre-configured virtual appliance that contains the
executable system plus its sources plus the tools to compile them.
The system is distributed under a FreeBSD-style license.

Db4o-
b4o is the world's leading open-source object database for Java
and .NET. Leverage fast native object persistence, ACID
transactions, query-by-example, S.O.D.A object query API,
automatic class schema evolution, small size.

ObjectDB Object Database-


ObjectDB is a powerful Object-Oriented Database Management
System (ODBMS). It is compact, reliable, easy to use and
extremely fast. ObjectDB provides all the standard database
management services (storage and retrieval, transactions, lock
management, query processing, etc.) but in a way that makes
development easier and applications faster.

 ObjectDB Database Key Features


 100% pure Java Object-Oriented Database Management
System (ODBMS).
 No proprietary API - managed only by standard Java APIs
(JPA 2 / JDO 2).
 Extremely fast - faster than any other JPA / JDO product.
 Suitable for database files ranging from kilobytes to
terabytes.
 Supports both Client-Server mode and Embedded mode.
 Single JAR with no external dependencies.
 The database is stored as a single file.
 Advanced querying and indexing capabilities.
 Effective in heavy loaded multi-user environments.
 Can easily be embedded in applications of any type and
size.
 Tested with Tomcat, Jetty, Glassfish, Jobs, and Spring.

Object Database-
ObjectDatabase++ (ODBPP) is an embeddable object-oriented
database designed for server applications that require minimal
external maintenance. It is written in C++ as a real-time ISAM
level database with the ability to auto recover from system
crashes while maintaining database integrity.

Objectivity/DB-
Objectivity/DB is a scalable, high performance, distributed Object
Database (ODBMS). It is extremely good at handling complex
data, where there are many types of connections between objects
and many variants.

Objectivity/DB runs on 32 or 64-bit processors running Linux, Mac


OS X, UNIX (Oracle Solaris) or Windows.

There are C++, C#, Java and Python APIs.

All platform and language combinations are interoperable. For


example, objects stored by a program using C++ on Linux can be
read by a C# program on Windows and a Java program on Mac
OS X.

Objectivity/DB generally runs on POSIX filesystems, but there are


plugins that can be modified for other storage infrastructure.
Objectivity/DB client programs can be configured to run on a
standalone laptop, networked workgroups, large clusters or in
grids or clouds with no changes to the application code.

Object Store-
ObjectStore is an enterprise object-oriented database
management system for C++ and Java.

ObjectStore delivers multi-fold performance improvement by


eliminating the middleware requirement to map and convert
application objects into flat relational rows by directly persisting
objects within an application into an object store

ObjectStore eliminates need to flatten complex data for


consumption in your application logic reducing the overhead of
using a translation layer that converts complex objects into flat
objects, dramatically improving performance and often entirely
eliminating the need to manage a relational database system

ObjectStore is OO storage that directly integrates with Java or


C++ applications and treats memory and persistent storage as
one – improving the performance of application logic while fully
maintaining ACID compliance against the transactional and
distributed load.

Versant Object Database-


Versant Object-Oriented Database is an object database that
supports native object persistence and used to build complex and
high-performance data management systems.

Key Benefits
 Real-time analytical performance
 Big Data management
 Cut development time by up to 40%
 Significantly lower total ownership cost
 High availability

WakandaDB-
WakandaDB is an object database and provides a native REST
API to access interconnected DataClasses defined in Server-Side
JavaScript. WakandaDB is the server within Wakanda which
includes a dedicated, but not mandatory, Ajax Framework, and a
dedicated IDE.

Object-relational Databases-
Object-relational database (ORD), or object-relational database
management systems (ORDBMS) are databases that support
both objects and relational database features. OR databases are
relational database management systems with the support of an
object-oriented database model. That means, the entities are
represented as objects and classes and OOP features such as
inheritance are supported in database schemas and in the query
language.

You might also like