ORACLE DATABASE 12C IN-MEMORY OPTION



Similar documents
Preview of Oracle Database 12c In-Memory Option. Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Oracle Database In-Memory The Next Big Thing

Safe Harbor Statement

Who am I? Copyright 2014, Oracle and/or its affiliates. All rights reserved. 3

SAP HANA PLATFORM Top Ten Questions for Choosing In-Memory Databases. Start Here

Optimize Oracle Business Intelligence Analytics with Oracle 12c In-Memory Database Option

Oracle Database In-Memory A Practical Solution

In-memory databases and innovations in Business Intelligence

ORACLE DATABASE 12c FOR SAP: ROADMAP, BASE CERTIFICATION FEATURES AND OPTIONS

Inge Os Sales Consulting Manager Oracle Norway

Cost-Effective Data Management and a Simplified Data Warehouse

Oracle Database 12c. Peter Schmidt Systemberater Oracle Deutschland BV & CO KG

Oracle Database - Engineered for Innovation. Sedat Zencirci Teknoloji Satış Danışmanlığı Direktörü Türkiye ve Orta Asya

Oracle MulBtenant Customer Success Stories

Affordable, Scalable, Reliable OLTP in a Cloud and Big Data World: IBM DB2 purescale

Tips and Tricks for Using Oracle TimesTen In-Memory Database in the Application Tier

Oracle Big Data, In-memory, and Exadata - One Database Engine to Rule Them All Dr.-Ing. Holger Friedrich

Distributed Architecture of Oracle Database In-memory

Object Oriented Database Management System for Decision Support System.

2009 Oracle Corporation 1

Chapter 2 Why Are Enterprise Applications So Diverse?

Oracle Database 12c Plug In. Switch On. Get SMART.

Is there any alternative to Exadata X5? March 2015

In-memory Tables Technology overview and solutions

Oracle InMemory Database

<Insert Picture Here> Oracle Database Directions Fred Louis Principal Sales Consultant Ohio Valley Region

IS IN-MEMORY COMPUTING MAKING THE MOVE TO PRIME TIME?

An Oracle White Paper May Exadata Smart Flash Cache and the Oracle Exadata Database Machine

OLTP Meets Bigdata, Challenges, Options, and Future Saibabu Devabhaktuni

Expert Oracle Exadata

Automatic Data Optimization

Capacity Management for Oracle Database Machine Exadata v2

Database Performance with In-Memory Solutions

SAP HANA - Main Memory Technology: A Challenge for Development of Business Applications. Jürgen Primsch, SAP AG July 2011

Scalability of web applications. CSCI 470: Web Science Keith Vertanen

IN-MEMORY DATABASE SYSTEMS. Prof. Dr. Uta Störl Big Data Technologies: In-Memory DBMS - SoSe

In-Memory Analytics: A comparison between Oracle TimesTen and Oracle Essbase

<Insert Picture Here> Best Practices for Extreme Performance with Data Warehousing on Oracle Database

SQL Server 2014 New Features/In- Memory Store. Juergen Thomas Microsoft Corporation

<Insert Picture Here> Oracle In-Memory Database Cache Overview

Big data big talk or big results?

CitusDB Architecture for Real-Time Big Data

Safe Harbor Statement

Application-Tier In-Memory Analytics Best Practices and Use Cases

Overview: X5 Generation Database Machines

A Next-Generation Analytics Ecosystem for Big Data. Colin White, BI Research September 2012 Sponsored by ParAccel

News and trends in Data Warehouse Automation, Big Data and BI. Johan Hendrickx & Dirk Vermeiren

Why DBMSs Matter More than Ever in the Big Data Era

Performance Verbesserung von SAP BW mit SQL Server Columnstore

An Integrated Analytics & Big Data Infrastructure September 21, 2012 Robert Stackowiak, Vice President Data Systems Architecture Oracle Enterprise

Oracle Database In- Memory & Rest of the Database Performance Features

In-memory computing with SAP HANA

In-Memory Data Management for Enterprise Applications

An Oracle White Paper August Automatic Data Optimization with Oracle Database 12c

Oracle Database In-Memory

Under The Hood. Tirthankar Lahiri Vice President Data Technologies and TimesTen October 28, #DBIM12c

Oracle: Database and Data Management Innovations with CERN Public Day

Optimizing Storage for Better TCO in Oracle Environments. Part 1: Management INFOSTOR. Executive Brief

The Revival of Direct Attached Storage for Oracle Databases

Building Real-Time Analytics Apps with HANA

A Scalable Data Transformation Framework using the Hadoop Ecosystem

CASE STUDY: Oracle TimesTen In-Memory Database and Shared Disk HA Implementation at Instance level. -ORACLE TIMESTEN 11gR1

Oracle FS1 Flash Storage System

SAP NetWeaver BW Archiving with Nearline Storage (NLS) and Optimized Analytics

Fact Sheet In-Memory Analysis

Safe Harbor Statement

Converged, Real-time Analytics Enabling Faster Decision Making and New Business Opportunities

An Overview of SAP BW Powered by HANA. Al Weedman

bigdata Managing Scale in Ontological Systems

<Insert Picture Here>

SQL Server 2012 Performance White Paper

Oracle Database In-Memory

White Paper. Considerations for maximising analytic performance

Comparing SQL and NOSQL databases

Big Fast Data Hadoop acceleration with Flash. June 2013

IBM DB2 Near-Line Storage Solution for SAP NetWeaver BW

SAP HANA SPS 09 - What s New? SAP HANA Scalability

Expert Oracle Exadata

Oracle on Oracle. Hans Peter Kipfer Vice President, Engineered Systems EMEA

MySQL és Hadoop mint Big Data platform (SQL + NoSQL = MySQL Cluster?!)

InfiniteGraph: The Distributed Graph Database

SAP HANA SAP s In-Memory Database. Dr. Martin Kittel, SAP HANA Development January 16, 2013

Exadata Database Machine Administration Workshop NEW

Exadata for Oracle DBAs. Longtime Oracle DBA

Azure Scalability Prescriptive Architecture using the Enzo Multitenant Framework

SUN ORACLE EXADATA STORAGE SERVER

Oracle EXAM - 1Z Oracle Database 11g Release 2: SQL Tuning. Buy Full Product.

Accelerating Enterprise Applications and Reducing TCO with SanDisk ZetaScale Software

Upgrade to Oracle E-Business Suite R12 While Controlling the Impact of Data Growth WHITE PAPER

Oracle Database 12c Built for Data Warehousing O R A C L E W H I T E P A P E R F E B R U A R Y

Big Data and Its Impact on the Data Warehousing Architecture

Tuning Exadata. But Why?

SQL Server 2016 New Features!

Oracle Exalytics Briefing

Using In-Memory Data Fabric Architecture from SAP to Create Your Data Advantage

Oracle Exadata: The World s Fastest Database Machine Exadata Database Machine Architecture

Understanding the Value of In-Memory in the IT Landscape

Network Attached Storage. Jinfeng Yang Oct/19/2015

White Paper. Optimizing the Performance Of MySQL Cluster

Transcription:

Oracle Database 12c In-Memory Option 491 ORACLE DATABASE 12C IN-MEMORY OPTION c The Top Tier of a Multi-tiered Database Architecture There is this famous character, called Mr. Jourdain, in The Bourgeois Gentleman, a piece written by Molière almost 350 years ago. When he learns that the word prose means all speech that is not verse, he suddenly realizes that he has spoken prose for more than 40 years. In a way, in-memory is prose, too. Many people today claim that the in-memory database is a revolutionary architecture. It turns out, however, that it is surprisingly difficult to tell what exactly makes this architecture revolutionary: The name suggests considering the fact that data to be read or manipulated are kept in memory. However, this is true for all databases. Data may be stored on disk to guarantee persistence, but whenever a user wants to read or update existing data they are loaded into a database cache and kept there as long as possible. In well-tuned Oracle systems, 95% or more of all data requests find that the data they need are already available in memory. Which means: That is almost in-memory, and a difference of 5% is certainly not a valid reason to speak of a revolution Traditional databases store data as rows, whereas in-memory databases use a columnar format. But again, that is nothing new. For many years columnar databases have been available from several vendors Finally, certain vendors provide the option to create stored procedures, which allow developers to push down application functionality to the database in order to reduce the data traffic between client (or application server) and database server. This is certainly a good idea, but it is nothing new, nor is it an in-memory-specific feature. The Oracle Database introduced stored procedures more than 20 years ago, and state-of-the-art applications have always made use of them What is really new about in-memory databases? All this does not mean that there is nothing new at all. It just means that the answer is neither to be found in the term in-memory database nor in the majority of the marketing claims. Not one single of the technologies used in in-memory databases is new. What is new, however, is the idea to combine several technologies which so far were only available in separate products. In the past, there were disk-based OLTP databases and in-memory Decision Support (DSS) databases. Customers who wanted to have both had to buy two separate products, to build two separate systems and most probably also to figure out how to feed data generated by users of the OLTP system into the DSS system. What is really new about in-memory databases is the idea to get rid of this separation and to combine both technologies in one single product. Or at least: this is the vendor s perspective. From the customer s perspective, one single product means: one single system (instead of two), less integration and administration effort, possibly new types of applications and real-time decision support. Gravity We are able to build rockets flying to the moon. However, this does not mean that we got rid of gravity. We need to overcome it. Similarly, there are two fundamental laws in the world of database architectures, which everybody who wants to fly to a pure in-memory architecture will experience as a kind of gravity: OLTP transactions, which operate on few rows, but many columns, work best on the row format, whereas analytics (DSS), accessing few columns of many rows, works best on the column format Data in memory are volatile. In order to guarantee not only performance, but persistence as well, a non-volatile (disk-based) storage must be available as a secondary storage tier

250 The first law actually explains, why the project to combine the disk- and row-based database technology with the memory- and column-based technology in one single product is worth the effort. If one technology were able to handle all kinds of transactions optimally, the combination would not make any sense. Here gravity means: If the goal is the consolidation of OLTP and DSS in one single product/system, then a columnar-only architecture is not possible. The second law explains, why even the latest in-memory database systems must run on traditional computers and make use of disk storage. This is the second meaning of gravity. The marketing teams of the different vendors put this in different ways. Some talk primarily about in-memory columnar computing, while silently adding support for row format and disk storage. Others describe in-memory computing as an extension of traditional, disk-based computing. In all cases, however, they really say: We want to fly, but we cannot neglect gravity. Oracle Database 12c In-Memory Architecture Oracle is and wants customers to be aware of the two fundamental laws just described. Nevertheless, Oracle wants to help customers fly as well. Therefore the Oracle Database 12c In-Memory Option is based on a dual-format data store: Data are persistently stored on disk, and they are stored in row format only Whenever data are requested for read/write operations (data manipulations), they are loaded into the traditional Row Store (Buffer Cache) Whenever data are requested for read-only operations, they are populated into a new In-Memory Column Store. This population, of course, includes a transformation from row to columnar format Whenever a transaction that includes inserts, updates, or deletes is committed, the new data will immediately and simultaneously appear in both the row store and the in-memory column store. Therefore both stores are transactionally consistent Note that this approach does not necessarily require more memory. There is no need to populate the same data in both stores. If they are required for OLTP only, they will not be populated into the column store, and if they are used for DSS only, they will not be kept in the row store. In addition (as we will see shortly) it is possible to restrict the data populated into the in-memory column store to subsets of the table data. This approach has many important benefits for customers: There is no need to modify applications. All existing applications run unchanged in the new architecture There is no need to modify the database. The Oracle Database 12c In-Memory Option can be implemented without a database migration or a table reorganization Figure 1: Oracle 12c dual format in-memory database There are no limits for database or table sizes. The Oracle Database 12c In-Memory Option can be used with databases and systems of any size Therefore there is no need to change the infrastructure. The new in-memory feature can be implemented on the existing hardware

Oracle Database 12c In-Memory Option 513 Oracle s In-Memory Option is fully compatible with other optional Oracle Database features such as table compression, table encryption, and table partitioning. It is also compatible with the scale-out architecture provided by Real Application Clusters (RAC) and with all existing high availability technologies (such as Data Guard). These features work exactly the same way with and without the In-Memory Option Customers can decide how they want to implement the new architecture. If customers want a revolution: if they want to buy completely new hardware and store as many tables as possible in the in-memory column store that can be done. If, on the other hand, customers prefer an evolution: if they want to keep the existing hardware, to keep just a few tables in the in-memory column store and see how it works that can be done as well And that s it! and fine-grained control An easy start based on intelligent defaults for typical situations this is what Oracle customers expect. In addition, however, Oracle customers expect mechanisms, which allow for fine-grained control and tuning in special cases. The Oracle Database 12c In-Memory Option provides such mechanisms. Let us look at three examples. An easy start There is yet another benefit: Oracle has made it very easy to get started with the In-Memory Option. Here is what needs to be done: Assign a value to the new initialization parameter inmemory_size in order to define the size of the in-memory column store Select the table(s) that you want to be available in the in-memory column store: ALTER TABLE T1 INMEMORY; Figure 2: Population of the In-Memory Column Store (1) Even if you use the Oracle Database 12c In-Memory Option, all data is stored in row format on disk. The ALTER TABLE statement does not change this, nor does it populate the table data into the in-memory column store. It only tells the database that you want the table data to be available in the in-memory column store at a certain point in time. But at which point in time? Two basic options are available as an answer to this question: (a) on demand or (b) during database system startup. Option (a) is the default: Table data are populated into the in-memory column store, when they are first referenced by a query (see figure 2, tables T2 and T3). Whenever this behavior is not appropriate, the database administrator can specify that this job should be executed during database server startup (see figure 2, table T1). By using and combining these options, the population work can be distributed in time.

452 (2) Tables can contain historical (in ILM terminology: cold ) data, which are neither updated anymore nor accessed by queries. If those tables are very large, it would be a waste of memory to keep them completely in the in-memory column store. Therefore administrators may want to restrict the population process to the data really needed by DSS queries. Table partitioning allows them to make this happen, because the INMEMORY attribute can not only be specified on the table level, but on the partition or subpartition level as well (see figure 3, left-hand side). If the table is partitioned in a useful way (e.g. by month), this internal structure can be used to define a horizontal subset of the table data to be kept in the in-memory column store. Figure 3: Defining horizontal and vertical subsets (3) A CUSTOMERS table may contain the usual data (name, zip code, city, etc.), nicely divided into columns, and, in addition, a column which can be used by sales people to store customer-specific comments as text strings (see figure 3, right-hand side, column C5). The data in this column is unstructured, consists of unique values of very different lengths, and is most probably not relevant for DSS queries. Again the database administrator may wish to restrict the data to be kept in the in-memory column store, but in this case the goal would be to define a vertical subset of the table data, i.e. to exclude one or more columns from the population process. And again it is possible to make this happen, because the Oracle In-Memory Option allows administrators to specify different in-memory characteristics for different table columns. The first lesson learned However brief our discussion of subset building may have been it should already be clear that the Oracle Database 12c In-Memory Option is based on a certain concept, which is not necessarily the concept of all other in-memory database products. If in-memory database is supposed to mean that all data must be stored in memory and if the Oracle Database 12c In-Memory Option is seen as HANA for the poor, then all attempts to implement this new functionality will fail. Key to success is the insight into the fundamental difference between HANA and Oracle Database 12c. There are two statements on which SAP and Oracle agree. The first one has already been discussed. It defines the goal of the current research and development efforts: It makes sense to combine row-based and column-based technologies in one single product, as this allows customers to combine OLTP and DSS in one single system and to develop completely new applications. The second statement is about hardware and the progress made during the last 10 years by hardware vendors: The hardware which is available today allows us to build combined OLTP/DSS systems. Such a combination was a pure dream 20 years ago, but today the hardware is powerful enough to support such an architecture. But from this common ground emerged two very different approaches. SAP translates the statement about the progress made by hardware vendors as: Memory has become so cheap that whole databases can fit into memory. Oracle believes that this is an oversimplification and an unforced restriction of the options which are available today. Oracle s position can be summarized as: There is so much progress in so many different areas that it does not make sense to confine ourselves to one single technology.

Oracle Database 12c In-Memory Option 535 The fundamental difference between HANA and Oracle Database 12c, then, is the database concept. Traditionally, a database was a set of data stored on disk. For SAP, a database is a set of data that should rather reside in memory. In other words: SAP proposes a different storage medium, but still relies on the traditional concept of a database as one single thing, which must be stored here or there as a whole. For Oracle too, a database is a set of data, but this set can be divided into subsets, which are defined by certain characteristics such as age of the data or usage patterns. And Oracle believes that for those different subsets different technologies are most appropriate. Figure 4: Oracle s multi-tiered database architecture In other words: The Oracle Database 12c In-Memory Option is one of the building blocks of a multi-tiered database architecture (see figure 4). New ILM features (see article Oracle Database 12c: Information Lifecycle Management, page 46 of this volume) help customers separate hot, warm, and cold data and store them on different types of disks. Flash support allows Oracle Database 12c to store very hot data in an intermediate layer between disk and memory. And memory is divided into a row store for OLTP processing and a column store for analytical queries. Unlike other vendors, Oracle does not require all of the data to reside in memory in order to be able to take advantage of the new in-memory capabilities. A query can execute on data that resides in-memory, on flash and on disk completely transparently, and this is exactly what enables the Oracle Database 12c In-Memory option to be used with databases and systems of any size. Within such a framework the idea to keep all or at least as many data as possible in the in-memory column store makes no sense at all. The in-memory column store is the appropriate place for all data that are frequently accessed by analytical queries, and therefore the goal is to define this subset as precisely as possible. Or, as the author of an Oracle white paper about the Exadata Smart Flash Cache puts it: Knowing what not to cache is of great importance to realize the performance potential of the cache.