Oracle Database 18c is here, and it comes with some great new features for Oracle Database In-Memory which you won’t want to miss. In case you haven’t already done so, make sure you take a quick look at Dom Giles’s blog post to learn about Oracle Database 18c. It provides a primer on all the new innovations in Oracle Database 18c.
Now, it has been just over three years since we introduced the ground breaking Oracle Database In-Memory capability with our dual format architecture, all seamlessly integrated into Oracle Database. We certainly have not been resting on our laurels since then.
In Oracle Database 12c Release 2 (12.2) we greatly enhanced Oracle Database In-Memory: new features to help manage the column store with Automatic Data Optimization, expansion of the column store with Active Data Guard and Exadata Flash Cache, and increased performance with In-Memory Expressions and Join Groups. See this blog post for details.
We continue this innovation journey with Oracle Database 18c. Now, with this latest release, you can automatically manage the objects in the IM column store via the new automatic in-memory capability. You can also expand the reach of Database In-Memory by running analytic queries on non-Oracle data via the support for external tables. In addition, there are a number of performance enhancements, a couple of which are highlighted in this blog.
We’re really excited about this release and we will be blogging about all of the new Database In-Memory features in the coming weeks, but here’s a teaser to get you started thinking about Oracle Database 18c.
We introduced Automatic Data Optimization (ADO) for Database In-Memory in Oracle Database 12.2. ADO allowed policy based management of objects in the IM column store.
In Oracle Database 18c we’ve added a new feature called Automatic In-Memory. This expands on the management of the IM column store by allowing you to automatically manage the contents of the IM column store based on Heat Map data. This is another step on our journey to making the IM column store self-managing.
When Automatic In-Memory is enabled, if the size of the objects that have been enabled for in-memory exceeds the size of the IM column store, and the population of a new object won’t fit, the least active object(s) will be evicted to make enough room to populate the new object. All of this can happen automatically without needing any administrative intervention.
In-Memory External Tables builds on the theme of expanding analytic queries to all data, not just Oracle native data. Oracle Database already supports accessing external data with features like External Tables and Big Data SQL to allow fast and secure SQL query on all types of data. In-Memory External Tables allow essentially any type of data to be populated into the IM column store. This means non-native Oracle data can be analyzed with any data in Oracle Database using Oracle SQL and its rich feature set and also get the benefit of using all of the performance enhancing features of Database In-Memory.
Building on what we call the high-performance options of 12.2, In-Memory Expressions and Join Groups, we’ve added a really innovative feature called In-Memory Dynamic Scans (IMDS). This can supercharge Database In-Memory performance.
With IMDS, when additional CPU is available Database In-Memory will automatically parallelize its scans of data in the IM column store. It does this by using multiple lightweight threads of execution within a process. This allows Database In-Memory to further increase scan performance by utilizing idle CPU resources. All of this is controlled by the Resource Manager so you don’t need to be worried about impacting the performance of your other database tasks.
Another performance innovation in Oracle Database 18c is the ability to create In-Memory Optimized Arithmetic encoded numbers. Similar to what In-Memory Expressions did in 12.2 with the storing of pre-computed expressions, In-Memory Optimized Arithmetic builds on the ability to pre-optimize NUMBER format data types in the IM column store. This enables faster arithmetic calculations using SIMD hardware and can significantly improve performance by performing arithmetic operations natively right in the hardware.
With Oracle Database 18c we now support accessing non-HCC objects in the Exadata Flash cache in full Database In-Memory columnar format. In 12.2 this was restricted to just HCC objects. We blogged about this new ability here since it is dependent on Exadata storage server software as well. The bottom line is that with Exadata it is possible to easily have a multi-terabyte column store and perform analytic queries on huge sets of data.
We have also made a lot of other miscellaneous improvements to make Database In-Memory even better at scanning and filtering data enabling you to run your analytic queries even faster than before. Oracle Database 18c continues our commitment to innovate and improve the performance of Database In-Memory.
In the upcoming weeks, we will be blogging in detail about these new features and more. In the meantime you can start exploring what’s new in Database In-Memory by taking a look at the new documentation here.