Re: Versioning your Model with NoSQL storage

Greg Young <[email protected]>
Newsgroups gmane.comp.programming.domain-driven-design
Message-ID <CAC9RQthQ8ZM-3EU91VhB_=zkrmWKRkS0NYNtVLwOp+4ufnSjXg@mail.gmail.com>
and 3) use weak serialization formats.

On Tue, Apr 2, 2013 at 1:01 PM, Wim van Gool <[email protected]> wrote:

> **
>
>
> Greg, Rickard, thanks for your answers. So basically we have to strategies:
>
> - Apply a BULK-migration to all versioned data. This is reasonably easy,
> but only works for 'small'  datasets and falls into the category of offline
> migrations.
> - Apply an version-on-the-fly migration which means your infrastructure
> must somehow maintain knowledge of previous versions (I assume up to a
> certain point) and be able to upconvert old data to the latest version (and
> store it in the new format when updated). This works better for large
> datasets and/or distributed environments but is more complex and
> infrastructure-dependent, is it not?
>
>
>
>
>
>
> On Tue, Apr 2, 2013 at 11:40 AM, Rickard Öberg <[email protected]>wrote:
>
>> **
>>
>>
>> On 4/2/13 17:38 , Greg Young wrote:
>> >> In one system I wrote the storage was serialized Java objects
>> (blindingly
>> >> fast read/write was objective), and the changes between 1.0 and 2.0
>> were
>> >> substantial, including aggregate changes. What we did was to serialize
>> the
>> >> whole database to a single massive XML file, and then use a 2-pass SAX
>> XSLT
>> >> to transform it into new format, and then chop it up back into the new
>> >> serialized format.
>> >
>> > This works very well on small datasets. If you have a few billion
>> > items in say riak (128 node cluster) this doesn't work so well :)
>>
>> For sure.
>>
>>
>> > There is a secondary problem with this in that this is an "offline"
>> migration.
>>
>> Yup. For online migration the read-fix thing that Qi4j has works better.
>>
>> /Rickard
>>
>>
>  
>



-- 
Le doute n'est pas une condition agréable, mais la certitude est absurde.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.