[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
versioned XML-DBMS
- From: "Johannes.Lichtenberger" <Johannes.Lichtenberger@uni-konstanz.de>
- To: "xml-dev@lists.xml.org" <xml-dev@lists.xml.org>
- Date: Thu, 13 Dec 2012 22:33:33 +0100
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
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]