SlideShare a Scribd company logo
In Memory
Databases in
SQL Server
and Oracle
May 4, 2016
Who Are We
Bert Scalzo
• Senior PM with IDERA
• Author (10 books), Speaker,
Oracle subject matter expert
Vicky Harp
• Strategist with IDERA
• Developer, Speaker, SQL
Server subject matter expert
Agenda
• Introductions
• What are In Memory Databases
• In Memory Databases in Oracle
• In Memory Databases in SQL Server
• Wrap-Up
In Memory Databases
• Databases or table structures which reside
entirely or primarily in main memory
• Able to make efficient use of the huge
RAM storage available on modern systems
• Able to utilize structures and algorithms
which would be inefficient on disk
• May or may not be fully ACID compliant
• May be 100s of times faster
In Memory for Oracle
In Memory for Oracle
• In Memory Column Store (IMCS)
• New Feature Oracle 12c 2nd release
– 12.1.0.2.0 – July 214
– not in 12.1.0.1.0 – 2013
• The IMCS is a new static pool in the SGA.
• Data in IMCS does not reside in traditional row format, instead, in a
columnar format.
• Each column is stored as a separate structure.
• IMCS does not replace the buffer cache, but it acts as a supplement so data
can be stored in memory in both row & columnar formats.
• To enable IMCS, INMEMORY_SIZE init parameter must = a non-zero value.
• The IMCS is included with the Oracle Enterprise Edition
• IMCS is an option (i.e. not free, costs $$$ like partitioning).
IMCS Pros & Cons
IMCS can apply to:
• Column
• Table
• Materialized View
• Tablespace
• Partition
IMCS is good for:
• A query that scans a large number of rows
and applies filters that use operators such
as: =, <, >, and IN
• A query that selects a small number of
columns from a table or materialized view
with a large number of columns, such as a
query that selects five columns from a table
with 100 columns (e.g. DW Dimension)
• A query that joins a small table to a large
table (e.g. DW Dimension)
• A query that aggregates data (e.g. DW fact)
IMCS Pros & Cons
Availability:
• 12c 12.1.0.2
• Enterprise Edition
• EE Option $$$
(see next slide)
IMCS is not good for:
• IM is NOT good for:
• Queries with complex predicates
• Queries that selects lots of columns
• Queries that return lots of rows
• Queries with multiple large table joins
• Objects owned by SYS and stored in
SYSTEM or SYSAUX tablespaces
Oracle Price Book
Oracle SGA
As Oracle Database populates
data in the IM column store and
converts this data to columnar
format, the columnar version of
the table gradually becomes
available.
If a query requires data that has
not yet been populated in the IM
column store, then the database
reads the requested data from
the buffer cache or disk while
background processes
asynchronously populate the
missing data in the IM column
store.
Oracle Parameter #1
Oracle Parameter #2
Oracle Parameter #3
Oracle Parameter #4
SGA Memory Considerations
15
Green star merely
indicates What I
chose for my tests
Compression Options
Loading Options
When a database is restarted, all of the data for database objects with a priority level other than NONE
is populated in the IM column store during startup.
Test Approach
The TPC Benchmark™ H (TPC-H) is a decision support
benchmark. It consists of a suite of business-oriented ad-
hoc queries and concurrent data modifications. The
queries and the data populating the database were
chosen to have broad industry-wide relevance, while
maintaining a sufficient degree of ease of implementation.
This benchmark illustrates decision support systems that
do the following:
– Examine large volumes of data;
– Execute queries with a high degree of complexity;
– Give answers to critical business questions.
http://www.tpc.org/tpc_documents_current_versions/pdf/tpch2.17.1.pdf
Example Queries
National Market Share Query (Q8) Volume Shipping Query (Q7)
Test Results
Test #
Feature
Debut
Configuration Parameters
Run Time
(Mins:Secs)
Compress
Factor
% Run
Time
Reduction
1
SGA_TARGET = 4G
*** Nothing Else–Baseline *** 45:52
2 11g
SGA_TARGET = 4G
DB_FLASH_CACHE_SIZE = 16G
DB_FLASH_CACHE_FILE = '/flash/flash01.dbf'
23:19 49%
3
SGA_TARGET = 20G
*** Nothing Else – All memory buffer cache *** 19:50 57%
4 12c
SGA_TARGET = 20G
DB_BIG_TABLE_CACHE_PERCENT_TARGET = 80
PARALLEL_DEGREE_POLICY=auto
ORA-600
5 12c
SGA_TARGET = 20G
INMEMORY_SIZE = 16G
INMEMORY (default)
PRIORITY CRITICAL (restart instance & wait for object to load)
05:01 3.63X 89%
6 12c
SGA_TARGET = 20G
INMEMORY_SIZE = 16G
INMEMORY MEMCOMPRESS FOR QUERY HIGH
PRIORITY CRITICAL (restart instance & wait for object to load)
04:56 4.68X 89%
Script #1
-- im_tabs.sql
set linesize 256
set pagesize 999
set verify off
col OBJECT format a30
SELECT owner||'.'||table_name OBJECT,
inmemory INMEMORY,
inmemory_priority PRIORITY,
inmemory_distribute DISTRIBUTE,
inmemory_compression COMPRESSION,
inmemory_duplicate DUPLICATE
FROM all_tables
where owner like upper('%&1%')
ORDER BY inmemory, owner||'.'||table_name;
SQL> @im_tabs BMF1
OBJECT INMEMORY PRIORITY DISTRIBUTE COMPRESSION DUPLICATE
------------------------------ -------- -------- --------------- ----------------- ------------
BMF1.H_CUSTOMER ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE
BMF1.H_LINEITEM ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE
BMF1.H_NATION ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE
BMF1.H_ORDER ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE
BMF1.H_PART ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE
BMF1.H_PARTSUPP ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE
BMF1.H_REGION ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE
BMF1.H_SUPPLIER ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE
First, we need to know which tables for our test
schema (BMF1) have been “in-memory” enabled
and with which options.
Script #2
-- im_segs.sql
set linesize 256
set pagesize 999
set verify off
col owner format a20
col segment_name format a30
select owner, segment_name, populate_status
from v$im_segments;
SQL> @im_segs
OWNER SEGMENT_NAME POP STATU
-------------------- ------------------------------ ---------
BMF1 H_LINEITEM STARTED
BMF1 H_SUPPLIER COMPLETED
BMF1 H_PARTSUPP COMPLETED
BMF1 H_ORDER COMPLETED
BMF1 H_PART COMPLETED
BMF1 H_CUSTOMER COMPLETED
Second, we need to know when our “in-memory”
enabled tables have been successfully loaded.
In my tests, I waited until all such enabled tables
were COMPLETED to more fully leverage the in-
memory feature.
Script #3
-- im_pct.sql
set linesize 256
set pagesize 999
set verify off
select segment_name,ROUND(SUM(BYTES)/1024/1024/1024,2) "ORIG GB",
ROUND(SUM(INMEMORY_SIZE)/1024/1024/1024,2) "IN-MEM GB",
ROUND(SUM(BYTES-BYTES_NOT_POPULATED)*100/SUM(BYTES),2) "% IN_MEM",
ROUND(SUM(BYTES-BYTES_NOT_POPULATED)/SUM(INMEMORY_SIZE),2) "COMP RATIO"
from V$IM_SEGMENTS
group by owner,segment_name
order by SUM(bytes) desc;
SQL> @im_pct -- Try #1 - INMEMORY (default)
SEGMENT_NAME ORIG GB IN-MEM GB % IN_MEM COMP RATIO
------------------------------ ---------- ---------- ---------- ----------
H_LINEITEM 8.42 2.32 100 3.63
H_ORDER 1.75 .89 100 1.97
H_PARTSUPP .6 .35 100 1.71
H_PART .29 .13 100 2.29
H_CUSTOMER .22 .19 100 1.19
H_SUPPLIER .01 .02 100 .91
SQL> @im_pct -- Try #2 - INMEMORY MEMCOMPRESS FOR QUERY HIGH
SEGMENT_NAME ORIG GB IN-MEM GB % IN_MEM COMP RATIO
------------------------------ ---------- ---------- ---------- ----------
H_LINEITEM 8.42 1.77 98.17 4.68
H_ORDER 1.75 .63 100 2.78
H_PARTSUPP .6 .32 100 1.86
H_PART .29 .09 100 3.16
H_CUSTOMER .22 .15 100 1.52
H_SUPPLIER .01 .01 100 1.31
wait
Third, we need to know how well our “in-
memory” enabled tables compressed to confirm
the Oracle statement that the in-memory feature
does not add much overhead (20%).
In Memory for SQL
Server
In Memory Databases in SQL
Server
• First appearance in SQL 2014 “Hekaton”
• Enterprise Edition feature
• Increased functionality in SQL 2016
• Called by Many Names
– In-Memory OLTP
– Memory Optimized Tables
– Hekaton (or just HK)
SQL Server In-Memory OLTP
• A distinct memory-optimized engine within
SQL Server
• Distinct storage and memory structures from
the rest of SQL Server
• Completely lock-less design eliminates
blocking
• ACID compliant with optional durability
• Interacts with traditional TSQL or new
natively-compiled stored procedures
SQL Server In-Memory
Concepts
• Memory Optimized Tables
• Durability Options
• T-SQL Interop
• Natively Compiled Stored Procedures
• Memory Optimized Table Types
Memory Optimized Tables
• Created on a MEMORY_OPTIMIZED_DATA
filegroup
• Completely distinct physical structure than
on-disk tables
• Tables are compiled to a DLL on creation
• Data and indexes fully resident in RAM
• Fully optimistic (lockless) concurrency
Memory Optimized Table
Structure
• Data is written to and read from hash
buckets in memory
• Table data is persisted to the transaction
log and periodically flushed to disk
• Indexes are maintained only in memory
and never persisted
Memory Optimized Table
Limitations
• Long list of miscellaneous unsupported
features and commands
– Computed columns, clustered indexes, sparse
columns, DDL triggers, full text indexing,
truncate, data compression, dbcc checkdb
• Refer to documentation
Durability Options
• SCHEMA_AND_DATA
– Changes are logged in transaction log
– Table structure and data are persisted on disk
– ACID compliant
• SCHEMA_ONLY
– Changes are not logged
– Table structure is persisted
– Data is not persisted
– Atomic, Consistent, and Isolated but not Durable
T-SQL Interop
• Access Memory-Optimized tables directly
using regular T-SQL
• Allows “cross-container” access
• Most (but not all) T-SQL language constructs
are supported
• Only certain isolation levels supported
– Snapshot (with caveats)
– Repeatable Read
– Serializable
Natively Compiled Stored
Procedures
• Stored procedures written in T-SQL and
compiled directly to DLLs
• Do not incur compilation overhead
• Much, much faster
• Many unsupported T-SQL features
– LIKE, CONTAINS, PIVOT, EXCEPT, common
table expressions, cursors, select into, temp
tables, etc
Memory Optimized Table Types
• May be used as a temporary table but
without making use of tempdb
• May be desirable for temporary objects
which can reside entirely in memory
Wrap Up
Wrap Up
• Oracle (key points)
– Point 1
– Point 2
– Point 3
• SQL Server Memory-Optimized Tables
– Distinct engine and structure with lockless design
– Optional table durability
– Optional native compiled stored procedures
Thank you!
• Bert Scalzo
– bert.scalzo@idera.com
• Vicky Harp
– vicky.harp@idera.com
• http://community.idera.com

More Related Content

What's hot

SQL Server Performance Tuning Baseline
SQL Server Performance Tuning BaselineSQL Server Performance Tuning Baseline
SQL Server Performance Tuning Baseline► Supreme Mandal ◄
 
2008 Collaborate IOUG Presentation
2008 Collaborate IOUG Presentation2008 Collaborate IOUG Presentation
2008 Collaborate IOUG PresentationBiju Thomas
 
DB2 10 & 11 for z/OS System Performance Monitoring and Optimisation
DB2 10 & 11 for z/OS System Performance Monitoring and OptimisationDB2 10 & 11 for z/OS System Performance Monitoring and Optimisation
DB2 10 & 11 for z/OS System Performance Monitoring and OptimisationJohn Campbell
 
Non-Relational Postgres
Non-Relational PostgresNon-Relational Postgres
Non-Relational PostgresEDB
 
Investigate SQL Server Memory Like Sherlock Holmes
Investigate SQL Server Memory Like Sherlock HolmesInvestigate SQL Server Memory Like Sherlock Holmes
Investigate SQL Server Memory Like Sherlock HolmesRichard Douglas
 
Oracle performance tuning_sfsf
Oracle performance tuning_sfsfOracle performance tuning_sfsf
Oracle performance tuning_sfsfMao Geng
 
Sql server performance tuning
Sql server performance tuningSql server performance tuning
Sql server performance tuningngupt28
 
Oracle 12c Multi Tenant
Oracle 12c Multi TenantOracle 12c Multi Tenant
Oracle 12c Multi TenantRed Stack Tech
 
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)Aurimas Mikalauskas
 
DB2 LUW Access Plan Stability
DB2 LUW Access Plan StabilityDB2 LUW Access Plan Stability
DB2 LUW Access Plan Stabilitydmcmichael
 
PostgreSQL 9.5 Features
PostgreSQL 9.5 FeaturesPostgreSQL 9.5 Features
PostgreSQL 9.5 FeaturesSaiful
 
Database Performance Tuning
Database Performance Tuning Database Performance Tuning
Database Performance Tuning Arno Huetter
 
Oracle database 12c new features
Oracle database 12c new featuresOracle database 12c new features
Oracle database 12c new featuresRemote DBA Services
 
My First 100 days with an Exadata (WP)
My First 100 days with an Exadata  (WP)My First 100 days with an Exadata  (WP)
My First 100 days with an Exadata (WP)Gustavo Rene Antunez
 
Dan Hotka's Top 10 Oracle 12c New Features
Dan Hotka's Top 10 Oracle 12c New FeaturesDan Hotka's Top 10 Oracle 12c New Features
Dan Hotka's Top 10 Oracle 12c New FeaturesEmbarcadero Technologies
 
Less04 database instance
Less04 database instanceLess04 database instance
Less04 database instanceAmit Bhalla
 
SQL Server Query Tuning Tips - Get it Right the First Time
SQL Server Query Tuning Tips - Get it Right the First TimeSQL Server Query Tuning Tips - Get it Right the First Time
SQL Server Query Tuning Tips - Get it Right the First TimeDean Richards
 

What's hot (19)

SQL Server Performance Tuning Baseline
SQL Server Performance Tuning BaselineSQL Server Performance Tuning Baseline
SQL Server Performance Tuning Baseline
 
2008 Collaborate IOUG Presentation
2008 Collaborate IOUG Presentation2008 Collaborate IOUG Presentation
2008 Collaborate IOUG Presentation
 
DB2 10 & 11 for z/OS System Performance Monitoring and Optimisation
DB2 10 & 11 for z/OS System Performance Monitoring and OptimisationDB2 10 & 11 for z/OS System Performance Monitoring and Optimisation
DB2 10 & 11 for z/OS System Performance Monitoring and Optimisation
 
Non-Relational Postgres
Non-Relational PostgresNon-Relational Postgres
Non-Relational Postgres
 
Less10 undo
Less10 undoLess10 undo
Less10 undo
 
Investigate SQL Server Memory Like Sherlock Holmes
Investigate SQL Server Memory Like Sherlock HolmesInvestigate SQL Server Memory Like Sherlock Holmes
Investigate SQL Server Memory Like Sherlock Holmes
 
Oracle performance tuning_sfsf
Oracle performance tuning_sfsfOracle performance tuning_sfsf
Oracle performance tuning_sfsf
 
Sql server performance tuning
Sql server performance tuningSql server performance tuning
Sql server performance tuning
 
Oracle 12c Multi Tenant
Oracle 12c Multi TenantOracle 12c Multi Tenant
Oracle 12c Multi Tenant
 
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
 
DB2 LUW Access Plan Stability
DB2 LUW Access Plan StabilityDB2 LUW Access Plan Stability
DB2 LUW Access Plan Stability
 
PostgreSQL 9.5 Features
PostgreSQL 9.5 FeaturesPostgreSQL 9.5 Features
PostgreSQL 9.5 Features
 
Database Performance Tuning
Database Performance Tuning Database Performance Tuning
Database Performance Tuning
 
Oracle database 12c new features
Oracle database 12c new featuresOracle database 12c new features
Oracle database 12c new features
 
My First 100 days with an Exadata (WP)
My First 100 days with an Exadata  (WP)My First 100 days with an Exadata  (WP)
My First 100 days with an Exadata (WP)
 
Oracle ASM Training
Oracle ASM TrainingOracle ASM Training
Oracle ASM Training
 
Dan Hotka's Top 10 Oracle 12c New Features
Dan Hotka's Top 10 Oracle 12c New FeaturesDan Hotka's Top 10 Oracle 12c New Features
Dan Hotka's Top 10 Oracle 12c New Features
 
Less04 database instance
Less04 database instanceLess04 database instance
Less04 database instance
 
SQL Server Query Tuning Tips - Get it Right the First Time
SQL Server Query Tuning Tips - Get it Right the First TimeSQL Server Query Tuning Tips - Get it Right the First Time
SQL Server Query Tuning Tips - Get it Right the First Time
 

Similar to Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server

Modernizing your database with SQL Server 2019
Modernizing your database with SQL Server 2019Modernizing your database with SQL Server 2019
Modernizing your database with SQL Server 2019Antonios Chatzipavlis
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAiougVizagChapter
 
SQL 2014 In-Memory OLTP
SQL 2014 In-Memory  OLTPSQL 2014 In-Memory  OLTP
SQL 2014 In-Memory OLTPAmber Keyse
 
SQL Server 2014 Mission Critical Performance - Level 300 Presentation
SQL Server 2014 Mission Critical Performance - Level 300 PresentationSQL Server 2014 Mission Critical Performance - Level 300 Presentation
SQL Server 2014 Mission Critical Performance - Level 300 PresentationDavid J Rosenthal
 
Novedades SQL Server 2014
Novedades SQL Server 2014Novedades SQL Server 2014
Novedades SQL Server 2014netmind
 
Oracle 12c New Features For Better Performance
Oracle 12c New Features For Better PerformanceOracle 12c New Features For Better Performance
Oracle 12c New Features For Better PerformanceZohar Elkayam
 
Database 12c is ready for you... Are you ready for 12c?
Database 12c is ready for you... Are you ready for 12c?Database 12c is ready for you... Are you ready for 12c?
Database 12c is ready for you... Are you ready for 12c?Performance Tuning Corporation
 
Dynamics ax performance tuning
Dynamics ax performance tuningDynamics ax performance tuning
Dynamics ax performance tuningOutsourceAX
 
Database Systems Design, Implementation, and Management
Database Systems Design, Implementation, and ManagementDatabase Systems Design, Implementation, and Management
Database Systems Design, Implementation, and ManagementOllieShoresna
 
Configuring Sage 500 for Performance
Configuring Sage 500 for PerformanceConfiguring Sage 500 for Performance
Configuring Sage 500 for PerformanceRKLeSolutions
 
Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...
Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...
Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...Maaz Anjum
 
Pre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctlyPre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctlyAntonios Chatzipavlis
 
ORACLE 12C-New-Features
ORACLE 12C-New-FeaturesORACLE 12C-New-Features
ORACLE 12C-New-FeaturesNavneet Upneja
 
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019Dave Stokes
 
Oracle database 12c intro
Oracle database 12c introOracle database 12c intro
Oracle database 12c intropasalapudi
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsZohar Elkayam
 

Similar to Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server (20)

Modernizing your database with SQL Server 2019
Modernizing your database with SQL Server 2019Modernizing your database with SQL Server 2019
Modernizing your database with SQL Server 2019
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_features
 
SQL 2014 In-Memory OLTP
SQL 2014 In-Memory  OLTPSQL 2014 In-Memory  OLTP
SQL 2014 In-Memory OLTP
 
SQL Server 2014 Mission Critical Performance - Level 300 Presentation
SQL Server 2014 Mission Critical Performance - Level 300 PresentationSQL Server 2014 Mission Critical Performance - Level 300 Presentation
SQL Server 2014 Mission Critical Performance - Level 300 Presentation
 
Fudcon talk.ppt
Fudcon talk.pptFudcon talk.ppt
Fudcon talk.ppt
 
Novedades SQL Server 2014
Novedades SQL Server 2014Novedades SQL Server 2014
Novedades SQL Server 2014
 
Oracle 12c New Features For Better Performance
Oracle 12c New Features For Better PerformanceOracle 12c New Features For Better Performance
Oracle 12c New Features For Better Performance
 
Database 12c is ready for you... Are you ready for 12c?
Database 12c is ready for you... Are you ready for 12c?Database 12c is ready for you... Are you ready for 12c?
Database 12c is ready for you... Are you ready for 12c?
 
Dynamics ax performance tuning
Dynamics ax performance tuningDynamics ax performance tuning
Dynamics ax performance tuning
 
Database Systems Design, Implementation, and Management
Database Systems Design, Implementation, and ManagementDatabase Systems Design, Implementation, and Management
Database Systems Design, Implementation, and Management
 
Configuring Sage 500 for Performance
Configuring Sage 500 for PerformanceConfiguring Sage 500 for Performance
Configuring Sage 500 for Performance
 
Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...
Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...
Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...
 
Pre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctlyPre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctly
 
ORACLE 12C-New-Features
ORACLE 12C-New-FeaturesORACLE 12C-New-Features
ORACLE 12C-New-Features
 
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
 
Oracle database 12c intro
Oracle database 12c introOracle database 12c intro
Oracle database 12c intro
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
 
Oracle DBA
Oracle DBAOracle DBA
Oracle DBA
 

More from IDERA Software

The role of the database administrator (DBA) in 2020: Changes, challenges, an...
The role of the database administrator (DBA) in 2020: Changes, challenges, an...The role of the database administrator (DBA) in 2020: Changes, challenges, an...
The role of the database administrator (DBA) in 2020: Changes, challenges, an...IDERA Software
 
Problems and solutions for migrating databases to the cloud
Problems and solutions for migrating databases to the cloudProblems and solutions for migrating databases to the cloud
Problems and solutions for migrating databases to the cloudIDERA Software
 
Public cloud uses and limitations
Public cloud uses and limitationsPublic cloud uses and limitations
Public cloud uses and limitationsIDERA Software
 
Optimize the performance, cost, and value of databases.pptx
Optimize the performance, cost, and value of databases.pptxOptimize the performance, cost, and value of databases.pptx
Optimize the performance, cost, and value of databases.pptxIDERA Software
 
Monitor cloud database with SQL Diagnostic Manager for SQL Server
Monitor cloud database with SQL Diagnostic Manager for SQL ServerMonitor cloud database with SQL Diagnostic Manager for SQL Server
Monitor cloud database with SQL Diagnostic Manager for SQL ServerIDERA Software
 
Database administrators (dbas) face increasing pressure to monitor databases
Database administrators (dbas) face increasing pressure to monitor databasesDatabase administrators (dbas) face increasing pressure to monitor databases
Database administrators (dbas) face increasing pressure to monitor databasesIDERA Software
 
Six tips for cutting sql server licensing costs
Six tips for cutting sql server licensing costsSix tips for cutting sql server licensing costs
Six tips for cutting sql server licensing costsIDERA Software
 
Idera live 2021: The Power of Abstraction by Steve Hoberman
Idera live 2021:  The Power of Abstraction by Steve HobermanIdera live 2021:  The Power of Abstraction by Steve Hoberman
Idera live 2021: The Power of Abstraction by Steve HobermanIDERA Software
 
Idera live 2021: Why Data Lakes are Critical for AI, ML, and IoT By Brian Flug
Idera live 2021:  Why Data Lakes are Critical for AI, ML, and IoT  By Brian FlugIdera live 2021:  Why Data Lakes are Critical for AI, ML, and IoT  By Brian Flug
Idera live 2021: Why Data Lakes are Critical for AI, ML, and IoT By Brian FlugIDERA Software
 
Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...
Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...
Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...IDERA Software
 
Idera live 2021: Managing Digital Transformation on a Budget by Bert Scalzo
Idera live 2021:  Managing Digital Transformation on a Budget by Bert ScalzoIdera live 2021:  Managing Digital Transformation on a Budget by Bert Scalzo
Idera live 2021: Managing Digital Transformation on a Budget by Bert ScalzoIDERA Software
 
Idera live 2021: Keynote Presentation The Future of Data is The Data Cloud b...
Idera live 2021:  Keynote Presentation The Future of Data is The Data Cloud b...Idera live 2021:  Keynote Presentation The Future of Data is The Data Cloud b...
Idera live 2021: Keynote Presentation The Future of Data is The Data Cloud b...IDERA Software
 
Idera live 2021: Managing Databases in the Cloud - the First Step, a Succes...
Idera live 2021:   Managing Databases in the Cloud - the First Step, a Succes...Idera live 2021:   Managing Databases in the Cloud - the First Step, a Succes...
Idera live 2021: Managing Databases in the Cloud - the First Step, a Succes...IDERA Software
 
Idera live 2021: Database Auditing - on-Premises and in the Cloud by Craig M...
Idera live 2021:  Database Auditing - on-Premises and in the Cloud by Craig M...Idera live 2021:  Database Auditing - on-Premises and in the Cloud by Craig M...
Idera live 2021: Database Auditing - on-Premises and in the Cloud by Craig M...IDERA Software
 
Idera live 2021: Performance Tuning Azure SQL Database by Monica Rathbun
Idera live 2021:  Performance Tuning Azure SQL Database by Monica RathbunIdera live 2021:  Performance Tuning Azure SQL Database by Monica Rathbun
Idera live 2021: Performance Tuning Azure SQL Database by Monica RathbunIDERA Software
 
Geek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERA
Geek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERAGeek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERA
Geek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERAIDERA Software
 
How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...
How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...
How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...IDERA Software
 
Benefits of Third Party Tools for MySQL | IDERA
Benefits of Third Party Tools for MySQL | IDERABenefits of Third Party Tools for MySQL | IDERA
Benefits of Third Party Tools for MySQL | IDERAIDERA Software
 
Achieve More with Less Resources | IDERA
Achieve More with Less Resources | IDERAAchieve More with Less Resources | IDERA
Achieve More with Less Resources | IDERAIDERA Software
 
Benefits of SQL Server 2017 and 2019 | IDERA
Benefits of SQL Server 2017 and 2019 | IDERABenefits of SQL Server 2017 and 2019 | IDERA
Benefits of SQL Server 2017 and 2019 | IDERAIDERA Software
 

More from IDERA Software (20)

The role of the database administrator (DBA) in 2020: Changes, challenges, an...
The role of the database administrator (DBA) in 2020: Changes, challenges, an...The role of the database administrator (DBA) in 2020: Changes, challenges, an...
The role of the database administrator (DBA) in 2020: Changes, challenges, an...
 
Problems and solutions for migrating databases to the cloud
Problems and solutions for migrating databases to the cloudProblems and solutions for migrating databases to the cloud
Problems and solutions for migrating databases to the cloud
 
Public cloud uses and limitations
Public cloud uses and limitationsPublic cloud uses and limitations
Public cloud uses and limitations
 
Optimize the performance, cost, and value of databases.pptx
Optimize the performance, cost, and value of databases.pptxOptimize the performance, cost, and value of databases.pptx
Optimize the performance, cost, and value of databases.pptx
 
Monitor cloud database with SQL Diagnostic Manager for SQL Server
Monitor cloud database with SQL Diagnostic Manager for SQL ServerMonitor cloud database with SQL Diagnostic Manager for SQL Server
Monitor cloud database with SQL Diagnostic Manager for SQL Server
 
Database administrators (dbas) face increasing pressure to monitor databases
Database administrators (dbas) face increasing pressure to monitor databasesDatabase administrators (dbas) face increasing pressure to monitor databases
Database administrators (dbas) face increasing pressure to monitor databases
 
Six tips for cutting sql server licensing costs
Six tips for cutting sql server licensing costsSix tips for cutting sql server licensing costs
Six tips for cutting sql server licensing costs
 
Idera live 2021: The Power of Abstraction by Steve Hoberman
Idera live 2021:  The Power of Abstraction by Steve HobermanIdera live 2021:  The Power of Abstraction by Steve Hoberman
Idera live 2021: The Power of Abstraction by Steve Hoberman
 
Idera live 2021: Why Data Lakes are Critical for AI, ML, and IoT By Brian Flug
Idera live 2021:  Why Data Lakes are Critical for AI, ML, and IoT  By Brian FlugIdera live 2021:  Why Data Lakes are Critical for AI, ML, and IoT  By Brian Flug
Idera live 2021: Why Data Lakes are Critical for AI, ML, and IoT By Brian Flug
 
Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...
Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...
Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...
 
Idera live 2021: Managing Digital Transformation on a Budget by Bert Scalzo
Idera live 2021:  Managing Digital Transformation on a Budget by Bert ScalzoIdera live 2021:  Managing Digital Transformation on a Budget by Bert Scalzo
Idera live 2021: Managing Digital Transformation on a Budget by Bert Scalzo
 
Idera live 2021: Keynote Presentation The Future of Data is The Data Cloud b...
Idera live 2021:  Keynote Presentation The Future of Data is The Data Cloud b...Idera live 2021:  Keynote Presentation The Future of Data is The Data Cloud b...
Idera live 2021: Keynote Presentation The Future of Data is The Data Cloud b...
 
Idera live 2021: Managing Databases in the Cloud - the First Step, a Succes...
Idera live 2021:   Managing Databases in the Cloud - the First Step, a Succes...Idera live 2021:   Managing Databases in the Cloud - the First Step, a Succes...
Idera live 2021: Managing Databases in the Cloud - the First Step, a Succes...
 
Idera live 2021: Database Auditing - on-Premises and in the Cloud by Craig M...
Idera live 2021:  Database Auditing - on-Premises and in the Cloud by Craig M...Idera live 2021:  Database Auditing - on-Premises and in the Cloud by Craig M...
Idera live 2021: Database Auditing - on-Premises and in the Cloud by Craig M...
 
Idera live 2021: Performance Tuning Azure SQL Database by Monica Rathbun
Idera live 2021:  Performance Tuning Azure SQL Database by Monica RathbunIdera live 2021:  Performance Tuning Azure SQL Database by Monica Rathbun
Idera live 2021: Performance Tuning Azure SQL Database by Monica Rathbun
 
Geek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERA
Geek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERAGeek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERA
Geek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERA
 
How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...
How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...
How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...
 
Benefits of Third Party Tools for MySQL | IDERA
Benefits of Third Party Tools for MySQL | IDERABenefits of Third Party Tools for MySQL | IDERA
Benefits of Third Party Tools for MySQL | IDERA
 
Achieve More with Less Resources | IDERA
Achieve More with Less Resources | IDERAAchieve More with Less Resources | IDERA
Achieve More with Less Resources | IDERA
 
Benefits of SQL Server 2017 and 2019 | IDERA
Benefits of SQL Server 2017 and 2019 | IDERABenefits of SQL Server 2017 and 2019 | IDERA
Benefits of SQL Server 2017 and 2019 | IDERA
 

Recently uploaded

Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...Product School
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Product School
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsPaul Groth
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupCatarinaPereira64715
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 

Recently uploaded (20)

Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 

Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server

  • 1. In Memory Databases in SQL Server and Oracle May 4, 2016
  • 2. Who Are We Bert Scalzo • Senior PM with IDERA • Author (10 books), Speaker, Oracle subject matter expert Vicky Harp • Strategist with IDERA • Developer, Speaker, SQL Server subject matter expert
  • 3. Agenda • Introductions • What are In Memory Databases • In Memory Databases in Oracle • In Memory Databases in SQL Server • Wrap-Up
  • 4. In Memory Databases • Databases or table structures which reside entirely or primarily in main memory • Able to make efficient use of the huge RAM storage available on modern systems • Able to utilize structures and algorithms which would be inefficient on disk • May or may not be fully ACID compliant • May be 100s of times faster
  • 5. In Memory for Oracle
  • 6. In Memory for Oracle • In Memory Column Store (IMCS) • New Feature Oracle 12c 2nd release – 12.1.0.2.0 – July 214 – not in 12.1.0.1.0 – 2013 • The IMCS is a new static pool in the SGA. • Data in IMCS does not reside in traditional row format, instead, in a columnar format. • Each column is stored as a separate structure. • IMCS does not replace the buffer cache, but it acts as a supplement so data can be stored in memory in both row & columnar formats. • To enable IMCS, INMEMORY_SIZE init parameter must = a non-zero value. • The IMCS is included with the Oracle Enterprise Edition • IMCS is an option (i.e. not free, costs $$$ like partitioning).
  • 7. IMCS Pros & Cons IMCS can apply to: • Column • Table • Materialized View • Tablespace • Partition IMCS is good for: • A query that scans a large number of rows and applies filters that use operators such as: =, <, >, and IN • A query that selects a small number of columns from a table or materialized view with a large number of columns, such as a query that selects five columns from a table with 100 columns (e.g. DW Dimension) • A query that joins a small table to a large table (e.g. DW Dimension) • A query that aggregates data (e.g. DW fact)
  • 8. IMCS Pros & Cons Availability: • 12c 12.1.0.2 • Enterprise Edition • EE Option $$$ (see next slide) IMCS is not good for: • IM is NOT good for: • Queries with complex predicates • Queries that selects lots of columns • Queries that return lots of rows • Queries with multiple large table joins • Objects owned by SYS and stored in SYSTEM or SYSAUX tablespaces
  • 10. Oracle SGA As Oracle Database populates data in the IM column store and converts this data to columnar format, the columnar version of the table gradually becomes available. If a query requires data that has not yet been populated in the IM column store, then the database reads the requested data from the buffer cache or disk while background processes asynchronously populate the missing data in the IM column store.
  • 15. SGA Memory Considerations 15 Green star merely indicates What I chose for my tests
  • 17. Loading Options When a database is restarted, all of the data for database objects with a priority level other than NONE is populated in the IM column store during startup.
  • 18. Test Approach The TPC Benchmark™ H (TPC-H) is a decision support benchmark. It consists of a suite of business-oriented ad- hoc queries and concurrent data modifications. The queries and the data populating the database were chosen to have broad industry-wide relevance, while maintaining a sufficient degree of ease of implementation. This benchmark illustrates decision support systems that do the following: – Examine large volumes of data; – Execute queries with a high degree of complexity; – Give answers to critical business questions. http://www.tpc.org/tpc_documents_current_versions/pdf/tpch2.17.1.pdf
  • 19. Example Queries National Market Share Query (Q8) Volume Shipping Query (Q7)
  • 20. Test Results Test # Feature Debut Configuration Parameters Run Time (Mins:Secs) Compress Factor % Run Time Reduction 1 SGA_TARGET = 4G *** Nothing Else–Baseline *** 45:52 2 11g SGA_TARGET = 4G DB_FLASH_CACHE_SIZE = 16G DB_FLASH_CACHE_FILE = '/flash/flash01.dbf' 23:19 49% 3 SGA_TARGET = 20G *** Nothing Else – All memory buffer cache *** 19:50 57% 4 12c SGA_TARGET = 20G DB_BIG_TABLE_CACHE_PERCENT_TARGET = 80 PARALLEL_DEGREE_POLICY=auto ORA-600 5 12c SGA_TARGET = 20G INMEMORY_SIZE = 16G INMEMORY (default) PRIORITY CRITICAL (restart instance & wait for object to load) 05:01 3.63X 89% 6 12c SGA_TARGET = 20G INMEMORY_SIZE = 16G INMEMORY MEMCOMPRESS FOR QUERY HIGH PRIORITY CRITICAL (restart instance & wait for object to load) 04:56 4.68X 89%
  • 21. Script #1 -- im_tabs.sql set linesize 256 set pagesize 999 set verify off col OBJECT format a30 SELECT owner||'.'||table_name OBJECT, inmemory INMEMORY, inmemory_priority PRIORITY, inmemory_distribute DISTRIBUTE, inmemory_compression COMPRESSION, inmemory_duplicate DUPLICATE FROM all_tables where owner like upper('%&1%') ORDER BY inmemory, owner||'.'||table_name; SQL> @im_tabs BMF1 OBJECT INMEMORY PRIORITY DISTRIBUTE COMPRESSION DUPLICATE ------------------------------ -------- -------- --------------- ----------------- ------------ BMF1.H_CUSTOMER ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE BMF1.H_LINEITEM ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE BMF1.H_NATION ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE BMF1.H_ORDER ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE BMF1.H_PART ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE BMF1.H_PARTSUPP ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE BMF1.H_REGION ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE BMF1.H_SUPPLIER ENABLED CRITICAL AUTO FOR QUERY LOW NO DUPLICATE First, we need to know which tables for our test schema (BMF1) have been “in-memory” enabled and with which options.
  • 22. Script #2 -- im_segs.sql set linesize 256 set pagesize 999 set verify off col owner format a20 col segment_name format a30 select owner, segment_name, populate_status from v$im_segments; SQL> @im_segs OWNER SEGMENT_NAME POP STATU -------------------- ------------------------------ --------- BMF1 H_LINEITEM STARTED BMF1 H_SUPPLIER COMPLETED BMF1 H_PARTSUPP COMPLETED BMF1 H_ORDER COMPLETED BMF1 H_PART COMPLETED BMF1 H_CUSTOMER COMPLETED Second, we need to know when our “in-memory” enabled tables have been successfully loaded. In my tests, I waited until all such enabled tables were COMPLETED to more fully leverage the in- memory feature.
  • 23. Script #3 -- im_pct.sql set linesize 256 set pagesize 999 set verify off select segment_name,ROUND(SUM(BYTES)/1024/1024/1024,2) "ORIG GB", ROUND(SUM(INMEMORY_SIZE)/1024/1024/1024,2) "IN-MEM GB", ROUND(SUM(BYTES-BYTES_NOT_POPULATED)*100/SUM(BYTES),2) "% IN_MEM", ROUND(SUM(BYTES-BYTES_NOT_POPULATED)/SUM(INMEMORY_SIZE),2) "COMP RATIO" from V$IM_SEGMENTS group by owner,segment_name order by SUM(bytes) desc; SQL> @im_pct -- Try #1 - INMEMORY (default) SEGMENT_NAME ORIG GB IN-MEM GB % IN_MEM COMP RATIO ------------------------------ ---------- ---------- ---------- ---------- H_LINEITEM 8.42 2.32 100 3.63 H_ORDER 1.75 .89 100 1.97 H_PARTSUPP .6 .35 100 1.71 H_PART .29 .13 100 2.29 H_CUSTOMER .22 .19 100 1.19 H_SUPPLIER .01 .02 100 .91 SQL> @im_pct -- Try #2 - INMEMORY MEMCOMPRESS FOR QUERY HIGH SEGMENT_NAME ORIG GB IN-MEM GB % IN_MEM COMP RATIO ------------------------------ ---------- ---------- ---------- ---------- H_LINEITEM 8.42 1.77 98.17 4.68 H_ORDER 1.75 .63 100 2.78 H_PARTSUPP .6 .32 100 1.86 H_PART .29 .09 100 3.16 H_CUSTOMER .22 .15 100 1.52 H_SUPPLIER .01 .01 100 1.31 wait Third, we need to know how well our “in- memory” enabled tables compressed to confirm the Oracle statement that the in-memory feature does not add much overhead (20%).
  • 24. In Memory for SQL Server
  • 25. In Memory Databases in SQL Server • First appearance in SQL 2014 “Hekaton” • Enterprise Edition feature • Increased functionality in SQL 2016 • Called by Many Names – In-Memory OLTP – Memory Optimized Tables – Hekaton (or just HK)
  • 26. SQL Server In-Memory OLTP • A distinct memory-optimized engine within SQL Server • Distinct storage and memory structures from the rest of SQL Server • Completely lock-less design eliminates blocking • ACID compliant with optional durability • Interacts with traditional TSQL or new natively-compiled stored procedures
  • 27. SQL Server In-Memory Concepts • Memory Optimized Tables • Durability Options • T-SQL Interop • Natively Compiled Stored Procedures • Memory Optimized Table Types
  • 28. Memory Optimized Tables • Created on a MEMORY_OPTIMIZED_DATA filegroup • Completely distinct physical structure than on-disk tables • Tables are compiled to a DLL on creation • Data and indexes fully resident in RAM • Fully optimistic (lockless) concurrency
  • 29. Memory Optimized Table Structure • Data is written to and read from hash buckets in memory • Table data is persisted to the transaction log and periodically flushed to disk • Indexes are maintained only in memory and never persisted
  • 30. Memory Optimized Table Limitations • Long list of miscellaneous unsupported features and commands – Computed columns, clustered indexes, sparse columns, DDL triggers, full text indexing, truncate, data compression, dbcc checkdb • Refer to documentation
  • 31. Durability Options • SCHEMA_AND_DATA – Changes are logged in transaction log – Table structure and data are persisted on disk – ACID compliant • SCHEMA_ONLY – Changes are not logged – Table structure is persisted – Data is not persisted – Atomic, Consistent, and Isolated but not Durable
  • 32. T-SQL Interop • Access Memory-Optimized tables directly using regular T-SQL • Allows “cross-container” access • Most (but not all) T-SQL language constructs are supported • Only certain isolation levels supported – Snapshot (with caveats) – Repeatable Read – Serializable
  • 33. Natively Compiled Stored Procedures • Stored procedures written in T-SQL and compiled directly to DLLs • Do not incur compilation overhead • Much, much faster • Many unsupported T-SQL features – LIKE, CONTAINS, PIVOT, EXCEPT, common table expressions, cursors, select into, temp tables, etc
  • 34. Memory Optimized Table Types • May be used as a temporary table but without making use of tempdb • May be desirable for temporary objects which can reside entirely in memory
  • 36. Wrap Up • Oracle (key points) – Point 1 – Point 2 – Point 3 • SQL Server Memory-Optimized Tables – Distinct engine and structure with lockless design – Optional table durability – Optional native compiled stored procedures
  • 37. Thank you! • Bert Scalzo – bert.scalzo@idera.com • Vicky Harp – vicky.harp@idera.com • http://community.idera.com

Editor's Notes

  1. Welcome can be done by Bert or Vicky. Recommend Bert to move smoothly to next slide.
  2. Bert to introduce himself Vicky to introduce herself
  3. Bert or Vicky to go over agenda. Recommend Vicky as continuation of previous slide.
  4. Bert AND Vicky go over this slide, extemporaneously Recommendation: Vicky to read bullet points, add a little color, converse (like 1 line) with Bert on each. Sample script: Vicky: “Databases which reside in main memory” continues to “That is to say, rather than having all your data on disk and then read into memory as it’s being accessed, in-memory objects reside primarily in memory and if they’re written to disk at all it’s only for the purposes of durability through a server reboot.” Bert: “Yeah, that’s a complete inversion of the way the enterprise RDBMS systems have traditionally worked. <etc>” Vicky: “These in-memory databases are able to make more efficient use of the huge RAM storage…” continuing to “Until recently the limitations of RAM on even large servers made this sort of feature impractical because any database which could fit entirely in memory was also small enough that the overhead of disk activities just wasn’t very meaningful. But now that we have really huge servers that’s changing.” Bert: (whatever) (and so forth) Let’s be sure to review what ACID stands for at the appropriate moment (ending with Bert transitioning to his slides)
  5. This may need to be 2 slides, one for each platform