Why not use a database for this sort of thing? It's what they're made for.