neo4j may be a good fit for trees.

it may be necessary to store large blobs of data in another db.