There are two most important factors that lead users to implement object database technology. Firstly, relational databases turn out to be cumbersome to use with composite data. Secondly, data is usually operated by application software written using object-oriented programming languages such as C++, Java, Delphi and C#, and the code required translating between this demonstration of the data and the tuples of a relational database can be dreary to write, and prolonged to execute. This variance between the models used to represent information in the application programs and the database is sometimes referred to as an impedance variance.
Now a day Client-Server applications that depends on a database on the server as a data store while servicing requests from multiple clients are quite ordinary. The majority of these applications use a Relational Database Management System (RDBMS) because their data store while using an object oriented programming language for development. The "impedance mismatch" caused as a result of having to map objects to tables and vice versa has long been accepted as an essential performance penalty.
Object-oriented databases are designed to work well with object-oriented programming languages such Java, C#, and C++. ODBMS used exactly the same model as object-oriented programming languages.
Object database management systems added the notion of persistence to object programming languages. The early commercial products were integrated with various languages: GemStone (Smalltalk), Gbase (Lisp), and Vbase.