SQLite is an in-memory database

Business software

In-memory databases (IMDB) are still often overshadowed by the large classic database solutions such as the "Oracle Database", IBM's "DB2" or Microsoft's "SQL Server", which have firmly established themselves in companies over the past few decades. However, in the course of increasing demands on the part of users, there is movement in the market. The providers are working flat out on new database models and architectures such as in-memory solutions. If you believe the advertising slogans of the software manufacturers, In Memory offers a number of advantages such as accelerated data processing and thus greatly reduced response times.

However, users who are mostly caught up in the world of relational database systems still have many questions. What should be considered when using in memory in practice? Is the new technology faster in any case, does it even make other databases superfluous? Companies need to clarify these questions in order to find the right technology for their own requirements.

There are now numerous in-memory databases on the market. Four products are described in more detail below. Two of them offer extensive features for use in the enterprise segment ("Oracle TimesTen" and "SolidDB" from IBM) or are more suitable for operation in small or medium-sized IT environments ("HyperSQL Database" and "SQLite") .

Oracle Times Ten

Oracle bought TimesTen in 2005 and has continuously developed the in-memory DB of the same name since then. In terms of functionality and licensing, the database solution is at enterprise level and is available for Linux and Unix as well as for Windows platforms. In addition to operating as an independent database, TimesTen can also be used as a cache for existing Oracle tables. These are completely or partially loaded into TimesTen as so-called cache groups. Special processes then ensure that the data - depending on the application - is written synchronously or asynchronously to the Oracle database. This accelerates access to business-relevant business data and ensures uninterrupted operation of the associated database server even when the system is heavily loaded. The automatic reloading of new data from the relational database management system (RDBMS) also works without any problems, but unfortunately only the Oracle platform is supported for the cache groups so far.

To ensure that the in-memory database does not run out of space, the cache must be cleaned regularly (aging). TimesTen offers two approaches - "time-based" or "least recently used" (LRU). The solution adapts more and more to the Oracle RDBMS. For example, the database administrator will find a data dictionary with tables such as DBA_USERS or DBA_OBJECTS. Database developers can also look forward to the support of PL / SQL.

However, by far not all packages and SQL functions from the Oracle RDBMS can also be found in TimesTen. When porting an application from Oracle RDBMS to TimesTen, many adjustments to the code are required. Users should not underestimate the time involved and consider it in their budget and project planning.

TimesTen also has various replication variants (synchronous / asynchronous, unidirectional / bidirectional). In this way, if a TimesTen instance fails, a failover can be initiated immediately, thus ensuring uninterrupted operation.