Oracle Database In-Memory A Practical Solution

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

Safe Harbor Statement

Oracle Database In-Memory The Next Big Thing

Oracle MulBtenant Customer Success Stories

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

Inge Os Sales Consulting Manager Oracle Norway

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

Oracle InMemory Database

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

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

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

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

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

2009 Oracle Corporation 1

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

ORACLE DATABASE 12C IN-MEMORY OPTION

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

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

Aaron Werman.

How To Use Exadata

Oracle Database 12c: Performance Management and Tuning NEW

Applying traditional DBA skills to Oracle Exadata. Marc Fielding March 2013

Expert Oracle Exadata

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

Safe Harbor Statement

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

The New Economics of SAP Business Suite powered by SAP HANA SAP AG. All rights reserved. 2

Oracle Database 11g: New Features for Administrators DBA Release 2

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

Capacity Management for Oracle Database Machine Exadata v2

James Serra Sr BI Architect

Introduction to Database as a Service

Oracle Database Public Cloud Services

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

Upcoming: Oracle Database 12.1 Support Update for Linux on System z

ORACLE DATABASE HIGH AVAILABILITY STRATEGY, ARCHITECTURE AND SOLUTIONS

Einsatzfelder von IBM PureData Systems und Ihre Vorteile.

Oracle Database 11g: New Features for Administrators

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

<Insert Picture Here>

Exadata for Oracle DBAs. Longtime Oracle DBA

Integrating Apache Spark with an Enterprise Data Warehouse

Automatic Data Optimization

Oracle Database 11 g Performance Tuning. Recipes. Sam R. Alapati Darl Kuhn Bill Padfield. Apress*

Instant-On Enterprise

Oracle: Database and Data Management Innovations with CERN Public Day

System Architecture. In-Memory Database

Oracle 11g New Features - OCP Upgrade Exam

SAS and Oracle: Big Data and Cloud Partnering Innovation Targets the Third Platform

Distributed Architecture of Oracle Database In-memory

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

Objectif. Participant. Prérequis. Pédagogie. Oracle Database 11g - Administration Workshop II - LVC. 5 Jours [35 Heures]

Overview: X5 Generation Database Machines

Birds of a Feather Session: Best Practices for TimesTen on Exalytics

EMC Unified Storage for Microsoft SQL Server 2008

The Revival of Direct Attached Storage for Oracle Databases

Module 14: Scalability and High Availability

Improve Business Productivity and User Experience with a SanDisk Powered SQL Server 2014 In-Memory OLTP Database

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

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

Objectif. Participant. Prérequis. Pédagogie. Oracle Database 11g - New Features for Administrators Release 2. 5 Jours [35 Heures]

Performance Baseline of Hitachi Data Systems HUS VM All Flash Array for Oracle

WITH A FUSION POWERED SQL SERVER 2014 IN-MEMORY OLTP DATABASE

Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle

PostgreSQL Business Intelligence & Performance Simon Riggs CTO, 2ndQuadrant PostgreSQL Major Contributor

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

TOP FIVE REASONS WHY CUSTOMERS USE EMC AND VMWARE TO VIRTUALIZE ORACLE ENVIRONMENTS

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

Oracle Database 11g: Administration Workshop II

Oracle Exalytics Briefing

Oracle Database 11g: Administration Workshop II DBA Release 2

Oracle Database 10g: New Features for Administrators

The Flash Transformed Data Center & the Unlimited Future of Flash John Scaramuzzo Sr. Vice President & General Manager, Enterprise Storage Solutions

Oracle Database 10g: Administration Workshop II Release 2

Query Acceleration of Oracle Database 12c In-Memory using Software on Chip Technology with Fujitsu M10 SPARC Servers

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

Safe Harbor Statement

Introducing Oracle Exalytics In-Memory Machine

Configuring Backup Settings Configuring and Managing Persistent Settings for RMAN Configuring Autobackup of Control File Backup optimization

ORACLE DATABASE ADMINISTRATOR RESUME

Main Memory Data Warehouses

Maximum Availability Architecture

Columnstore Indexes for Fast Data Warehouse Query Processing in SQL Server 11.0

Increase Database Performance by Implementing Cirrus Data Solutions DCS SAN Caching Appliance With the Seagate Nytro Flash Accelerator Card

Big Data and Its Impact on the Data Warehousing Architecture

How to Choose Between Hadoop, NoSQL and RDBMS

An Oracle White Paper February, Oracle Database In-Memory Advisor Best Practices

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

How to Migrate your Database to Oracle Exadata. Noam Cohen, Oracle DB Consultant, E&M Computing

Oracle Database 11g: Administration And Backup & Recover

Oracle 11g Database Administration

EMC VFCACHE ACCELERATES ORACLE

Actian Vector in Hadoop

IBM DB2 Near-Line Storage Solution for SAP NetWeaver BW

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

Oracle Database In-Memory

Oracle Exadata Database Machine for SAP Systems - Innovation Provided by SAP and Oracle for Joint Customers

Transcription:

Oracle Database In-Memory A Practical Solution Sreekanth Chintala Oracle Enterprise Architect Dan Huls Sr. Technical Director, AT&T WiFi CON3087 Moscone South 307

Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle. Oracle Confidential Internal

Agenda 1 2 3 4 5 In Memory Overview 5 Reasons To Consider In Memory Data Warehouse Use Case Lessons Learned Testing Methodology Oracle Confidential Internal

Oracle Database In-Memory Goals Real Time Analytics Accelerate Mixed Accelerate Mixed Workload OLTP Workload OLTP No Changes to Applications Trivial to Implement 100x

Breakthrough: Dual Format Database Normal Buffer Cache SALES Row Format New In-Memory Format SALES Column Format BOTH row and column formats for same table Simultaneously active and transactionally consistent Analytics & reporting use new in-memory Column format OLTP uses proven row format SALES 5

Oracle In-Memory Columnar Technology Pure In-Memory Columnar Pure in-memory column format Not persistent, and no logging Quick to change data: fast OLTP Enabled at table or partition Only active data in-memory SALES 2x to 20x compression typical Available on all hardware platforms 6

Agenda 1 2 3 4 5 In Memory Overview 5 Reasons To Consider In Memory Data Warehouse Use Case Lessons Learned Testing Methodology Oracle Confidential Internal

Top 5 Reasons to Consider In Memory #1 Supports both OLTP and Data Warehouse #2 Maximum Availability is Built In #3 Database Size Isn t Limited by Memory #4 All Applications are Transparently Compatible #5 No Additional Personnel/Training Needed

#1 Supports both OLTP and Data Warehouse Until Now Must Choose One Format and Suffer Tradeoffs OLTP uses row format Row Format Memory Column Format Analytics & reporting use New Column format OLTP ORDER REGION Analytics Transactions run faster on row format Analytics run faster on column format Insert or query a sales order Fast processing few rows, many columns Report on sales totals by region Fast accessing few columns, many rows

#2 Maximum Availability is Built In Data Guard / GoldenGate Pure In-Memory format does not change Oracle s storage format, logging, backup, recovery, etc. All Oracle s mature availability technologies work transparently Protection from all failures Node, site, corruption, error, etc. Real Application Clusters (RAC) Automatic Storage Management (ASM) Recovery Manager (RMAN)

#3 Database Size Isn t Limited by Memory Specify tables, partitions or columns inmemory, not whole databases Data is transparently accessed across storage tiers Engineered Systems automatic tiered storage Capacity of Disk IOs of Flash Speed of DRAM DRAM PCI FLASH Hottest Data Active Data DISK Cold Data

#5 No New Personnel Needed Use your existing Oracle teams application developers and DBAs HANA requires special training and skills 3 Easy Steps to Oracle In-Memory Specify memory capacity > inmemory_size = XXXX GB Configure tables or partitions to be in memory > alter table partition inmemory; Later drop analytic indexes to speed up OLTP Available wherever Oracle Database 12c runs

Agenda 1 2 3 4 5 In Memory Overview 5 Reasons To Consider In Memory Data Warehouse Use Case Lessons Learned Testing Methodology Oracle Confidential Internal

Early Adopters DW Use Case Provides Wi-Fi hotspots in over 45,000 locations across the United States Venues include hotels, airports, sports arenas, retail stores, fast food chains, etc. Oracle Confidential Highly Restricted 14

Original Configuration Enterprise Customer Reports Internal Customer Reports 27 million Wi-Fi Customers Connect to Hotspots via mobile devices OLTP 6TB Copy Data Hourly DW 20 TB Oracle 11gR2 4-node RAC 32 CPUs / node Oracle 11gR2 2-node RAC 8 CPUs / node

Business Concerns Enterprise customers access Wi-Fi reports daily through Business Objects Unable to meet enterprise customers expectations Missed performance SLAs of critical reports 15 minute timeout resulted in customers not being able to access some reports Hourly data load job impacted by increased number of indexes Need faster system to handle new business reporting requirements Poor performance resulted in: Delayed rollout of new reports and near real time reports Impact on customer satisfaction, with possible impact to revenue generation capabilities Oracle Confidential Highly Restricted 16

Proposed Solution 1 Enterprise Customer Reports Internal Customer Reports 27 million AT&T Wi-Fi Customers Connect to Hotspots via mobile devices OLTP 6TB Copy Data Hourly DW 20 TB Oracle 11gR2 4-node RAC Copy Data

Proposed Solution 2 Enterprise Customer Reports Internal Customer Reports 27 million AT&T Wi-Fi Customers Connect to Hotspots via mobile devices OLTP 6TB Copy Data Hourly DW 20 TB Oracle 11gR2 4-node RAC Oracle Database 12c With In-Memory option

Challenges with Proposed Solution 1 Requires new HW Relatively expensive S/W licenses Makes it very expensive to scale, limiting the number of reports they can offer There is very limited High Availability and no transparent failover options Need to hire highly specialized staff Another copy of data Extra level of effort in order to develop and manage these new processes. Cost Time to market Resource Requirements

Cost of Acquisition Step 1: Purchase HANA Licenses and HANA Appliances License cost depends on customer s ULA, but can exceed $1,000,000 All data must be in memory HANA cannot tier less active data to flash or disk Step 2: Hire/Train a New Team of DBAs and Developers HANA consultants @ $150,000 per year, if available Step 3: Migrate and Transform Databases into HANA Format Step 4: Rewrite Custom Apps Step 5: Introduce a New Operational Regimen This is in Addition to Your Current RDBMS Organization HANA S/W & H/W + Re-coding + Data Migration + New Team = $$$

Comparison with HANA High cost of acquisition New hardware & software costs Application redesign Redesign of aggregations Training: Application & DBA Teams Time to Market: 6 months 1 year Dedicated resources to maintain & manage: Min 6 One more copy of data Incremental license cost & memory upgrade (fraction of money) No application changes No changes to aggregations Minimal training to DBAs 2 months to production deployment No additional head count Business Value Licensing of SAP HANA alone was cost prohibitive compared to Oracle In-Memory

Final Configuration Enterprise Customer Reports Internal Customer Reports 27 million AT&T Wi-Fi Customers Connect to Hotspots via mobile devices OLTP 6TB Copy Data Hourly DW 20 TB Oracle 11gR2 4-node RAC Oracle Database 12c With In-Memory option 2-node RAC cluster 80 GB IN-MEMORY per node

Implementation Steps Database Upgrades Upgrade to 12.1.0.2 Add additional memory Enable In Memory option Populate Tables Populate in-memory with tables, partitions and materialized views Make some indexes invisible Oracle Enterprise Manager Upgrades Upgrade to OEM 12c Release 4 to access additional features for In Memory monitoring and management

Details on Database Configuration 40 tables populated into In-Memory All dimension tables Rolling-window of partitions from 2 large fact tables Scheduled job controls the automatic movement of partitions in & out of column store Data compressed using MEMCOMPRESS FOR QUERY Compression ratio 76X Data is predominately read-only

Benefits Production as of Oct 2014 No application changes required Over 100X improvement on SLA for Business Objects reports Reports that took 20 minutes now return in 10 seconds ETL processes improved by 50% due to reduction in IO Oracle Confidential Highly Restricted 25

Agenda 1 2 3 4 5 In Memory Overview 5 Reasons To Consider In Memory Data Warehouse Use Case Lessons Learned Testing Methodology Oracle Confidential Internal

Lessons Learned Hints NO_INDEX: Force optimizer to ignore indexes (Which you don t want hidden) VECTOR_TRANSFORM: Force In Memory aggregation using KEY VECTOR & VECTOR GROUP BY operations Parameters compatible = 12.1.0.2.0 inmemory_max_populate_servers = 4 inmemory_size = 85899345920 inmemory_trickle_repopulate_servers_percent = 1 optimizer_features_enable = 12.1.0.2 parallel_degree_limit = 8 parallel_degree_policy = AUTO parallel_force_local = TRUE sga_max_size = 111669149696 sga_target = 111669149696

Lessons Learned What happens when a query touches a table with some partitions in memory and some not? SELECT FROM s.product_id, SUM(s.cost), SUM(s.price) sales s WHERE product_id < 500 GROUP BY s.product_id; Only 1 partition of the sales table is in the In-Memory column store Table Expansion (Query Transformation Feature) The optimizer can transform a query into a UNION ALL statement, with some subqueries accessing indexed partitions and other subqueries accessing unindexed (In-Memory) partitions Useful when needing to place only specific partitions of large tables In- Memory

Lessons Learned Table Expansion The optimizer can transform a query into a UNION ALL statement, accessing partitions on disk via an index and partitions in-memory via a full scan ---------------------------------------------------------------------- Id Operation Name Pstart Pstop ---------------------------------------------------------------------- 0 SELECT STATEMENT 1 SORT AGGREGATE 2 VIEW VW_TE_2 3 UNION-ALL 4 PARTITION RANGE SINGLE 1 1 * 5 TABLE ACCESS INMEMORY FULL SALES 1 1 6 PARTITION RANGE SINGLE 2 2 * 7 INDEX RANGE SCAN IDX_SALES 2 2 ----------------------------------------------------------------------

5 Things To Analyze Before implementing HANA #1 Cost of Implementation #2 Complexity #3 Database Size #4 Compatibility #5 Scalability & Availability http://www.oracle.com/technetwork/database/in- memory/overview/benefits-of-dbim-for-sap-apps- 2672504.html https://www.oracle.com/corporate/features/oracle-powers-sap.html

Daniel Huls, Senior Technical Director for AT&T WiFi, said the company considered other in-memory columnar databases but decided to go with the Oracle Database In-Memory Option largely because the staff was already familiar with Oracle Database and the product required no changes to the applications or migration of the data. Huls said that this initial implementation was basically effortless Huls said that after implementing the In-Memory Option, query time dropped from an average of 400 seconds to 10 seconds. 31

Additional Resources Join the Conversation https://twitter.com/db_inmemory https://blogs.oracle.com/in-memory/ https://www.facebook.com/oracledatabase http://www.oracle.com/goto/dbim.html Comparison Between Database In-Memory & HANA BW-EML Benchmark Details for Database In-Memory Comparison of Database In-Memory with SAP HANA Related White Papers Oracle Database In-Memory White Paper Oracle Database In-Memory Aggregation Paper When to use Oracle Database In-Memory Oracle Database In-Memory Advisor Related Videos In-Memory YouTube Channel Database Industry Experts Discuss Oracle Database In-Memory (11:10) Software on Silicon Any Additional Questions Oracle Database In-Memory Blog My email: sreekanth.s.chintala@oracle.com 32

Program Agenda 1 2 3 4 5 In Memory Overview 5 Reasons To Consider Data Warehouse Use Case Lessons Learned Testing Methodology Oracle Confidential Internal

Testing Methodology Step 1: Create a Baseline Run the workload without the IM column store Set INMEMORY_SIZE = 0 Enable capture of SQL Plan Baselines OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES = true Capture the workload in a 12c environment This will be the baseline to judge how much improvement Database In- Memory offers Verify the performance against the existing system if it exists Do not continue until satisfied with the performance Database In-Memory cannot fix underlying performance issues Oracle Confidential Internal

Testing Methodology Step 2: Populate Tables In-Memory Allocate the IM column store Set the INMEMORY_SIZE parameter and recycle the database Populate identified tables into the IM column store Verify that all objects have been populated BYTES_NOT_POPULATED field of the v$im_segments view SQL> select segment_name, populate_status, inmemory_priority, inmemory_size, bytes_not_populated from v$im_segments; SEGMENT_NAME POPULATE_STATUS INMEM_PRIORITY INME_SIZE BYTES_NOT_POPULATED ------------ --------------- ------------- ------------ ------------------- ACCOUNTS STARTED HIGH 196606 2434886912 SALES COMPLETED CRITICAL 135790592 0 Oracle Confidential Internal

Testing Methodology Step 3: Run workload with In-Memory enabled Run the workload Optional: Identify any new, unaccepted baselines SELECT sql_handle, plan_name, enabled, accepted, parsing_schema_name schema,sql_text FROM dba_sql_plan_baselines ORDER BY 1,2; Plan changes should reflect the use of In-Memory Oracle Confidential Internal

Testing Methodology Step 4: Evolve SQL Plan Baselines Evolve SQL Plan Baselines This will allow the optimizer to use plans that perform better than the current baseline plans This is a key step! Prevents regressions and allows the use of the best plans Use the evolve task functions of the dbms_spm package CREATE_EVOLVE_TASK EXECUTE_EVOLVE_TASK REPORT_EVOLVE_TASK IMPLEMENT_EVOLVE_TASK Oracle Confidential Internal

Testing Methodology Step 5: Final workload execution Run the workload one more time Compare the elapsed times to the baseline performance These final results should provide the best performance Oracle Confidential Internal

Application Architecture A word about indexes Don't drop all the indexes, you may still need them Definitely keep primary key, foreign key and unique indexes, they enforce referential integrity Insure that there are corresponding constraint definitions You may also need other existing indexes for OLTP type access Target reporting indexes that won't be needed with In-Memory Start by making these indexes invisible After running the workload and verifying that the indexes are not needed, then drop Making indexes invisible is much easier than dropping them and having to re-create Oracle Confidential Internal

Performance History Make sure AWR is available AWR is valuable to measure system level workload during testing AWR is valuable to see how the database is setup Initialization parameters Memory allocation Resource utilization And don't forget the Advisors section Consider increasing the default AWR retention (7 days) Oracle Confidential Internal

Proper Preparation Database Parameters Start with the defaults! Specifically look to see if any of these are set (and unset them): OPTIMIZER_DYNAMIC_SAMPLING OPITIMIZER_INDEX_CACHING OPTIMIZER_INDEX_COST_ADJ OPTIMIZER_FEATURES_ENABLE Important In-Memory parameters: INMEMORY_SIZE Controls how large the IM Column store will be PARALLEL_DEGREE_POLICY Enable AutoDOP, required for RAC environments Oracle Confidential Internal

Proper Preparation Other In-Memory Database Parameters Important Optimizer parameters that will affect In-Memory performance: OPTIMIZER_USE_SQL_PLAN_BASELINES OPITIMIZER_CAPTURE_SQL_PLAN_BASELINES OPTIMIZER_INMEMORY_AWARE OPTIMIZER_ADAPTIVE_FEATURES OPTIMIZER_DYNAMIC_SAMPLING Oracle Confidential Internal

More Information White paper on SQL Plan Management http://www.oracle.com/technetwork/database/bi-datawarehousing/twp-sql-planmgmt-12c-1963237.pdf White paper on what to expect from the Optimizer http://www.oracle.com/technetwork/database/bi-datawarehousing/twp-optimizerwith-oracledb-12c-1963236.pdf Optimizer blog at http://blogs.oracle.com/optimizer/ Database In-Memory blog at http://blogs.oracle.com/in-memory/ Oracle Confidential Internal