← Prev in month ← Prev in thread

versioned XML-DBMS

From
Johannes.Lichtenberger <>
To
"" <>
Date
2012-12-13T21:33:33Z
ID
<>
Thread
versioned XML-DBMS
Hello,

I'd like to know what you think are the main future directions I should 
go with a versioned open source XML-DBMS[1] (as I'm currently the only 
developer -- without a community to ask ;-)).

The main features are:
- it provides a diff-algorithm to import differences between two 
XML-documents (I've also imported a small set of sorted wikipedia 
articles by their revision-timestamps and a predefined time interval 
which decides when to store a new revision)
- an ID-based diff-algorithm which detects differences between the 
revisions/versions of a single resource (for instance used for 
interactive visualizations thereof)
- several well known versioning strategies which might adapt themselves 
in the future according to different workloads
=> thus any revision can be simply serialized, queried...
- supports XQuery (through Brackit(.org))
- supports the XQuery Update Facility (through Brackit(.org))
- a GUI which isn't stable enough incorporates several views which are 
visualizing either a single revision or the differences between two or 
more revisions of a resource (an XML-document in Sirix)
- naturally implements a form of MVCC and thus readers are never blocked
- single write-transaction in parallel to N read-transactions on the 
same resource

Future work includes:
- finishing index structures (and allow typed indexes somehow -- as the 
index-structures used are generic) and implementing AST-rewrite rules 
for Brackit (that's currently my first priority now)
- support of namespaces in Brackit (also very important to implement)
- checkpointing (might be easy to implement)
- provide storage enhancements (for instance only save differences 
between two DeweyIDs which are optionally saved)
- profiling and implement a few ideas to speed up reconstruction of 
in-memory pages
- fixing the GUI errors
- support multiple write-transactions bound to different users
- implement group- and time-aware encryption for different 
subtrees/users and revisions
- implement a full-text index based on Lucene
- implement a memory-mapped storage

and another thing I want to research (better now than later ;-)):
- distribution of queries and the storage structures itself to provide 
sophisticated cloud-storage capabilities similar to NoSQL stores

kind regards
Johannes

[1] https://github.com/JohannesLichtenberger/sirix
← Prev in month ← Prev in thread