Pages

Monday, 23 June 2014

Oracle Database 12c In-Memory for Real Time Enterprise Reporting


It is very common to use mixed workload databases to run reports and ad hoc queries in addition to OLTP transactions. There are number of customers using XML Publisher /Crystal reports etc to run fixed reports and ad hoc queries against OLTP database, some of them are run as concurrent processes. This is to support online reporting needs which are not fulfilled by typical Enterprise DW solutions because of latency introduced by heavy ETL processes.

The first oblivious choice to improve performance of ad hoc/report queries is to create dozens of indexes on OLTP tables which would add transaction overheads. It adds time consuming tuning and administration over head for identifying and creating analytical indexes. In short adding analytical indexes to support ad hoc analysis would affect online transaction processing and also requires additional index storages.  

ODS is another option by which a data copy is been taken from OLTP systems into analytic systems using complex replication/ETL processes, most of replication process are expensive and adds latency too. Frequent execution of Micro ETL /replication processes to get near to real time reports might affect online transaction processing performance during working hours.

Oracle recently announced Oracle 12C in memory database option to address these pain points. There are number of questions.

Is option provided by Oracle 12c in- memory database would provide ability to easily performing real-time data analysis together with real-time transaction processing on all existing applications? Is it an enabler to transform organization into Real-Time Enterprises which quickly make data-driven decisions, respond instantly to customer demands, and continuously optimize all key processes?

This blog is an attempt to list features of the Oracle 12C in – memory database and share it with wider audience.

Dual Format Architecture
Column format is optimal for analytics while row format is optimal for OLTP. Oracle Database In-Memory uses both formats simultaneously to allow real-time analytics on both Data Warehouses and OLTP databases. Indexes previously required for analytics can be dropped, accelerating mixed-workload OLTP.

Columnar In Memory Technology
Oracle Database In-Memory transparently extends Oracle Database 12c with columnar in-memory technology. Users get immediate answers to business questions that previously took hours because highly optimized in-memory column formats and SIMD vector processing enable analytics to run at a rate of billions of rows per second per CPU core. 

Scale Up
Oracle’s scale-up technologies enable application transparent In-Memory scale-up on SMP computers with up to tens of terabytes of memory and thousands of CPU threads. Data is analyzed at the enormous rate of hundreds of billions of rows per second with outstanding efficiency and no feature limitations.

Scale Out
Oracle’s scale-out technologies enable application transparent In-Memory scale-out across large clusters of computers with 100s of terabytes of memory and thousands of CPU threads. Data is analyzed at the enormous rate of trillions of rows per second with no feature limitations.

HA and Security
Oracle’s Availability and Security technologies all work transparently with Oracle Database In-Memory ensuring extreme safety for mission critical applications. On Oracle Engineered Systems, In-Memory fault tolerance duplicates in-memory data across nodes enabling queries to instantly use an in-memory copy of data if a node fails.

Cost
Oracle Database In Memory does not mandate that all data must fit in memory. Frequently accessed data can be kept In-Memory while less active data is kept on much lower cost flash and disk.

Ease in Deployment
Deploying Oracle Database In-Memory with any existing Oracle Database-compatible application is as easy as flipping a switch, no application changes are required. All of Oracle’s extensive features, data types, and APIs continue to work transparently.

Summary 
The ability to easily perform real-time data analysis together with real-time transaction processing on all existing applications enables organizations to transform into Real-Time Enterprises that quickly make data-driven decisions, respond instantly to customer demands, and continuously optimize all key processes.

I am looking forward two major streams of development for Oracle Applications and Oracle ETL/ELT operations which would offer a great deal of benefits ..

Each of Oracle's Applications - including Oracle Fusion Applications, Oracle JD Edwards Enterprise-One, Oracle PeopleSoft, Oracle Siebel, Oracle E-Business Suite, and Oracle Hyperion—is developing new In-Memory Applications that leverage Oracle Engineered Systems and Oracle Database In-Memory to transform critical but slow business processes into real- time processes

Each of Oracle’s BI Application Adopters – is rewriting code to leverage In- Memory fast data access without affecting OLTP performance. So I can re-run by ETL process as many times I want for intraday analytical reporting.

I hope you find this information useful.