In Sybase IQ, at the user-visible level, the unit of versioning is the table. Table-level versioning makes sense for Sybase IQ for these reasons:
IQ data structures aggregate data for columns at the table level.
Most IQ insertions and deletions write data table-wide.
With table-level versioning, Sybase IQ can control access to the data at the level where write operations occur, and where query results are focused.
Internally, however, data is versioned at the page level. This approach helps conserve system resources.
A given IQ table may consist of millions of pages of data. When you update that table, you may be writing to only a small percentage of those pages. It would require a vast amount of disk space to maintain a complete copy of each version of an entire table. Sybase IQ saves on disk space by allowing table versions to share pages that are not being updated.
Sybase IQ's table level versioning is extended for its multiplex databases. When a transaction creating a new version of a table commits on a write server, the control information describing that new version is available to all the secondary servers instantly. New transactions beginning on the secondary server automatically see these new versions of the tables, just as new transactions on the write servers do.