Our goal in testing this mixed workload solution was to simulate a consolidated database platform for use by both Oracle and SQL Server teams. Generally, consolidation of database ecosystems is less of a priority than performance and protection because the perceived risks and complexity that are involved in consolidating databases are daunting. However, the introduction of faster, more powerful CPUs and new storage technology in a tested, proven reference architecture enables businesses to consolidate databases without risk concerns.
The PowerMax 2000 storage array uses NVMe flash drives, which are significantly faster than traditional SATA solid-state drives (SSDs). NVMe flash drives provide several enhancements that accelerate storage operations, including greater parallelism and an updated bus that enables faster data transport. In testing this database platform, we created a mixed database environment using Oracle and SQL Server and a mixed workload environment including OLTP and DSS workloads. This combination of different databases and workloads simulates what a customer might encounter during a database consolidation effort.
The MX7000 modular chassis hosts disaggregated blocks of server and storage, making it ideal for consolidating databases. In the test configuration, we used two PowerEdge MX840c servers in the MX7000 modular chassis. We dedicated one MX840c server to the SQL Server 2017 Enterprise Evaluation Edition RTM-CU13 database and the other to the Oracle 18c Enterprise Edition database. Dedicating an MX840c server to each database optimizes licensing by limiting costs and enables us to test database consolidation. In our tests, we identically configured each MX840c with 4 CPUs and 1.5 TB of memory. Each CPU had 20 cores, so 80 cores were available to each database.
We deployed both SQL Server and Oracle database VMs with Red Hat Enterprise Linux 7 as the guest operating system. Microsoft enables SQL Server customers to move their database licenses from Windows to Linux for free. We standardized the operating system, using Linux on both databases, to simplify management. In terms of the mixed database tests, using the same operating system streamlined execution and enabled faster analysis of the performance findings.
We configured the PowerMax 2000 storage array with 24 NVMe flash drives, which represents an entry-level storage configuration. Using an entry-level configuration for our tests demonstrates that customers can start with a minimal investment and scale-up to match growing demands. The following table shows the size of the storage configuration that we used and the maximum sizes for the PowerMax 2000 array as detailed in the PowerMax Family Specification Sheet:
Table 1. PowerMax 2000 maximum supported configuration versus tested configuration
PowerMax 2000 components | Maximum supported configuration | Tested configuration |
Number of bricks or engines | 2 | 1 |
Cache-system (raw) | 4 TB (with 2 TB engine) | 1 TB |
Number of front-end I/O modules per array | 16 | 4 |
16 Gb/s FC host ports per array | 64 | 16 |
Number of NVMe flash drives | 96 | 24 |
While testing the storage performance of the PowerMax 2000 array, we had the following goals:
The PowerMax 2000 array supports NVMe flash drives. NVMe flash drives enable large-scale block storage to support existing network adapters and host bus adapters. One of the primary advantages of NVMe flash drives is enhanced performance. Other benefits of NVMe-based storage include:
Note: Dell EMC also offers the PowerMax 8000 system, which has even higher scaling and performance capabilities than the PowerMax 2000 that we used in our tests of this solution.
We used VMware vSphere in this reference architecture to drive greater consolidation, accelerate database provisioning, and simplify management. Virtualization lets you pool compute and storage resources to drive greater hardware efficiencies. In this mixed workload solution, we used vSphere to virtualize both the SQL Server and Oracle databases and to assign CPU and memory resources.
In our testing, the CPU and memory resources were not the same between SQL Server and Oracle, nor were the number of databases. Our goal was not to compare SQL Server to Oracle, but to place mixed databases and database workloads on the MX840c servers and PowerMax 2000 array to show how this single-infrastructure solution accelerates consolidated databases. The following table shows the Oracle and SQL Server VM configurations:
Table 2. Virtualization configuration for databases
Workload type | Database type | Virtual machine number | vCPU allocation | vMem allocation (GB) | DB memory reservation (GB) |
OLTP | Oracle | VM 1 | 10 | 150 | 56 (48 SGA + 8 PGA) |
OLTP | SQL Server | VM 1 | 6 | 64 | 8 |
OLTP | SQL Server | VM 2 | 6 | 64 | 8 |
DSS | Oracle | VM 1 | 8 | 256 | 96 (32 SGA + 64 PGA) |
DSS | SQL Server | VM 1 | 8 | 256 | 32 |
DSS | SQL Server | VM 2 | 8 | 256 | 32 |
Snapshot OLTP | Oracle | VM 1 | 6 | 150 | 36 (28 SGA + 8 PGA) |
Snapshot OLTP | SQL Server | VM 1 | 4 | 64 | 8 |
Each virtualized database used a subset of the available compute cores on the MX840c servers. We assigned 24 compute cores to Oracle VMs, leaving 136 cores for additional database consolidation on the MX840c server that was dedicated to Oracle. Similarly, we assigned 32 compute cores to the SQL Server VMs, leaving 128 cores available for other databases.
We used memory reservations to dedicate memory to each virtualized database. We set low memory reservations for each database to generate activity on the PowerMax 2000 storage array. If these databases were actual customer production applications, we would recommend reserving more memory, because in-memory operations are faster than storage operations. Like the CPU configurations, the memory configurations used a subset of the available memory on the server. Across all the Oracle virtualized databases, the amount of used memory was 188 GB and the total available memory on the MX840c server was 1.5 TB. For all the SQL Server virtualized databases, the amount of used memory was 88 GB and the total available memory on the MX840c server was 1.5 TB.
Compute cores could be limited at the database layer using Oracle CPU caging or SQL Server resource governor, or at the Linux operating system layer with cgroups. However, vSphere virtualization simplifies resource management, making it the best choice for assigning compute cores and memory.
The PowerMax 2000 storage array supports vSphere Native Multipathing Plug-In (NMP) technology. Multipathing increases the efficiency of sending data over redundant hardware paths that connect PowerEdge servers to PowerMax storage. Benefits include alternating I/O using round-robin to optimize use of the hardware paths and more evenly distribute the data. Another benefit is that if any component along the storage path fails, then NMP resets the connection and passes I/O using an alternate path.
We tested three incremental use cases:
The performance metrics for these tests included: