I would like to store information on nodes in lots of different trees in a database.
To begin with there will be over 20000 nodes shared between 500 trees, each node will have 5 number attributes. once constructed each node needs reference to all it's immediate children and no other nodes.
I require to build all trees in memory at initialization time and update/add nodes once the program enters downtime (perhaps every hour or so, although the more the better).
I have looked at the sql adjacency model which seems like it would take too long to construct each table (having to make too many db calls), the nested set model which is a possibility but is more complex to expand the tree which is something which will happen a lot and it increases database complexity for what I see as could be a very basic structure and query set.
I have also looked in to MongoDb but it seems more geared towards JSON type objects and I am using java, and might be over kill, and also HBase which definetly looks over kill (the advantage being if the amount of nodes becomes huge it might come in useful which is a possibility for the future and I could increase write time to the DB which would be an advantage too)
Anyone have any suggestions of how I might go about this?
Are the NoSql dbs overkill? are they much better at storing tree structures? is it poor practice to use them along side sql databases?