Over the last few weeks I’ve been meeting with Oracle customers all across Europe to discuss Oracle Database In-Memory. During these discussions there was a common concern raised by nearly everyone I spoke to, “Do I still need Exadata now that I have Oracle Database In-Memory?”. So I thought it would be a good idea to address this question once and for all here on the blog.
Exadata has long been touted as the “best platform for running the Oracle Database”
No, Exadata is definitely the best platform for running Oracle Database In-Memory. At least for any important database and below are the 10 reasons why I believe this is the case
If on the other hand, your in-memory database is small enough to fit entirely in DRAM, you can tolerate periods when not all the data is in memory, and you're performing read-only analytics and the occasional data loads, then Exadata may be overkill. But then again, if this was your situation, it’s unlikely you would be considering Exadata anyway.
You get a complete fault-tolerant In-Memory solution
On Exadata, you can configure a complete fault-tolerant In-Memory solution by taking advantage of In-Memory Duplication (In-Memory mirroring). In-Memory mirroring allows in-memory extends (IMCUs) to be replicated across a RAC cluster in order to prevent any performance degradations if you were to lose a RAC node. In-memory fault-tolerance is only available on Oracle Engineered System.
You can exceed DRAM limits and transparently scale across Memory, Flash and Disk
On Exadata, your database can exceed the size of DRAM and scale to any size across memory, flash and disk, with complete application transparency. Exadata combines the highest performance in-memory analytics, with the highest performance on-flash analytics (including columnar caching) and the highest performance on-disk analytics. Combining In-Memory with flash and disk delivers a much more cost effective solution than an all in-memory solution, rather than requiring all data to reside on DRAM.
Initial population of data into the In-Memory column store from storage is very fast
When data is initially populated into the In-Memory column store it is read from disk. The faster you can read the data, the faster you can execute the population process. Exadata offers outstanding IO performance.
The In-Memory Aggregation optimization, can be offloaded to Exadata storage cells
With the introduction of Oracle Database In-Memory comes the new In-Memory Aggregation optimization, Vector Group By. The key vectors, used by Vector Group By to enhance both join and aggregation, are offloaded to the Exadata storage enabling faster aggregation on all data regardless of where it resides.
Highly optimized for RAC clustering, with special low-latency cluster protocols over InfiniBand
Exadata is highly optimized for RAC clustering, with special protocols
over InfiniBand for low-latency cluster interconnect. RAC clustering is
how Database In-Memory fault-tolerance is achieved and how large
databases scale-out in memory. No other platform supports RAC with
in-memory like Exadata does.
Exadata is a database consolidation platform and Oracle Database In-Memory further enables consolidation opportunities
Exadata is an ideal database consolidation platform and Oracle Database In-Memory enhances that value even further. In many ways Oracle Database In-Memory “completes” Exadata by applying in-memory performance techniques that are similar to those used on disk and flash. Database consolidation is all about lowering costs and administration while also increasing performance. Consolidation on Exadata allows customers to simultaneously optimize performance and cost by placing specific tables or databases in-memory while using extreme performance flash and high capacity disk to increase consolidation capacity. The result is a solution that gives the speed of DRAM, the IOPs of flash, and the cost effectiveness of disk.
Use of Oracle VM Trusted Partitions is allowed, reducing software license costs
On Exadata, the use of Oracle VM Trusted Partitions is allowed, reducing software license costs. This is especially relevant for database options that require less compute power than a full server.
Elastic configurations, allow you to buy what you need
Exadata elastic configurations, introduced in Exadata X5, enable custom configurations that are perfectly tailored to specific workloads. If you need more memory but not a lot of storage capacity you can create that configuration and only purchase the Exadata servers needed for the job.
Get it first on Exadata
Exadata is the development platform for Oracle Database In-Memory. Issues are discovered and fixed on Exadata first. Exadata is also the primary platform for Oracle Database testing, HA best practices validation, integration and support. The same reasons it is the best platform for Oracle Database apply to Oracle Database In-Memory.
Parallel Execution NUMA support
For larger datasets, Oracle's parallel execution has always been used to improve scan performance by allocating multiple parallel server processes. The same is true for Oracle Database In-Memory. On Exadata, Database In-Memory and parallel execution are NUMA aware, allowing them to understands the exact memory layout and interconnect. Ensuring the fastest access to all data populated in-memory.