Re: java serialization alternative

Brian Goetz <[email protected]> Tue, 8 Apr 2008 22:10:00 -0400
Newsgroups gmane.comp.windows.devel.java.advanced
Message-ID <[email protected]>
My first brush with OODBs was porting ObjectStore to VMS in 92 or so.
Back then, schema evolution was a pretty cumbersome process.  This was
C++; the approach was to provide a special C++ compiler that produced
both code and schema data.  Then you'd load the schema into the DB
before running your app.

If you wanted to do schema evolution, you'd have to extract a new
schema, use a comparison tool, and provide any necessary migration
rules, and load the new schema.  For obvious cases (add a new field) the
default rule (take the default value) was usually good enough.  You had
the options of "migrate the data" or "on the fly conversion."  (Either
way, once the data was converted and written back to the DB, the old
version was no longer accessible.)

More modern OODBs have the advantage of programmatic reflection, which
obviates the need for a lot of the tooling and allows you to be
substantially lazier about identifying each evoluation -- for better or
worse.

Ted Neward wrote:
> Can't speak to what it was back then (I didn't mess with them until 98 or
> so), but today, they handle evolution in a pretty straightforward manner. I
> wrote up a piece on this for developerWorks: The Busy Java Developer's Guide
> to db4o, if you're interested....
>
> Ted Neward
> Java, .NET, XML Services
> Consulting, Teaching, Speaking, Writing
> http://www.tedneward.com
>
>
>> -----Original Message-----
>> From: Discussion of advanced Java topics. [mailto:ADVANCED-
>> [email protected]] On Behalf Of Olivier Lefevre
>> Sent: Monday, March 31, 2008 7:56 AM
>> To: [email protected]
>> Subject: Re: [ADVANCED-JAVA] java serialization alternative
>>
>> --- Bob Lee <[email protected]> wrote:
>>> Serialization sounds good in theory, but you really want to decouple
>>> your code from its persistent state. [...] I think this is one of
>> many
>>> reasons why relational databases are still so much more popular for
>>> long term persistence.
>> And, a contrario, that is probably one reason why pure OO databases
>> flopped: to deliver the expected benefits they must store objects
>> pretty much as they exist in the application but then you get the
>> same evolution headaches as with serialization. Is that correct? I
>> wasn't really around back then (just starting).
>>
>> -- O.L.
>>
>> ===================================
>> This list is hosted by DevelopMentor®  http://www.develop.com
>>
>> View archives and manage your subscription(s) at
>> http://discuss.develop.com
>>
>> No virus found in this incoming message.
>> Checked by AVG.
>> Version: 7.5.519 / Virus Database: 269.22.2/1353 - Release Date:
>> 3/31/2008 6:21 PM
>>
>
> No virus found in this outgoing message.
> Checked by AVG.
> Version: 7.5.519 / Virus Database: 269.22.2/1353 - Release Date: 3/31/2008
> 6:21 PM
>
>
> ===================================
> This list is hosted by DevelopMentor®  http://www.develop.com
>
> View archives and manage your subscription(s) at http://discuss.develop.com

===================================
This list is hosted by DevelopMentor®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com