International Engineering Consortium
Web ProForums
In-Memory Databases for Voice and Data Networks

4. Commercial In-Memory Databases: A New Alternative

The ingredients for a commercial real-time computing environment have just begun to emerge. Faster microprocessors are only part of the equation, for it is the software that determines how efficiently information is captured, moved, indexed, and analyzed. A database management system is an essential element of this software infrastructure.

In-memory databases offer a commercial, off-the-shelf solution for companies that must develop applications that are fast enough to support voice and data networks and yet are flexible and open. In addition to offering real-time performance, in-memory databases can offer a familiar standards-based relational database that can be integrated with existing development tools, packaged applications, and available development talent.

Commercial in-memory databases may be considered a conventional relational database, complete with a database industry-standard structured query language (SQL) interface. The main difference is the memory-resident design of the database, which allows the product to maximize the speed of memory and, thus, achieve a dramatic improvement in performance over conventional (i.e., disk-based) database architectures.

Similar to the mainstream commercial relational databases, in-memory databases often provide complete database and transaction integrity through the use of magnetic disks for logging and periodic checkpoints. Finally, to meet the high-availability demands of voice and data networks, some in-memory databases also offer data replication and failover facilities, which can help ensure data and transaction reliability as well as high availability. As shown in Figure 1, in-memory databases often reside beneath the application layer, communicating with applications via an industry-standard interface such as open database connectivity (ODBC).


Figure 1. In-Memory Database Configuration

To meet these performance needs on a long-term basis, the network must allow the rapid introduction of new services that are customizable in house. Not only do in-memory databases enable in-house customization, which is a critical component, this customization can be done with third-party development tools. Thus, the process is more cost-effective with in-memory databases than with proprietary custom-built systems.

In-memory databases offer several benefits, including the following:

  • real-time responsiveness and central processing unit (CPU) efficiency
  • capabilities for data recoverability, high availability, and load sharing
  • ease of administration
  • open interface

Real-Time Responsiveness and CPU Efficiency

Commercial in-memory databases have been proven to deliver real-time performance required by voice and data networks. They can deliver this performance because, during an application's run time, they manage all data within memory. Because they always manage data in memory, in-memory databases have greatly streamlined indexing structures and data access algorithms. In addition, they minimize the amount of data copying and CPU instructions required. This efficient, streamlined functionality results in fast data management performance (see Figure 2).


Figure 2. Streamlined Functionality of In-Memory Databases

In addition, the data store structures of these databases are considerably more space efficient than a disk-based data manager. For instance, key values are not duplicated within indices as they are in many disk-optimized databases. Considering indices, meta data (system catalogs), and other miscellaneous structures, the memory overhead for a memory-optimized data store is likely to be less than 20 percent of the actual data volume. Typically, for a conventional disk-optimized relational database, this figure is approximately 50 percent.

Capabilities for Data Recoverability, High Availability, and Load Sharing

As complete products, commercial in-memory databases often come equipped with capabilities that ensure high availability and data and transaction recoverability in the event of a failure.

Commercial in-memory databases often come equipped with backup and restore procedures, for example. While data is managed in memory at run time, data and transactions are routinely saved on magnetic disk, ensuring complete recoverability in the event of a system failure. As additional safeguards, these databases may support full transaction semantics through SQL commit and rollback capabilities.

For high availability, these databases offer replication capabilities that enable organizations to synchronize data and transactions in multiple duplicate databases that can be called on in the event that the primary database encounters a system failure. This replication also enables networks to increase overall platform volume by sharing transaction loads across multiple systems.

Ease of Administration

The administration tasks related to in-memory databases are minimal when compared to those of custom or disk-optimized relational databases. The absence of custom code and complex disk structures eliminates many of the tasks performed by a traditional database administrator.

Open Interface

Typically, in-memory databases offer open interfaces and adhere to prevalent software standards such as JDBC, ODBC, and SQL. These open standards enable easy integration with hardware, operating systems, and applications. This openness means organizations can more easily leverage past investments and be well positioned to capitalize on future computing innovations, whether in hardware or software.

Registered Users
Enjoy exclusive access to free On-Line Education and receive the biweekly IEC newsletter.

IEC Newsletter
Get the latest industry information including critical insights from key industry leaders, technology briefings, and an Analyst Corner.
Current
Subscribe

Newsroom

IEC Corporate Member

Advertising Kit