Friday Jun 26, 2015

Do I really have to drop all of my reporting indexes?

I'm back on the road this month, meeting with customers to discuss their initial impressions and experiences with Oracle Database In-Memory. During one such discussion, I got asked a very peculiar question. The question was, "Do I really have to drop all of my reporting indexes if I use Database In-Memory?"

I have to admit I was a little taken aback by this question. After all, I thought most folks would be delighted to have an opportunity to give up the majority of their indexes, not just because of the space savings and DML performance benefits but also the maintenance nightmare that indexes can sometimes become.

Assuming this was a trick question, I deployed the standard stalling technique of answering a question with a question, “Can you tell me a little more about your situation?”

To which the system architect explained that they were in production with Oracle Database In-Memory on a 2 node RAC cluster running on commodity servers and a crap IO subsystem (his words, not mine). They had a snowflake schema, and had enough memory to accommodate all of their dimension tables but only the last 3 months of data in their two fact tables. Following my guidelines, they had kept their primary key indexes but dropped the rest of their indexes. He assured me that the performance of most of their queries had improved 100X and their ETL jobs were finishing 2X faster without the indexes but there were some queries that accessed more than just the last 3 months worth of data in the fact table and their performance had gotten worse, a lot worse.

It was in that moment that I realized that our guidance on dropping all reporting indexes with Database In-Memory had been based on an assumption that was not always true. The assumption I had been working under was; all of your performance critical data resides in memory or you have a good IO sub-system (engineered system etc.)

[Read More]

Friday Jun 19, 2015

Star Schema Performance Challenge - Part 2

In my previous post, Star Schema Performance Challenge – Part 1, I outlined a challenge to support 100 concurrent users querying a 9 dimensional, 500 million row star schema using a Sun X4-4 (with 60 cores, 1 TB DRAM and commodity storage).  The users, of course, expect great query performance.  The challenging part of this is 100 active users on a 60 core machine.  With far fewer or less active users this might not be so challenging, but 100 users on this size machine is a different story.

In this post I’ll talk more about the workload and share some baseline results.

[Read More]

Monday Jun 15, 2015

SQL Plan Management

Have you ever upgraded something to a new version, like your phone or your laptop, and found that while most of it worked great there were just a few things that were worse or even broken? You might have decided to restore back to the previous version because the problem(s) were just too annoying or catastrophic to ignore. Well this was one of the motivations behind the release of SQL Plan Management back in Oracle Database 11g. SQL Plan Management (SPM) provides a framework for completely transparent, controlled execution plan evolution. The main idea being that your application should see no performance regressions due to execution plan changes when you upgrade or change something in your database environment.

[Read More]

Friday May 22, 2015

Memory Usage with Oracle Database In-Memory

We often get asked the same two questions at conferences and customer presentations. That is  can't I just cache my tables in the buffer cache or put them in the keep pool, and how much memory do I need to allocate to the IM column store? While not directly related, I'm going to try and answer both questions in this post. First let's tackle the issue of what "in-memory" mean.

[Read More]

Monday May 18, 2015

Star Schema Performance Challenge - Part 1

Over the last 20 years or so I’ve had the opportunity to help build a variety business intelligence solutions for large organizations. It will be no surprise that one of the core requirements is fast query response times. This requirement for fast response times seems pretty obvious – faster response timeslead to greater end user satisfaction. The performance of a database can also determine what types of applications are practical. Breakthroughs in performance often lead to innovating new applications that can change how people work. A more efficient application is usually less expense to operate since it might not require as large of a server.

Oracle Database In-Memory and the availability of more powerful servers with many cores and plenty of memory really is a game changer, when it comes to improving query response times. With Database In-Memory far fewer CPU cycles are used to scan, filter, join and aggregate data. With modern servers, there are plenty of CPU cycles available for processing and  DRAM is relatively inexpensive. So, Database In-Memory can do more with less and, since Database In-Memory is a feature of the Oracle Database that works with all of the others performance enhancing features of the Oracle Database, it has become yet another tool in my big tool box of performance improving techniques.

[Read More]

Friday May 08, 2015

Getting started with Oracle Database In-Memory Part V - Controlling Access

I’m finally going to make good on a promise I made way back in part 3 of our getting started with In-Memory series, to explain how you could control which queries use the In-Memory column store (IM column store) and which don't.

As with all new query performances enhancing features in the Oracle Database, a number of initialization parameters and hints have been introduce that enable you to control when and how the IM column store will be used. This post provides information on the initialization parameter, while the details on the Optimizer hint that control the use of the IM column store can be found on the Optimizer blog.

[Read More]

Thursday Apr 30, 2015

When to use Oracle Database In-Memory?

At this stage you've probably heard a lot about how Oracle Database In-Memory is an unprecedented breakthrough in Oracle database performance, offering incredible performance gains for a wide range of workloads. What you might not know is when and where it would be best to take advantage of this exciting new technology.

So, we've put together a new whitepaper to share some of the high-level use cases, and explain the scenarios under which Database In-Memory provides a performance benefit. The purpose of this paper is to give you some general guidelines so that you can determine whether your use case is a good match.

[Read More]

Friday Apr 24, 2015

In-Memory Priority

I'd like to thank everyone who attended our two Hands On Lab sessions at Collaborate last week. We had a great time presenting them and we received some really good feedback. One of the questions that came up, and gets asked periodically, is how does In-Memory priority really work?

Many times people have the misconception that the In-Memory priority attribute affects more than just the order of population but that’s not the case. The only thing the priority affects is the order of population at database startup. We discussed population briefly some time ago, but I think it's worth a quick review.

[Read More]

Friday Apr 17, 2015

CPU Efficient Query Processing with Database In-Memory

In my last post I talked about In-Memory Aggregation and mentioned that the vector transformation plan is more CPU efficient than alternative plans. In this post I’ll provide a few examples to illustrate just how effective a vector transformation plan can be.

Let’s consider a star schema, with one fact table and 9 dimension tables (time, customer, product, channel and demographic attributes such as age and income).

9 Dimensional Star

[Read More]

Thursday Apr 09, 2015

Push-Down: Part 2

In our previous post we introduced the concept of push down. The ability to push predicates, aggregations and group-bys down into the scan of a column or columns, allowing Oracle to take full advantage of all the scan performance features of the In-Memory column store. We also illustrated how you could monitor the benefits of push down via session level statistics (v$mystat). What you might not have realized is that we can also see what where clause predicates get push via the execution plan.

[Read More]

Tuesday Mar 31, 2015

Push-Down: Making Queries Fast!

In our previous posts we discussed the basic architecture of the In-Memory column store (IM column store) and now we want to drill down into some of the unique performance enhancing features. Push-down is one of the optimizations that makes scanning columns in the IM column store very efficient. Oracle Database In-Memory has the ability to push predicates, aggregations and group-bys down into the scan of a column or columns.  This ability to push-down allows us to take advantage of other performance enhancing features of Database In-Memory like SIMD vector processing and storage indexes.

[Read More]

Monday Feb 16, 2015

Getting started with Oracle Database In-Memory Part V - Aggregation

When most people think about Oracle Database In-Memory (Database In-Memory), the first thing that comes to mind is super fast scanning and filtering operations. But what you may not know is Database In-Memory also includes many SQL optimizations designed to accelerate star and snowflake type queries. We refer to this collection of SQL optimizations as In-Memory Aggregation (IMA). IMA is typically 3-10x faster than ‘conventional’ plans, and that’s in addition to the improvements provided by scanning and filtering the data via the In-Memory column store (IM column store).

[Read More]

Tuesday Jul 22, 2014

It's here! Oracle Database In-Memory is officially released

Oracle Database 12.1.0.2 was officially release today and is now available for download, which mean Oracle Database In-Memory is officially here!

Along with the software release comes a whole new set of collateral that explains in detail how all of the new Oracle Database In-Memory functionality works. The In-Memory page on Oracle.com has all of the juicy details including the official whitepaper.

[Read More]
About

The Oracle Database In-Memory blog is written by the Oracle product management team and sheds light on all things In-Memory.

Search

Archives
« July 2015
SunMonTueWedThuFriSat
   
1
2
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
       
Today