This month I had a chance to talk with the Oracle database In-Memory development team at the Oracle Headquarter in Redwood Shores and meet there the Oracle product managers, VP of Oracle In-Memory and the mother of Oracle Query Optimizer Maria Colgan. In a 3 hours workshop we discussed the current challenges in implementing new database and in-memory computing technologies, talked about new trends and possibilities in the future product versions.
I really liked the atmosphere of the workshop, the openness of the Oracle development team and the constructive discussion that we could have there. This certainly can help us to be prepared and build a database platform of tomorrow that will be capable to cope with enormous data growth and tough availability and performance requirements that come from the customers.
Thanks to Maria, Tirthankar, Raj, Andy, Shasank and entire Oracle In-Memory team to make it happen.
The In-Memory Column Store feature that was introduced by Oracle in the database version 12c (18.104.22.168) brings the solution for accelerating performance of database-driven business decision-making to real-time speeds. Since it is an extra-license feature for which Oracle makes you pay around 50% on top of your CPU license (similar to RAC option), you probably ask yourself a few valid questions. Don’t we cache everything already in memory anyway? Is it really required for my application, my company? Will it work for my workload at all? In this post I’ll give you a short guideline and introduction into Oracle database In-Memory feature.
First of all me personally and so probably you do not know any database that works only on disk. Indeed we cache most of our data, code and intermediate results in memory already. Furthermore there are some extra Oracle database performance features that help you to achieve that fairly efficiently, for example:
– KEEP/RECYCLE Pools
– RESULT Cache
– 12c Big Table Caching
– 12c Full Database Caching
The key point of Oracle In-Memory is not “What to cache” but “How”. So the major difference of Oracle In-Memory Column Store is that it enables individual database segments to be loaded into memory in the compressed columnar format. This technique enables segment scans to perform much faster than the traditional on-disk formats, providing performance boost for analytical and reporting workload.