There was a time when some database management systems (DBMSs) were co-designed with hardware platforms made specifically to run them. These platforms were called “database machines.” They were used for the most extreme and demanding database workloads. As hardware costs dropped and performance improved, however, most database users opted for DBMSs that ran on standard RISC or x86 servers with NAS or SAN storage systems, and the database machines were relegated to the job of managing extremely large enterprise data warehouses (EDWs). In time, most of these database machines faded into obscurity. Oracle’s Exadata Database Machine is an obvious exception to this trend—still running strong with 15% growth as reported by Oracle in Q1 and continuous innovation over 10 years with demonstrable superiority over generic x86 servers running Oracle Database. Oracle Database is also not a specialized database, as it can run on other vendors’ servers and clouds—just not as well.
With the advent of streaming data, fast internet speeds, and demand for real-time business intelligence, those DBMSs deployed on generic systems were improved with memory optimization and other advances, to push the limits of those systems. As users look to the public cloud for enhanced flexibility and better cost efficiency, DBMS developers have had the challenge of designing software that can run on reusable compute nodes in public cloud services such as AWS, Microsoft Azure, and Google Cloud Platform (GCP); compute nodes that may be dynamically repurposed to run some completely different workload, such as an e-commerce or accounting application. What this means is that the DBMS gets no advantage from the hardware.
Oracle, as mentioned earlier, has gone another way. While continuing to develop and support Oracle Database running on generic servers, Oracle has also developed a hardware platform specifically designed to optimize the performance, flexibility, and robustness of Oracle Database with co-engineering at the source code level. That platform is Exadata, and it has been in constant development since its introduction in 2008. This system separates compute nodes (processing full SQL) from smart storage cells (handling base table level SQL against internal storage) to provide clustered parallelism with optimized storage and retrieval over a high-speed internal network.
The latest version of Oracle Exadata is X8M. Like its predecessors, it optimizes the communications between the compute nodes and storage cells using remote direct memory access (RDMA), a facility that allows one system to read and write the memory of another system through the network without involving the CPUs of the remote system. The result is that instead of the usual handshake and TCP back-and-forth of sending packets, the compute node can read and write data directly from or to the storage cell, greatly streamlining communication. Since any compute node can communicate in this way with any storage cell, the resulting model is, like Real Application Clusters (RAC), shared everything. This gives the database server maximum flexibility in assigning resources to process a SQL request. Oracle Exadata X8M uses a 100Gbs RDMA over Converged Ethernet (RoCE) internal fabric for these communications, which enables further optimization and speed of the compute-to-storage communications.
Oracle Exadata uses the kernel virtual machine (KVM) capability of Linux for virtualization, bringing the system in line with industry-standard practice. It also features a hot-warm-cold approach to storing data. Cold (infrequently accessed) data is on spinning disks that are directly attached to the storage cells. Warm (active, but not high volume) data is kept in solid state (a.k.a., Flash) memory that is directly managed (rather than using the more common file protocol version) for optimized reads and writes. Hot (high volume, high speed) data is divided between highly volatile data kept in main memory on the database server, and the rest of hot data, kept in persistent memory in the storage server.
For persistent memory, Oracle Exadata X8M uses the Intel® Optane™ Persistent Memory Module (PMEM for short). It supports up to four times as much memory per socket as conventional main memory, and as the name implies, it is persistent, which means that when the system cycles it retains its values. This makes for more available memory, and shorter restart times involving in-memory columns. PMEM is used on the storage server to store the hottest data, and data can be read very quickly using RDMA reads. PMEM is also used instead of Flash for storing transaction log records. Because transaction processing can stall while waiting to read data, and cannot be completed until the log record is stored, and because PMEM is so much faster than flash, these uses of PMEM can result in a boost of up to 2.5x in transaction rates and 10x reduction in latency for IO.
Oracle Exadata X8M is clearly an attractive choice for Oracle Database users deploying on their premises, but what about the public cloud? Well, Oracle Cloud Infrastructure (OCI) now supports Exadata X8M there as well with the recently unveiled Exadata Cloud Service X8M. This means that users can get the same performance benefits in Oracle’s cloud as they get on-premises. In addition, like the on-premises version, the cloud version starts the user at a quarter rack, and then allows the user to add resources, both compute and storage, dynamically and independently, only paying for what they use, with per second billing. Exadata X8M’s performance combined with granular elasticity lowers overall cloud costs as customers complete tasks faster with smaller configurations than competitive database cloud service offerings.
According to Oracle, all of this software defined flexibility enables the creation of up to 25 petabyte data warehouses, which are massive. Exadata Cloud Service X8M is engineered for mixed workloads, able to handle transaction processing and data warehousing in the same database, on the same cloud service, leveraging the new X8M architecture. Exadata Cloud Service X8M also offers true online patching and maintenance, resulting in transparently continuous service.
Running Oracle Database on OCI not only means a more flexible Exadata X8M deployment, but it also means the option of running the database under Oracle Autonomous Database, which self-tunes and self-heals driven by AI and continuous ML process, is also available. In addition, moving data and workloads from on-premises to the Oracle Cloud (Exadata to Exadata) is seamless and requires no changes to the applications or databases.
In July, Oracle introduced the X8M architecture for its Cloud@Customer offerings, both Exadata Cloud@Customer and Dedicated Region Cloud@Customer. All the features described above can be had on-prem, with the same pricing features of a quarter rack, and pay-as-you-go after that. Oracle Exadata X8M Cloud@Customer is fully supported and managed by Oracle personnel, so the user need not devote any IT staff to operational activities involving the system, including systems maintenance and patch application. Oracle’s RMAN-based backup system, Real Application Clusters, and Data Guard HA/DR solutions are also included.
Oracle is quick to point out that Oracle Database also offers native JSON document, graph, and spatial support in the same database, forming an additional contrast between Oracle’s approach to the cloud and those of the other public cloud services, who offer a specialized DBMS for each data type and workload. Oracle’s approach stands in stark contrast to the usual generic system-based DBMS deployment in the cloud, by instead customizing every aspect of the database systems and environment specifically to optimize the performance, flexibility, and reliability of the database.
By putting its database machine on the public cloud, Oracle is clearly demonstrating its commitment to continue to push the outside edge of the envelope in terms of database performance, scale and elasticity. Customers looking for such performance levels should look at Exadata Cloud Service X8M.
Carl Olofson has performed research and analysis for IDC since 1997, and manages IDC’s Database Management Software service, as well as supporting the Data Integration Software service. Mr. Olofson’s research involves following sales and technical developments in the structured data management (SDM) markets, including database management systems (DBMS), dynamic data management systems, database development and management software, and dynamic data grid managers, including the vendors of related tools and software systems. Mr. Olofson also contributes to Big Data research and provides specialized coverage of Hadoop and other Big Data technologies. Mr. Olofson advises clients on market and technology directions as well as performing supply and demand-side primary research to size, forecast, and segment the database and related software markets.