InterBase is a relational database management system (RDBMS) currently developed and marketed by Embarcadero Technologies. InterBase is distinguished from other RDBMSs by its small footprint, close to zero administration requirements, and multi-generational architecture. InterBase runs on the Microsoft Windows, macOS, Linux, Solaris operating systems as well as iOS and Android. InterBase is a SQL-92-compliant relational database and supports standard interfaces such as JDBC, ODBC, and ADO.NET. A full InterBase server installation requires around 40 MB on disk. A minimum InterBase client install requires about 400 KB of disk space. InterBase can be run as an embedded database or regular server. Since InterBase XE, InterBase includes 256-bit AES-strength encryption that offers full database, table or column data encryption. This assists data controllers conform with data protection laws around at-rest data by separating encryption and access to the database, ensuring the database file is encrypted wherever it resides. The separation of the encryption also enables developers to just develop the application rather than worry about the data visible from a specific user login. To avoid blocking during updates, Interbase uses multiversion concurrency control instead of locks. Each transaction will create a version of the record. Upon the write step, the update will fail rather than be blocked initially. InterBase also uses multi-generational records to implement rollbacks rather than transaction logs. Certain operations are more difficult to implement in a multi-generational architecture, and hence perform slowly relative to a more traditional implementation. One example is the SQL COUNT verb. Even when an index is available on the column or columns included in the COUNT, all records must be visited in order to see if they are visible under the current transaction isolation. Multiversion concurrency control is described in some detail in sections 4.3 and 5.