POV-Ray : Newsgroups : povray.off-topic : C++ / database question : Re: database Server Time
6 Sep 2024 11:19:56 EDT (-0400)
  Re: database  
From: Orchid XP v8
Date: 17 Feb 2009 13:59:07
Message: <499b08fb$1@news.povray.org>
>> Yeah, well, I have little concept of what other kinds of databases 
>> have existed other than relational ones.
> 
> Relational pretty much replaced *everything*

Yeah, I get that part.

>> (We did hear some talk at uni about people working on object 
>> databases, but nobody could really figure out precisely what such a 
>> term means...)
> 
> It means it doesn't follow the relational model, but instead the OO 
> model. For example, say you're using an OO language. (I'll assume you 
> know how OO languages work.) At some point, you say "stick this object 
> in the database." It says "OK." Then you can exit. When you start up 
> again, that object is still around, as well as anything it had pointers 
> to in member variables.
> 
> It's nice because you can stick big blobs of data in and efficiently 
> fetch and store it all at once. So something like "my facebook account" 
> would be one record, or "this wiki page with all the history, embedded 
> images, etc", or Amazon with "this product, all its pictures, 
> descriptions, reviews, keywords, tags, etc". When much of your work is 
> with one large record, you can fetch it, use it, and put it back with 
> relatively little overhead compared to the RDBM.
> 
> The hard part is when you want to do something like (say) add up the 
> amount of money in all outstanding shopping carts, and you have to 
> figure out how to iterate over the objects without sucking the entire 
> user's account into memory for each one. If you can fit one entire table 
> into memory, this is less of a problem, but obviously still not trivial.
> 
> The advantage of an OODB is that you don't have to write a lot of code 
> to deal with format changes between what you store on disk and what you 
> store in memory. The disadvantage is that the only easy way to get to it 
> is usually the way it's stored in memory.

Now, see, from what I could tell, everybody has their own idea about 
what an OODBMS actually "is". You say it follows the "object model", but 
people don't seem to be able to agree on precisely what that is.

As it happens, during my degree we had to do a "research project". The 
idea was to come up with a topic, "research it" (whatever the hell that 
means) and then write something about it. (Needless to say, I failed 
badly at this.) The topic I was given was "the object-relational 
impedence mismatch".

It seems that basically it's possible to encode objects into the 
relational model without too much difficulty. What an OODB gives you is 
the ability to store stuff without all that pesky marshalling. On the 
other hand, it appears you lose any ability to query the database.

In other words, you save a little bit of code, and lose almost 
everything that makes databases useful. Which seems like a very, very 
unfavourable compromise.



Unrelated, but... it seems, intuitively, that functional programs should 
be a much better "fit" to the relational model.

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.