Recently, the pressure for fast processing and efficient storage of large data with complex relations increased beyond the capability of traditional databases. Typical examples include iPhone applications, computer aided design (both electrical and mechanical), biochemistry applications, and incremental compilers. Serialization, which is sometimes used in such situations is notoriously tedious and error prone.
In this book, Jiri Soukup and Petr Macháček show in detail how to write programs which store their internal data automatically and transparently to disk. Together with special data structure libraries which treat relations among objects as first-class entities, and with a UML class-diagram generator, the core application code is much simplified. The benchmark chapter shows a typical example where persistent data is faster by an order of magnitude than with a traditional database, in both traversing and accessing the data.
The authors explore and exploit advanced features of object-oriented languages in a depth hardly seen in print before. Yet you, as a reader, need only a basic knowledge of any of C++, Java, C#, or Objective C. These languages are quite similar with respect to persistency and the authors explain their differences where necessary.
The book targets professional programmers working on any industry applications, it teaches you how to design your own persistent data or how to use existing tools efficiently. Researchers in areas like language design, compiler construction, performance evaluation, and no-SQL applications will find a wealth of powerful ideas and valuable implementation tips.