I work on a desktop application for designers, I'm looking for a book that discusses how to architect the data of large programs - both for in-memory representations and saving to disk. Some may call this "data oriented design".<p>Ideally the book would be very practical and applicable, including lessons learned from real projects, rather than a simple listing of common data structures.