University of Liverpool – Computer Structures Module – DQ - Q4 2010
Most of the developers have been asking the same question since the first object oriented data related solution was created. Actually, there were many relational database solutions in the market and most of them were very easy to use for every level of developers. Database solutions were not evolving in object oriented way in comparison to programming languages. For example, “Sun” was invented an object oriented cross-platform programming language, called Java. But, there was no database solution in same level.
It would be very useful, if we could store an in-memory object into the storage unit in same way. But this time, capabilities of a file system would be another problem to solve. Approaches were evolving. In instance, memory mapped files were targeting different problems but obviously it might be a first step as a basic solution.
There are several approaches providing object oriented database model but most of them translates the in-memory objects into the relational databases. And for this reason, they are far enough to be a solution (Obviously my opinion). Why we need a middleware to translate our objects? In this case, why we choose a sloppy query support instead of a good one? Obviously, there is not a reason.
There is a good sample usage in object oriented database approach. QlikView is a solution that provides fast, comprehensive and visual in-memory analysis. It simply converts your existing relational data source into the own object level. Sometimes, it is very hard to define a query to select relational data in multiple tables. QlikView helps you to create relationships amongst the huge data tables.
Versant object database is another good solution to use as an object oriented database solution. It has several drivers to work with Java, .Net and C++ based applications.
For instance, if i was creating a multi-player video game, it would be good to use an object oriented database solution to store the status of a user. Because there are numerous data available to hold a user’s state in a game, using a relational database model might be a painful choice. For example, adding some new features to the game may be a reason for expensive changes in database tables or converting in-game object relations into the simple tables may not be persistent.
Oguz Bastemur
References:
http://en.wikipedia.org/wiki/Object_database
http://labs.google.com/papers/gfs-sosp2003.pdf
http://en.wikipedia.org/wiki/Memory-mapped_file
0 comments:
Post a Comment