One-Tier and Two-Tier Tables
The subclasses of IliTable manage tables in different ways. IliMemoryTable and IliStringsTable manage rows in the process memory space. These tables are called one-tier tables. Only the local process is involved to manage these types of tables.
Other classes such as IliSQLTable, however, manage rows that are located in a remote database. These types of tables are referred to as two-tier tables since they interact with another process (in this case, the database server).
In the case of two-tier tables, a local row cache is implemented, which stores copies of some of the remote rows which the table is tied to, at any particular time. This cache reduces the communication overhead with the remote database engine. It also provides random access to the rows, even if the database system lacks this capability.
One-Tier and Two-Tier Tables