Re: To sort or not to sort

* Inge Henriksen
> 
> That said, I think the fragments should be sorted before data syndication so no external sorting is required by the consuming client.

Actually, the client does not need to sort incoming fragments, but can apply them in any order. There are no situations where applying fragment f before f' will give a different result from the order f', f.

So the only additional burden for the client is the situation where there is an error during processing, and it is unable to update the "since" time, and therefore has to repeat processing of many fragments next time it polls.

> On a side note, there are concurrency software design patterns, like variants of MVCC, that persist data internally versioned and sorted. These designs require no pre-processing of the data before syndication.

Certainly, but that assumes SDshare servers use a particular sort of backend, but in most cases the servers will not have any backend at all, but simply be a facade on top of an underlying data store.

Of course, the server could add a disk backend in order to do sorting, but to me that seems a far too onerous requirement to place on a server.

-- 
Lars Marius Garshol  |  Consultant
Bouvet ASA Sandakerveien 24C D11 Postboks 4430 Nydalen NO-0403 Oslo
Phone: +47 23 40 60 00 | Fax: +47 23 40 60 01 | Mobile: +47 98 21 55 50
http://www.bouvet.no

Received on Monday, 15 October 2012 13:04:04 UTC