Ein normales, relationales
DBMS und ein Mapper dürfte da fast immer eine gute Wahl sein. Mit dem Mapper hast du aus deinem Programm heraus eine komfortable Schnittstelle zur Datenbank, und wenn es unbedingt sein müsste, könntest du dir einfach eine
SQL-Konsole schnappen und irgendwelche Scripts auf die Datenbank loslassen. Oder Statistiken erstellen - da sind die relationalen DBMSe prima geeignet. Je nach dem wie gut dein Mapper ist, kriegst du am Ende sogar wieder ein fertiges Objekt raus.
(Sowas hab ich mit für CLR/Postgres selbst geschrieben, ist nicht so schrecklich schwer.)