UltraLite User's Guide
Designing UltraLite Applications
UltraLite database internals
UltraLite stores the rows of data in each table. It also stores state information about each row, and stores indexes to efficiently access the rows.
UltraLite compresses variable length strings, integers, numerical values, and date/time data in the database. It does not compress columns containing character or binary data, except on Windows CE where Unicode strings are compressed by storing in a UTF-8 representation.