When I first started out on the aggregator project, I was storing the feed data in XML. I soon figured out that it did not work well for large amounts of data. While pretty fast, it used too much memory.
So I decided on using the Apache Derby database. Luckily the Eclipse DataTools project published a plug-in containing Derby (version 10.3) so it was simply a matter of adding it to the plug-in dependencies. The version number of the plug-in was also 10.3 so it matched the Derby release version number. No problem there. Users wanting to install the aggregator will have their dependencies resolved and the plug-in installed automatically since it’s also hosted on the Ganymede update site. Neat.
Now I’m rewriting the persistence mechanism so that it will use updateable result sets. That will enable me to keep a set of cursors, each holding a result set that can be updated. In turn this means that I don’t need to execute a new query when the data has changed. Since the cursors can be used to navigate in the resultset I don’t need any special mechanism mapping the data to the virtual table/tree that is presenting it.