The Debut of In-Memory Database Technology Database systems have been in existence for almost three decades, and relational databases, the dominant type of database system, first appeared in the late 1970's. One might assume that all the performance improvements possible have been put into databases. Taken together, these factors have made it practical and desirable to design a relational database with memory-resident data as the primary architectural assumption. All relational databases that preceded TimesTen were designed around disk-resident data assumptions, and aren't easily rearchitected due to the large numbers of applications which have been built on them. Therein lies the fundamental difference that enables TimesTen to achieve dramatic performance increases relative to other relational databases.
Database size is the main constraint on an in-memory database.
Whereas other relational databases can support extremely large data stores on disk, in-memory databases must, by definition, fit in the physical memory of the system. It's well known that all database systems attempt to buffer some portion of their data within memory in order to avoid time-consuming disk reads and writes. Indeed, it's possible for disk-optimized databases to store an entire database in memory, and rarely have to perform a disk operation. The logic within TimesTen can rely on the data always residing in memory at runtime. The developers of TimesTen are thus able to focus their efforts on minimizing the number of program instructions required to perform database functions, such as scans, joins, sorts, inserts, etc.