[Home] [By Thread] [By Date] [Recent Entries]

  • From: "Johannes.Lichtenberger" <Johannes.Lichtenberger@u...>
  • To: "xml-dev@l..." <xml-dev@l...>
  • 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]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member