In-memory databases have been around for quite some time. They operate by managing data in random access memory (RAM) instead of relying on traditional relational database management system (RDBMS) databases which store data in non-volatile storage. The in-memory database runs the database completely from system main memory thus improving the speed of transactions with dramatic gains in responsiveness and throughput. However, this comes with the added cost of storing the data in system memory (RAM) which is costlier and limited by capacity.
With ever increasing volumes of data, the cost of in-memory databases increases exponentially, so their use is generally limited to specific applications. Typically they are deployed in real time, high volume Online Transaction Processing (OLTP) applications in industries such as telecom, financial and location-based services.
Gen 7 Fibre Channel
For any application to see improved performance, there needs to be a change in the underlying hardware which also facilitates the transition to higher capacity at scale. For faster compute, the improvements are delivered by the latest CPUs and memory technologies. For faster storage, new flash-based storage arrays have significantly improved access times. For faster applications a faster interconnect is also required. This blog discusses one example of a modern application or workload that the faster Gen 7 Fibre Channel (FC) Storage Area Network (SAN) accelerates. Fibre Channel is the most trusted high speed networking technology used in data centers today. The latest seventh generation of Fibre Channel provides double the throughput from 32G to 64G.
In-memory databases need persistent storage to store the backup, logs, snapshots, and redo operations etc. required to recover from power outages and server downtime issues. This means that one copy of the data in some format has to be stored in persistent storage. For enterprise data centers that usually means their persistent storage is a Fibre Channel SAN.
The data stored as persistent storage on a Fibre Channel SAN has to be loaded into main memory (RAM) at database startup after planned or unplanned server downtime. As the scale of a database increases this usually means hours or even days are needed to restore the database into main memory before the database can start its operations and is available for user operations.
A sample workload was created using an x86 Intel Eagle Stream server connected to an all-flash array (Figure 1). The SAN array provided the permanent storage used by the Oracle TimesTen Database (TimesTen). The TimesTen database was installed on the server. The database was filled via the sample data generator application provided by the TimesTen developer website.
This data was stored in the main memory of the server for faster access along with redo logs and checkpoint data which gets written to the file system mapped from the Fibre Channel SAN array. After the server restart, the database services started reading the data from permanent storage into main memory through the FC SAN. TimesTen allows for the parallel reading of the checkpoints in order to load the data faster. As the data is read in parallel from multiple checkpoint files, the transfer of data was limited by the throughput of the FC technology in use i.e. 32G for Gen 6 FC and 64G for Gen 7 FC.
Even for a small database with around 100GB of data in checkpoint files, we saw that the time taken for data transfers was 85% longer with 32G than 64G (Figure 2). In a large data center deployment we would expect to see an even greater improvement in data transfer time with 64G compared to the small test setup used here.
Benefits of Gen 7 Fibre Channel
Startup of an In-memory database requires moving the all the database data residing in SAN storage to the host memory. Based on system capacity and database size, this requires moving a lot of data in the least amount of time so the user can get much faster access to their applications. When using a Gen 7 FC Host Bus Adapter (HBA) you can get double the throughput on the wire as compared to a Gen 6 FC HBA for the same data transfers.
But due to other variations in system design and components we were curious to see if these results could be achieved by users running real-world applications. Hence, we put this to test and benchmarked 64G and 32G performance for this blog.
In the dynamic world of software applications, startup times play a crucial role in user experience. The symbiosis between software applications and hardware leads to optimal performance. This need for instant engagement drives the convergence of advanced technologies. As demonstrated in testing, the Gen 7 FC HBA from Emulex supercharged the startup of the TimesTen database and provided an applause-worthy performance.