• No results found

Safe Harbor Statement

N/A
N/A
Protected

Academic year: 2021

Share "Safe Harbor Statement"

Copied!
38
0
0

Loading.... (view fulltext now)

Full text

(1)
(2)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

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.

(3)

Database

In-Memory

Ashish Gandotra

(4)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Accelerate Mixed

Workload OLTP

Real Time

Analytics

No Changes to

Applications

Trivial to

Implement

Oracle Database In-Memory Goals

100x

2x

(5)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Breakthrough:

Dual Format Database

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

5

Memory

Memory

SALES

SALES

Row

Format

Column

Format

(6)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Why is an In-Memory scan faster than the buffer cache?

SELECT COL4 FROM MYTABLE;

6

X

X

X

X

X

RESULT

Row Format

Buffer Cache

(7)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Why is an In-Memory scan faster than the buffer cache?

SELECT COL4 FROM MYTABLE;

7

RESULT

Column Format

IM Column Store

RESULT

X

X

X

X

(8)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 8

Configuring the In-Memory Column Store

Populating the In-Memory Column Store

Querying the In-Memory Column Store

Managing the In-Memory Column Store on RAC

Monitoring the In-Memory Column Store

(9)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

System Global Area SGA

Buffer Cache

Shared Pool

Redo Buffer

Large Pool

Other shared

Memory

Components

In-Memory

Area

(10)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Configuring :

In-Memory Column Store

• Controlled by INMEMORY_SIZE

parameter

Minimum size of 100MB

• SGA_TARGET must be large

enough to accommodate

• Static Pool

SELECT * FROM V$SGA;

NAME

VALUE

--- ---

Fixed Size

2927176

Variable Size

570426808

Database Buffers

4634022912

Redo Buffers

13848576

In-Memory Area

1024483648

(11)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 11

Configuring the In-Memory Column Store

Populating the In-Memory Column Store

Querying the In-Memory Column Store

Managing the In-Memory Column Store on RAC

Monitoring the In-Memory Column Store

(12)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Populating

: In-Memory Column Store

Populate is the term used to bring data into the In-Memory column store

Populate is used instead of load because load is commonly used to mean

inserting new data into the database

Populate doesn’t bring new data into the database, it brings existing data into

memory and formats it in an optimized columnar format

Population is completed by a new set of background processes

ORA_W001_orcl

Number of processes controlled by INMEMORY_MAX_POPULATE_SERVERS

(13)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Populating

: In-Memory Column Store

New INMEMORY ATTRIBUTE

Following segment types are

eligible

Tables

Partitions

Subpartition

Materialized views

Following segment types not

eligible

IOTs

Hash clusters

Out of line LOBs

CREATE TABLE customers ……

PARTITION BY LIST

(PARTITION p1 ……

INMEMORY

,

(PARTITION p2 ……

NO INMEMORY

);

ALTER TABLE sales

INMEMORY

;

ALTER TABLE sales

NO INMEMORY

;

Pure OLTP

Features

(14)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Populating

: In-Memory Column Store

Different levels

FOR DML

Use on tables or partitions with

very active DML activity

FOR QUERY

Default mode for most tables

FOR CAPACITY

For less frequently accessed

segments

Easy to switch levels as part of

ILM strategy

CREATE TABLE ORDERS ……

PARTITION BY RANGE ……

(PARTITION p1 ……

INMEMORY NO

MEMCOMPRESS

PARTITION p2 ……

INMEMORY

MEMCOMPRESS FOR DML

,

PARTITION p3 ……

INMEMORY

MEMCOMPRESS FOR QUERY

,

:

PARTITION p200 ……

INMEMORY

MEMCOMPRESS FOR CAPACITY

(15)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Identifying :

Tables With INMEMORY Attribute

New INMEMORY column in

*_TABLES

dictionary tables

INMEMORY is a segment

attribute

SELECT table_name, inmemory

FROM USER_TABLES;

TABLE_NAME

INMEMORY

--- ---

CHANNELS

DISABLED

COSTS

CUSTOMERS

DISABLED

PRODUCTS

ENABLED

SALES

TIMES

DISABLED

USER_TABLES

doesn’t display

segment attributes for logical

objects

Both

COSTS & SALES

are

partitioned => logical objects

INMEMORY attribute also

(16)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Identifying :

Tables With INMEMORY Attribute

New view v$IM_SEGMENTS

Indicate:

Objects populated in memory

Current population status

Can also be used to determine

compression ratio achieved

SELECT segment_name name,

population_status status

FROM v$IM_SEGMENTS;

NAME

STATUS

--- ---

PRODUCTS

COMPLETED

SALES

STARTED

(17)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Compression Advisor And In-Memory

Easy way to determine

memory requirements

Use DBMS_COMPRESSION

Applies MEMCOMPRESS to

sample set of data from a table

Returns estimated

(18)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle In-Memory Advisor

New In-Memory Advisor

Analyzes existing DB workload

via AWR & ASH repositories

Provides list of objects that

would benefit most from being

populated into IM column

(19)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 24

Configuring the In-Memory Column Store

Populating the In-Memory Column Store

Querying the In-Memory Column Store

Managing the In-Memory Column Store on RAC

Monitoring the In-Memory Column Store

(20)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle In-Memory Column Store Storage Index

• Each column is the made up

of multiple column units

• Min / max value is recorded

for each column unit in a

storage index

• Storage index provides

partition pruning like

performance for

ALL

queries

25

Memory

SALES

Column

Format

Min 1

Max 3

Min 4

Max 7

Min 8

Max 12

Min 13

Max 15

(21)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Identifying :

INMEMORY Table Scan

• Optimizer fully aware

• Cost model adapted to consider

INMEMORY scan

• New access method

TABLE ACCESS IN MEMORY FULL

• Can be disabled via new

parameter

(22)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Joining and Combining Data Also Dramatically Faster

• Converts joins of data in

multiple tables into fast column

scans

• Joins tables

10x

faster

29

Example: Find all orders placed on Christmas eve

LINEORDER

DATE_DIM

Da

te

K

ey

A

m

ou

n

t

Datekey is

24122013

Type=

d.d_date='December 24, 2013'

Da

te

Sum

Da

te

K

ey

(23)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Identifying :

INMEMORY Joins

• Bloom filters enable joins to be

converted into fast column

scans

• Tried and true technology

originally released in 10g

• Same technique used to offload

joins on Exadata

(24)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 47

Configuring the In-Memory Column Store

Populating the In-Memory Column Store

Querying the In-Memory Column Store

Managing the In-Memory Column Store on RAC

Monitoring the In-Memory Column Store

(25)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Scale-Out In-Memory Database to Any Size

Scale-Out across servers to grow

memory and CPUs

In-Memory

queries parallelized

across

servers to access local column data

Scale-out policy is a segment level

(table, partition, sub partition) property

(26)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Scale-Out In-Memory Database to Any Size

• Policy is user-specifiable

• Controlled by DISTRIBUTE

subclause

Distribute by rowid range

Distribute by partition

Distribute AUTO

49

ALTER TABLE sales

INMEMORY

DISTRIBUTE BY PARTITION

;

ALTER TABLE COSTS

INMEMORY

DISTRIBUTE AUTO

;

(27)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

In-Memory Speed + Capacity of Low Cost Disk

DISK

PCI

FLASH

DRAM

Cold Data

Hottest Data

Active Data

• Size not limited by memory

• Data transparently accessed across

tiers

• Each tier has specialized algorithms

& compression

Speed

of DRAM

I/Os

of Flash

Cost

of Disk

(28)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

In-Memory & Partitioning For Seamless Scale Out

Oracle smart enough to access data across tiers in the most efficient way

(29)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database In-Memory: Unique Fault Tolerance

• Similar to storage mirroring

• Duplicate in-memory columns

on another node

• Enabled per table/partition

• Application transparent

• Downtime eliminated by

using duplicate after failure

52

(30)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 59

Configuring the In-Memory Column Store

Populating the In-Memory Column Store

Querying the In-Memory Column Store

Managing the In-Memory Column Store on RAC

Monitoring the In-Memory Column Store

(31)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

New In-Memory Central Screen in EM

In-Memory Area (GB) :4.00

In-Memory Area Used (GB) :1.79

Object map integrated with

12c heatmap feature

(32)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

(33)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

(34)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

(35)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Summary: Oracle Database In-Memory

Powering the Real-Time Enterprise

Extreme Performance: Analytics

& OLTP

Extreme Scale-Out & Scale-Up

Extreme Availability

Extreme Simplicity

73

AGILE

EFFICIENT

DATA-DRIVEN

(36)
(37)
(38)

References

Related documents

ALTER ANY PROCEDURE ALTER ANY TABLE ALTER DATABASE ALTER PROFILE ALTER SYSTEM ALTER USER AUDIT SYSTEM CREATE ANY JOB. CREATE ANY LIBRARY CREATE ANY PROCEDURE CREATE ANY TABLE

ALL [PRIVILEGES] Grant all privileges at specified access level except GRANT OPTION ALTER Allow to use of ALTER TABLE statement.. ALTER ROUTINE Allow user to alter or drop

Performing any column the schema sql server database creates a nested table partition values unless the space immediately by query the default owner of other attributes. Efficient for

The default database continuous integration should be well described in data definition for you alter schema mysql table changes are swapped with this, you can obtain their changes

You add column statement must drop it is an existing field, you create your table definition for such as a nullable, or table alter column not make null.. You can add only one column

Personalization of validation to alter table add null constraint oracle using create in the target table constraints represent primary key values of row security policies will be

+ Hadoop/NoSQL Exadata + Oracle Database Oracle Catalog External Table Hive metadata External Table Hive Metastore.|. Copyright © 2014 Oracle and/or

Returns an alter column clause, a string to do you should modify data files used for altering rights. Boolean expression pattern, table clause