Você já tentou SQLite ? Ele tem casos de uso bastante específicos, pois é um SGBD SQL em processo (de um modo geral, não é adequado para aplicativos multiusuário), mas parece que pode ser um bom ajuste para seu aplicativo, se estou entendendo seu uso de autônomo.
As vantagens são o desempenho e sua natureza sem servidor e sem configuração, . Dê uma olhada em Usos apropriados para SQLite e as FAQ para ver se é certo para você.