HOUG Konferencia 2015. Oracle TimesTen In-Memory Database and TimesTen Application-Tier Database Cache. A few facts in 10 minutes



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

An Oracle Technical White Paper July Using Oracle In-Memory Database Cache to Accelerate the Oracle Database

Oracle TimesTen and In-Memory Database Cache 11g

Oracle TimesTen IMDB - An Introduction

The First Example of TimesTen with Oracle on Windows

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

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

Bryan Tuft Sr. Sales Consultant Global Embedded Business Unit

1 Changes in this release

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

Oracle TimesTen In-Memory Database Introduction Release 7.0 B

Oracle TimesTen: An In-Memory Database for Enterprise Applications

TimesTen Auditing Using ttaudit.java

Using TimesTen between your Application and Oracle. between your Application and Oracle. DOAG Conference 2011

Oracle TimesTen In-Memory Database

Real-time Data Replication

RTI Database Integration Service. Getting Started Guide

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

Oracle TimesTen In-Memory Database on Oracle Exalogic Elastic Cloud

Oracle TimesTen In-Memory Database

Big Data Functionality for Oracle 11 / 12 Using High Density Computing and Memory Centric DataBase (MCDB) Frequently Asked Questions

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

Oracle Enterprise Manager

<Insert Picture Here> Performance, performance, performance!!!

Oracle TimesTen In-Memory Database

soliddb Fundamentals & Features Copyright 2013 UNICOM Global. All rights reserved.

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

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

Oracle TimesTen In-Memory Database Architectural Overview Release 6.0 B

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

TimesTen In-Memory OLTP (Transactional) Load Testing

Oracle s In-Memory Database Strategy for OLTP and Analytics

Virtuoso Replication and Synchronization Services

Oracle TimesTen In-Memory Database

Using Oracle TimesTen to Deploy Low Latency VOIP Applications in Remote Sites

Architectural patterns for building real time applications with Apache HBase. Andrew Purtell Committer and PMC, Apache HBase

Well packaged sets of preinstalled, integrated, and optimized software on select hardware in the form of engineered systems and appliances

Postgres Plus xdb Replication Server with Multi-Master User s Guide

How to Implement Multi-way Active/Active Replication SIMPLY

Best Practices for Optimizing SQL Server Database Performance with the LSI WarpDrive Acceleration Card

Eloquence Training What s new in Eloquence B.08.00

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

Module 14: Scalability and High Availability

Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging

Evaluation of in-memory database TimesTen

Data Distribution with SQL Server Replication

Memory-Centric Database Acceleration

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

2 Software requirements and installation

Maximum Availability Architecture

Empress Embedded Database. for. Medical Systems

ODBC Client Driver Help Kepware, Inc.

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.

DBA Tutorial Kai Voigt Senior MySQL Instructor Sun Microsystems Santa Clara, April 12, 2010

Table Of Contents. 1. GridGain In-Memory Database

F1: A Distributed SQL Database That Scales. Presentation by: Alex Degtiar (adegtiar@cmu.edu) /21/2013

Virtuoso and Database Scalability

Availability Digest. Raima s High-Availability Embedded Database December 2011

SQL Server 2014 In-Memory Tables (Extreme Transaction Processing)

How To Store Data On An Ocora Nosql Database On A Flash Memory Device On A Microsoft Flash Memory 2 (Iomemory)

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

1. INTRODUCTION TO RDBMS

SQL Server An Overview

Active/Active DB2 Clusters for HA and Scalability

Oracle TimesTen In-Memory Database

Oracle Database Creation for Perceptive Process Design & Enterprise

Dependency Free Distributed Database Caching for Web Applications and Web Services

Database Performance with In-Memory Solutions

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications

ORACLE DATABASE 10G ENTERPRISE EDITION

Disaster Recovery for Oracle Database

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

SQL Remote. Version January Copyright 2012, ianywhere Solutions, Inc. - SQL Anywhere

Benchmarking Data Replication Performance for The Defense Integrated Military Human Resources System

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

Raima Database Manager Version 14.0 In-memory Database Engine

Database Server Configuration Best Practices for Aras Innovator 10

Configuring Apache Derby for Performance and Durability Olav Sandstå

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

A Comparison of Oracle Berkeley DB and Relational Database Management Systems. An Oracle Technical White Paper November 2006

EMC Backup and Recovery for Oracle Database 11g Without Hot Backup Mode using DNFS and Automatic Storage Management on Fibre Channel

An Oracle White Paper June Oracle Database Firewall 5.0 Sizing Best Practices

Trafodion Operational SQL-on-Hadoop

Oracle Architecture. Overview

EMC Business Continuity for Microsoft SQL Server Enabled by SQL DB Mirroring Celerra Unified Storage Platforms Using iscsi

Fact Sheet In-Memory Analysis

RTI Real-Time Connect. Release Notes

Phire Architect Hardware and Software Requirements

Tier Architectures. Kathleen Durant CS 3200

Rdb Directions & Strategies

Big Data Analytics - Accelerated. stream-horizon.com

Transcription:

HOUG Konferencia 2015 Oracle TimesTen In-Memory Database and TimesTen Application-Tier Database Cache A few facts in 10 minutes Tamas.Kerepes@webvalto.hu

What is TimesTen An in-memory relational database management system originally designed at HP Spun out as an independent software company in 1996 Acquired by Oracle in 2005 Uses SQL and PL/SQL: a great deal of transparency It may be used independently from an Oracle database or as a cache layer that speeds up Oracle databases Mostly used for improving the performance of OLTP systems Different from Oracle Database In-Memory!!! Developer GUI: SQL*Developer support TimesTen Instead of SQL*Plus: ttisql line mode utility

Client/ server Client/server application TimesTen client library Oracle TimesTen: an in-memory database product In-memory RDBMS Direct-linked application TimesTen Data Manager library JDBC / ODBC / OCI / PLSQL Memory-resident database Fast data access Checkpoint files Transaction log files Entire database in memory Standard SQL with JDBC, ODBC, OCI, Pro*C PL/SQL Compatible with Oracle DB Persistent and durable Transactions with ACID Extreme performance Fast response time Very high throughput Embeddable

Client/server application TimesTen Client library Client/ server TimesTen Application-Tier Database Cache: an Oracle Database Option Direct-linked application TimesTen Data Manager library JDBC / ODBC / OCI / PLSQL Checkpoint files Transaction log files Using Oracle TimesTen as a relational cache layer Caches Oracle database tables in the application tier Lower response time and increase throughput for Oracle Database applications Application tier Database tier Read-only and updatable Automatic data synchronization with the Oracle database

Microseconds Extremely Fast Response Time Average Response Time TimesTen In-Memory Database 16 14 12 10 8 6 4 2 0 4 millionths of a second Read a Record 14 millionths of a second Update Transaction TimesTen In-Memory Database 11g, Intel Xeon 3.0 GHz, 64-bit Oracle Enterprise Linux

Cache Group Definition A cache group defines the Oracle tables and their subset of rows and columns to cache in a TimesTen database. A cache group can contain one or more tables. A cache group can have only one root table. In a multiple table cache group, a child cache table must reference another cache table with a primary key or foreign key constraint. regions employees countries locations

Read-Only Cache Group Cache tables cannot be updated directly by applications. Committed updates on the Oracle tables are automatically refreshed to the corresponding cache tables. Application TimesTen Read-only Pass-through SQL statements* Autorefresh * Depending on the pass-through level

Create a Local Explicitly Loaded Read-Only Cache Group A local cache group does not share data in its cache tables across TimesTen databases even if the databases are members of the same cache grid. An explicitly loaded cache group can load data into its cache tables from Oracle in the following ways: Manually by using a load or refresh operation Automatically by using an automatic refresh operation CREATE READONLY CACHE GROUP legacy_customers FROM hr.customer (cust_num NUMBER(6) NOT NULL PRIMARY KEY, region VARCHAR2(10), name VARCHAR2(50), address VARCHAR2(100)) WHERE (hr.customer.cust_num < 100)

Read-Only Cache Group Automatic Refresh Interval Specifies the frequency in which committed updates on Oracle tables are automatically refreshed to the corresponding TimesTen cache tables Units in minutes, seconds, or milliseconds (default: 5 minutes) Use the SQL ALTER CACHE GROUP statement to modify the automatic refresh interval for an existing read-only cache group. CREATE READONLY CACHE GROUP legacy_customers AUTOREFRESH INTERVAL 90 SECONDS FROM hr.customer (cust_num NUMBER(6) NOT NULL PRIMARY KEY, region VARCHAR2(10), name VARCHAR2(50), address VARCHAR2(100)) WHERE (hr.customer.cust_num < 100) ALTER CACHE GROUP legacy_customers SET AUTOREFRESH INTERVAL 10 MINUTES

Pass-Through of Statements from TimesTen to Oracle Passing a statement through to the Oracle database for execution is transparent to a TimesTen application. In a read-only cache group: Read operations are performed in TimesTen Update operations are passed through to Oracle and automatically refreshed to TimesTen Application TimesTen Pass-through logic Cache group Statements that can be handled in TimesTen Updates are passed through to Oracle for execution.

Configure Statement Pass-Through Use one of the following mechanisms to set the statement pass-through level: PassThrough DSN attribute ttoptsetflag built-in procedure [cachealone1] DataStore=/users/OracleCache/alone1 OracleNetServiceName=orcl DatabaseCharacterSet=WE8ISO8859P1 PassThrough=2 % ttisql "DSN=cachealone1;UID=cacheuser;OraclePWD=oracle"... Command> autocommit 0; Command> UPDATE hr.customer SET > name = 'John Smith' WHERE cust_num = 50;

Create a Local Dynamic Read-Only Cache Group A dynamic cache group can load data into its cache tables from Oracle: On demand by using a dynamic load operation Manually by using a load operation Least-recently used (LRU) aging is defined by default. CREATE DYNAMIC READONLY CACHE GROUP active_customers FROM hr.customer (cust_num NUMBER(6) NOT NULL, region VARCHAR2(10), name VARCHAR2(50), address VARCHAR2(100), PRIMARY KEY(cust_num)))

Asynchronous Write-Through Cache Group Committed updates on cache tables are first committed in the TimesTen database. Updates are then propagated to the Oracle database. New transactions can be issued on the cache tables without waiting for the Oracle transaction to complete. Automatically propagate updates Application TimesTen AWT Manual load

PROPAGATE and READONLY Cache Table Attributes CREATE USERMANAGED CACHE GROUP western_customers FROM hr.active_customer (custid NUMBER(6) NOT NULL, name VARCHAR2(50), addr VARCHAR2(100), zip VARCHAR2(12), PRIMARY KEY(custid), PROPAGATE), hr.ordertab (orderid NUMBER(10) NOT NULL, custid NUMBER(6) NOT NULL, PRIMARY KEY(orderid), FOREIGN KEY(custid) REFERENCES hr.active_customer(custid), PROPAGATE), hr.cust_interests (custid NUMBER(6) NOT NULL, interest VARCHAR2(10) NOT NULL, PRIMARY KEY(custid, interest), FOREIGN KEY(custid) REFERENCES hr.active_customer(custid), READONLY), hr.orderdetails (orderid NUMBER(10) NOT NULL, itemid NUMBER(8) NOT NULL, quantity NUMBER(4) NOT NULL, PRIMARY KEY(orderid, itemid), FOREIGN KEY(orderid) REFERENCES hr.ordertab(orderid))

TimesTen to TimesTen Replication Real-time transactional replication High performance Asynchronous or synchronous transmit Robust and reliable performance Transparent to the application (no application code changes) Benefits: High availability Online upgrades and maintenance Application Application Application TimesTen TimesTen TimesTen Libraries Libraries Libraries In-Memory Database Network Application Application Application TimesTen TimesTen TimesTen Libraries Libraries Libraries In-Memory Database TimesTen to TimesTen Replication

Active-Standby Pair Applications update active database. Applications can read from active, standby, or subscriber databases. Standby database: Receives replicated updates from active database Propagates replicated updates to read-only subscriber databases If standby fails, active can be configured to replicate to subscribers directly. If active fails, standby can be configured to be the active database.

TimesTen Replication Architecture Application program Application program TimesTen TimesTen In-Memory Database Replication agent TCP/IP Network Replication agent In-Memory Database Checkpoint files Transaction log files Active database Transaction log files Checkpoint files Standby database

Asynchronous Replication Committed replicated transactions are transmitted asynchronously from the active database to the standby database and then to the read-only subscriber databases. Very fast response time; ideal for high-transaction rate and low-latency applications Default replication mode Active is always ahead of the standby and subscribers. Replicated updates are durably committed on the active before being transmitted to the standby.

Synchronous Replication Committed replicated transactions are transmitted from the active database to the standby database before control is returned to the application. Lower transaction throughput and longer latency than asynchronous replication. No loss of replicated transactions at the cost of performance Synchronous replication through return two-safe service can be enabled or disabled by the application at the transaction level.

End of 10 minutes, let s summarize TimesTen and Oracle In Memory Database Cache should be distinguished from Oracle Database In-Memory! TimesTen is for speeding up OLTP systems It can be used independantly There is TimesTen to TimesTen replication for HA It can be used as a cache layer for relational tables on top of an Oracle database. The name: Oracle IMDB Cache Replication and caching can be combined Thanks for your attention Any comments or questions?