Dear Tyler,
you might also be interested in looking into the following lecture/seminar slides:
http://www.inf.uni-konstanz.de/dbis/teaching/ws0708/xml/24-Native.pdf http://www.inf.uni-konstanz.de/dbis/teaching/ws0708/dbissem/BaseXInside.pdf
Apart from that and the listed publications..
http://www.inf.uni-konstanz.de/dbis/basex/publications.php
we cannot provide you with more details on our implementation (yet). Basically, we are storing all data in a flat table representation. Table entries take 16 bytes each, and all entries are stored in blocks of 4kb, the order of which is referenced by a main memory directory. The nodes' pre values serve as node ids, which are unique during a single update transaction.
If you need to know more, feel free to ask.
Best, Christian
FYI: I've forwarded this mail to the basex-talk mailing list.
On Mon, Jan 18, 2010 at 4:21 PM, Tyler Corbin 094568c@acadiau.ca wrote:
I don’t know if you can disclose this type of information – But I’m really interested in the type of structures you’ve implemented for your BaseX and how you achieved such quick updating and querying time. I’m doing some heavy research into how different native XML Databases go about this, and it seems BaseX is near the top (On performance).
Do you have a more recent publication, which covers on how you go about updating XML Structures? I’ve read one of your more recent publications on your Database Architecture and some other things... but it doesn’t really touch on your implementation of updates.
- Since you don’t update the index structures for single updates, do you have some type of “pending list” where all updates that are not officially added to the index structures can still be accessed by the processor? If not, can you briefly explain the data structure (if allowed)?
- Also, how much compression do you get when your Database Architecture is performed?
I also have a few more questions, but I’m positive your recent publication covers it.
Thank you for your time!
~ Tyler
basex-talk@mailman.uni-konstanz.de