simple datastore replacement, take two

Tomeu Vizoso tomeu at tomeuvizoso.net
Tue Sep 23 14:18:51 EDT 2008


Hi all,

have given one more push to my DS clone [0] and have reached the point
where it is plug'n'play compatible with the old one except in the two
following aspects:

1.- has no support for removable devices,

2.- all metadata properties are just strings.

Regarding 1, I really hope we move that stuff out from the DS, because
supporting multiple backends adds a lot of complexity and puts at risk
our main use case: robust journal support in NAND. I don't think that
we have the resources to do this correctly in the short or medium
term.

About 2, this DS lets activities specify their own metadata
properties, but as we don't have namespaces, one activity may add one
property in one format and another activity specify the same property
as another format. In which format should the DS return those
properties in the future? I would like to let activities themselves
deal with decoding the values, so that's why to the DS metadata values
are opaque byte arrays.

I hope this DS will be more maintainable, faster, more robust and
prepare the landing of some long needed features.

I have written a bit about the goals and some design aspects in [1], I
would appreciate comments and questions. I'm pretty sure that I have
made some choices that are not the best ones and there will be better
alternatives that aren't a big amount of work. I'll be more than happy
in rewriting whatever is needed to accommodate improvements, so just
shoot. Just remember that this is something that needs to land in the
next release and that we cannot break everything else.

[0] http://dev.laptop.org/git?p=users/tomeu/datastore;a=summary
[1] http://sugarlabs.org/go/DevelopmentTeam/DatastoreRewrite

Thanks,

Tomeu



More information about the Devel mailing list