On Thu, 2018-04-19 at 16:26 +0100, Feargal Hogan wrote:
From the comparison chart that Ben referenced earlier I noticed that baseX doesn’t seem to actually load xml files into an xml database, is that right?
No. Yes. Maybe.
baseX does load the documents into a database. It stores them in an internal data structure, not as textual XML.
It creates a queryable indexed representation of the files? Is that right?
Yes.
And what happens when a file is edited/updated?
A file outside the database? Nothing.
Depending on database options, though, if you update a document in the db, the index is updated.
Does baseX need to be 'told' that it has been updated, in order to add the new data to its indeices? Or does it know there has been an update and automatically reindex?
This isn't a meaningful quesiton.
If you load a CSV file into a database such as Oracle, what happens if the CSV file changes on disk outside Oracle? And why do you care? You would normally edit the data at that point in the database using a SQL application.
BaseX doesn't need to consult the external XML files once the database is built (although yes, you _can_ keep files on disk and refer to them if you want, but then you're somewhat fighting the system and will have to go through some hoops to have super-fast queries).
As Christian and Dirk said, go give BaseX a try as many of your questions will be answered in some number of nanoseconds :) In particular, you can create a database from the GUI -- 12,000 files may take a few seconds to index, depending on how large they are -- and run queries directly.
One note on BaseX wth documents - it has an option to delete whitespace nodes on import, which, inappropriately for documents, is enabled by default. You'll find it in the Options tab when you make a database from the GUI, for example.
Liam