Presentation by Rittman Mead's Mark Rittman and Stewart Bryson on our experiences 1-year on with Exalytics. Includes sections on aggregate caching and datamart loading into TT, use of Essbase as a TT alternative, and deployment patterns we see on client sites.
Comparing Sidecar-less Service Mesh from Cilium and Istio
Oracle Exalytics - Tips and Experiences from the Field (Enkitec E4 Conference 2013, Dallas)
1. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Oracle Exalytics -
Tips and Experiences from the Field
Mark Rittman & Stewart Bryson, Rittman Mead
Enkitec Extreme Exadata Expo, Texas, August 2013
T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Sunday, 4 August 13
2. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Mark Rittman
•Mark Rittman, Co-Founder of Rittman Mead
•Oracle ACE Director, specialising in Oracle BI&DW
•14 Years Experience with Oracle Technology
•Regular columnist for Oracle Magazine
•Author of two Oracle Press Oracle BI books
•Oracle Business Intelligence Developers Guide
•Oracle Exalytics Revealed
•Writer for Rittman Mead Blog :
http://www.rittmanmead.com/blog
•Email : mark.rittman@rittmanmead.com
•Twitter : @markrittman
Sunday, 4 August 13
3. T : +1 (888) 631-1410 E : inquiries@rittmanmead.com W: www.rittmanmead.com
Stewart Bryson
•Twitter : @StewartBryson
•Oracle ACE in BI/DW
•Oracle BI/DW Architect and Delivery Specialist
•Community Speaker and Enthusiast
•Writer for Rittman Mead Blog:
http://www.rittmanmead.com/blog
•US Conference Chair of the Rittman Mead BI Forum
•Developer of Transcend Framework
•Email : stewart.bryson@rittmanmead.com
•Real Time BI with Kevin & Stewart
‣ iTunes: http://bit.ly/realtimebi
‣ YouTube: http://www.youtube.com/user/realtimebi
Sunday, 4 August 13
4. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
About Rittman Mead
•Oracle BI and DW platinum partner
•World leading specialist partner for technical excellence, solutions delivery and innovation in Oracle BI
•Approximately 50 consultants worldwide
•All expert in Oracle BI and DW
•Offices in US (Atlanta), Europe, Australia and India
•Skills in broad range of supporting Oracle tools:
‣ OBIEE
‣ OBIA
‣ ODIEE
‣ Essbase, Oracle OLAP
‣ GoldenGate
‣ Exadata
‣ Endeca
Sunday, 4 August 13
5. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Main Exalytics Proposition
•In-Memory analytics - lightening-fast response, free-form analysis and aggregation
•Rich, immersive dashboards powered by high-spec hardware
•Extra OBIEE + other features only available on this platform
•Enables fast development controlled by the business
•Faster planning and budgeting
Sunday, 4 August 13
6. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Oracle Exalytics In-Memory Machine
•Engineered system, complements Oracle Exadata Database Machine (though can work standalone)
•Combination of high-end hardware (Sun x86_64 architecture, 3RU rack-mountable, 1-2TB RAM)
and optimized versions of Oracle’s BI, In-Memory Database and OLAP software
•Delivers “in-memory analytics” focusing on analysis, aggregation and UI
‣ Rich, interactive dashboards with split-second response times
‣ 1-2TB of RAM, to run your analysis in-memory
‣ Infiniband connection to Exadata and Oracle Big Data Appliance
‣ 40 CPU cores to support high-levels of user concurrency
‣ Lower TCO through known configuration, combined patch sets
‣ Contains software features only licensable through
Exalytics package
Sunday, 4 August 13
7. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Exalytics as the Exa-Machine for OBIEE
•Runs the BI layer on a high-performance, multi-core, 1-2TB server
•In-memory cache used to accelerate the BI part of the stack
•If Exadata addresses 80% of the query performance, Exalytics addresses
the remaining 20%
‣ Consistent response times for queries
‣ In-memory caching of aggregates
‣ 40 cores for high concurrency
‣ Re-engineered BI and OLAP software
that assumes 40 cores and 1TB RAM
ERP/Apps DW
Oracle BI
In-Memory DB/Cache
Sunday, 4 August 13
8. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Also Supports Essbase, and Endeca Information Discovery
•In-Memory Essbase for planning, budgeting and sales analysis-style OLAP applications
•Endeca Information Discovery for search/analytic applications against diverse data
In-Memory Cache
Essbase Planning Engine
Smart Storage
Manager
Lock
Manager
Unified
Indexing
Data
Mashup
Text
Analysis
Unified
Search
Faceted
Navigation
Interactive
Exploration
Information Discovery
Oracle
Exalytics
In-Memory
Machine
Sunday, 4 August 13
9. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Exalytics history - software
Oct 11 Feb 12 Aug Sep Jan 13 Apr Jul
Exaly&cs
announced
at
OOW2011
v1.0.0.0
OBI
11.1.1.5
Essbase
11.1.2.2.0
TimesTen
11.2.2.2.1
PS1
(v1.0.0.1)
OBI
11.1.1.6.2
BP1
Essbase
11.1.2.2.100
TimesTen
11.2.2.3.0
Cer&fied:
Golden
Gate
11.1.1
ODI
11.1.1.5+
Endeca
2.3
OBIA
7.9.6.4
Exaly&cs
available
to
license
through
Trusted
Par22ons
on
OVM
PS2
(v1.0.0.2)
OBI
11.1.1.6.5+
Essbase
11.1.2.2.101+
TimesTen
11.2.2.4.1+
Cer&fied:
Endeca
3.0
PS3
(v1.0.0.3)
Essbase
11.1.2.2.200
OBIEE
11.1.1.7.0+
TimesTen
11.2.2.5
Cer&fied:
Essbase
11.1.2.3
OBIA
11.1.1.7.1
Exaly<cs
X2-‐4/
V1
becomes
GA
Hardware
upgrade,
new
OBI
features,
support
for
OBIA
11g
Non-‐core
so7ware
such
as
ODI
and
Golden
Gate
now
cer<fied
So7ware
support
updates
Flash
PCIe
added
Sunday, 4 August 13
10. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Exalytics history - hardware
Oct 11 Feb 12 Aug Sep Jan 13 Apr Jul
Exaly&cs
announced
at
OOW2011
X2-‐4
• 40
cores
(4x
E7-‐4800)
• 1TB
RAM
• 3.6TB
raw
disk
(6x
SAS-‐2
600GB)
• Two
40Gb/s
InfiniBand
ports
• Four
10/100/1000Base-‐T
on-‐
board
Ethernet
ports
Exaly&cs
available
to
license
through
Trusted
Par22ons
on
OVM
X2-‐4
Flash
Upgrade
Kit
Adds
2.4TB
of
Flash
storage
to
exis&ng
X2-‐4
machines,
with
6x
Sun
F40
400GB
eMLC
Flash
PCIe
cards
X3-‐4
• 40
cores
(4x
E7-‐4800)
• 2TB
RAM
• 2.4TB
eMLC
Flash
PCIe
• 5.4TB
raw
disk
(6x
SAS-‐2
900GB)
• Two
40Gb/s
InfiniBand
ports
• Four
10/100/1000Base-‐T
on-‐
board
Ethernet
ports
X2-‐4
Memory
and
Flash
Upgrade
Kit
Adds
2.4TB
Flash
PCIe
and
addi&onal
1TB
RAM
to
exis&ng
X2-‐4
machines
Exaly<cs
X2-‐4/
V1
becomes
GA
Hardware
upgrade,
new
OBI
features,
support
for
OBIA
11g
Non-‐core
so7ware
such
as
ODI
and
Golden
Gate
now
cer<fied
So7ware
support
updates
Flash
PCIe
added
Sunday, 4 August 13
11. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Rittman Mead and Oracle Exalytics
•Rittman Mead were the first UK Oracle Partner to purchase an Exalytics server, back in Q1 2012
•Intention was to use it for customer PoCs, internal and external training, R&D
•Had additional support from the Oracle product development team as an “early adopter”
•Run several customer PoCs since then, independently & with Oracle
•Developed Exalytics training material
•Written “Oracle Exalytics Revealed” ebook for Oracle Press
•Most importantly - springboard for several customer projects
‣ UK Retailer
‣ US Pharmaceuticals Company
‣ UK/Worldwide Broker + Financial Information Company
‣ US / US / Asia Financial Asset Management
‣ UK National Health Service Hospital
‣ etc
Sunday, 4 August 13
12. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Findings from the Field
•So what have we found, after over a year of working with, and implementing, Exalytics?
•How well does it work as a query accelerator (“analysis at the speed of thought”)?
•How else has it been used (in-memory data warehouse, for example)?
•What role has the Essbase software played (and, Endeca?)
•How have customers been deploying it?
Sunday, 4 August 13
13. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Some Example Exalytics Use-Cases
•Customers who do not have the time/ability/means to put in-place an aggregation
strategy for their dashboards, or who understand how labour-intensive this is
•Customers who have done what they can with summaries, indexes etc, but need
that extra 10% or so of performance, particularly around response-time consistency
•Customers who want to create rich, visual dashboards that would otherwise
stretch the BI Presentation Server
•Customers who need to support high numbers of concurrent users
•Customers running Hyperion Planning and Budgeting who want to reduce the planning time cycle, re-
calculate data faster and generally do more in less time
•Customers who are moving to a single supplier, engineered-systems hardware strategy, using Exadata for
their databases, Exalogic for their Java application hosting, and now Exalytics for their BI
•Customers looking to consolidate multiple BI systems into a single large instance
Sunday, 4 August 13
14. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Exalytics Sweet-Spots, in our Experience...
•Customers with BI systems that use an underlying data warehouse, with
batch-load refresh cycles that permit pre-aggregation of data
•Customers who have a large number of users running the same reports and dashboards as each other
•Customer with BI systems that aggregate data via predefined hierarchies
•Customers with reasonably simple and well-tested / validated RPDs
•Customers using Essbase for planning/budgeting applications,
and who want to move the cube into memory
•Customers moving from v10 to v11 OBIEE, with little in the way of
visual, interactions etc, and use Exalytics
as the platform for delivering these
Sunday, 4 August 13
15. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Exalytics as the Query Performance Enhancer
•In conjunction with a well-tuned source data warehouse, Exalytics adds an in-memory analysis later
•Based around Oracle TimesTen for Exalytics, Oracle’s In-Memory Database
•Aggregates are recommended based on query patterns, and automatically created in TimesTen
•Summary Advisor makes recommendations, which adapt as queries change
•Meant to be “plug-and-play” - no need for
expensive data warehouse tuning
•So how does it work in-practice?
TimesTen BI Server
Exalytics
Aggregates
Data Warehouse
Detail-level
Data
Sunday, 4 August 13
16. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Summary Advisor for Aggregate Recommendation & Creation
•Utility within Oracle BI Administrator tool that recommends aggregates
•Bases recommendations on usage tracking and summary statistics data
•Captured based on past activity
•Runs an iterative algorithm that searches,
each iteration, for the best aggregate
Sunday, 4 August 13
17. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Recommendations Based on Enhanced Usage Tracking Data
•Historically, usage tracking has been tracked using S_NQ_ACCT
‣ Holds basic usage tracking statistics + logical SQL query
•Now supplemented by S_NQ_DB_ACCT
‣ Extra usage tracking information, includes physical SQL
•Exalytics Summary Advisor uses S_NQ_SUMMARY_ADVISOR
‣ Contains summary statistics, execution time etc
‣ Gathered at same time as usage tracking when
Exalytics is enabed
‣ Contents can be derived from usage tracking if needed
Sunday, 4 August 13
18. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Oracle TimesTen for Exalytics
•New version of TimesTen specifically for Exalytics (and only available with Exalytics)
•Support for analytic functions
‣ Perform all the processing at source
‣ Combine with being in-memory = should be very fast
•Column compression
‣ Whitepaper cites 5x - possible for dimension tables, usually much lower for fact tables (20% compression)
‣ Given the hardware capacity, we could seriously contemplate loading the whole Data Warehouse into
memory - see techniques and limitations later on
‣ Opens up lots of interesting design potential
•We can load aggregates into TimesTen, leave base data at source, and use OBIEE’s Vertical Federation
capability to seamlessly report across both
‣ All hidden from the end-user, all they will know is that their reports run fast!
Sunday, 4 August 13
19. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
TimesTen and OBIEE Architecture
•Oracle BI Server communicates with TimesTen through TimesTen Client
•Summary Advisor, and nqcmd use Oracle BI Server to access TimesTen
•Typical single TimesTen database per Exalyics machine
‣ Max TimesTen database size around 300MB
- Due to need to set aside equal
Temp size for the Perm size selected
•Clustered Exalytics boxes can be daisy-chained
together using InfinBand connections
‣ For HA scenarios, does not increase available RAM
‣ Summary advisor scripts write to both TimesTen
databases, replicating aggregates
‣ TimesTen databases can be “wired together”
for failover/HA purposes
TimesTen
Memory-Resident
Database
Checkpoint
Files
Log
Files
ODBC
Oracle BI
Server
nqcmdSummary
Advisor
Sunday, 4 August 13
20. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Example 1: Using Exalytics to Pre-Aggregate and Cache BI Apps Data
•Can we use the Summary Advisor to automatically cache commonly-used aggregates in-memory?
‣ Similar to regular OBIEE caching, relies on query repeatability + use of aggregation
•Could we copy all, or part, of the BI Apps data warehouse directly into TimesTen?
•How would we update the RPD to point to the in-memory tables?
•How fast would TimesTen be to load, and to query, vs. Oracle/SQL Server/DB2 etc?
•Here’s our thoughts and R&D to date....
Sunday, 4 August 13
21. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Using the Summary Advisor on BI Apps 7.9.6.4 Step 1 : Start Advisor
•Server has to be an Exalytics server, in this example is patched-up to 11.1.1.6.9
•Workstation has the 11.1.1.6.9 BI Administration tool installed
•Select Tools > Utilities, then Oracle BI Summary Advisor from utility list
1
2
Sunday, 4 August 13
22. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Using the Summary Advisor on BI Apps 7.9.6.4 Step 2 : Scope Source Queries
•By default, all queries registered in the usage tracking and summary statistics tables are in-scope
•Refine the recommendations by limiting timeframe, and setting minimum accumulated time threshold
•Still an opportunity later on to pick and choose from recommended aggregates
•Once selected, then select the TimesTen connection pool and database as the aggregate table target
3
4
Sunday, 4 August 13
23. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Using the Summary Advisor on BI Apps 7.9.6.4 Step 3 : Create Aggregates
•Summary Advisor then recommends a set of “candidate” aggregates, which you can choose to implement
•Select all, none or some of the recommended aggregates
•Then run the resulting logical SQL script using the nqcmd utility
•Note - may need to clean-up BI Apps DW data to remove duplicates etc before script completes OK
Sunday, 4 August 13
24. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Using the Summary Advisor on BI Apps 7.9.6.4 Step 4 : Review RPD and Data
•Aggregate Persistence process called by the “create aggregates” process also maps tables in RPD
•Physical layer contains entries for the TimesTen tables
•Business Model and Mapping later contains vertically-federated LTSs for the new TT tables
Sunday, 4 August 13
25. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Summary Advisor for BI Apps : Pros and Cons
•Pros
‣ Automatically analyzes query patterns and recommends aggregates to accelerate them
‣ Handles the registering of the TimesTen tables in the RPD, including mapping back into business model
‣ Supports any data source that the BI Server supports
•Cons
‣ Queries have to have run before they’ll be considered for loading
into TimesTen for Exalytics
‣ Relies on subsequent queries being able to use those aggregates
‣ Could get unwieldy if many aggregates are registered in the RPD
‣ Summary Advisor process does not automatically clear down
tables that don’t feature in future recommendations
‣ Refresh process for aggregates is inefficient
Sunday, 4 August 13
26. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Refreshing Summary Advisor Aggregates Within the TimesTen Data Mart
•Aggregates are built in TimesTen to support sub-second response times
•Summary Advisor tool suggests aggregate dimensionality and grain, generates script
•BI Server’s Aggregate Persistence executes script:
1. Create TimesTen aggregate table
2. Populate TimesTen aggregate
3. Update RPD online with new aggregate metadata
•Handles supporting dimensions too
Base data Aggregates
TimesTen
OBIEE Aggregate
Persistence
RPD
Aggregate tables
created
RPD updated with
new aggregate
mappings
Aggregate tables
loaded from base
data
Sunday, 4 August 13
27. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Out-of-the-Box Summary Advisor Limitations
•To refresh an aggregate, Summary Advisor deletes and rebuilds from scratch
•The RPD is edited directly on the BI Server each time an aggregate is created or rebuilt
•Build failures can be difficult to debug, if it fails can leave the RPD in an inconsistent state with TimesTen
After a failed build, the aggregates
are still in the RPD, but no longer
exist in TimesTen
nqquery.log suggests possible
errors but no clear root cause
This is that the
error the user
sees
Sunday, 4 August 13
28. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Alternatives to using Aggregate Persistence
•However aggregates are refreshed, they must be included in the RPD
‣ Can be done manually
‣ Aggregate Persistence is useful for this
•Complete refresh of aggregate data
‣ Extract the SQL that OBIEE generates in Aggregate Persistence, run
this through ODI
‣ Write bespoke aggregate refresh code in ODI
•Incremental refresh using GoldenGate and ODI
‣ Instead of rebuilding aggregates in their entirety each time, only update
the part of the aggregate that has changed on the base data
Sunday, 4 August 13
29. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Custom BI Server ETL Option : Incremental BI Server Refresh
•Uses BI Server to do the refresh, but invokes just part of it - the data refresh part
•Avoids unnecessary aggregate table drop/rebuild, and online RPD edit
•Uses BI Server logical ETL SQL features
to just refresh the TT aggregate table, using
only the latest set of detail-level data
‣ Avoids use of additional ETL tools
‣ No additional license cost
‣ Works against any BI Server source
Sunday, 4 August 13
30. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Custom BI Server ETL Option : Incremental BI Server Refresh
•Uses a number of “undocumented” but support BI Server ETL features
‣ POPULATE command for loading data into an RPD table
‣ WHERE clause for limiting the refresh to just the incremental load
‣ INACTIVE_SCHEMAS to stop BI Server refreshing using existing RPD agg table
•See http://www.rittmanmead.com/2013/04/incremental-refresh-of-exalytics-
aggregates-using-native-bi-server-capabilities/ for full details including scripts etc
SET VARIABLE DISABLE_CACHE_HIT=1, DISABLE_CACHE_SEED=1, DISABLE_SUMMARY_STATS_LOGGING=1,
INACTIVE_SCHEMAS='"TimesTen Aggregates".."EXALYTICS"';
populate "ag_sales_month" mode ( append table connection pool
"TimesTen aggregates"."TT_CP") as
select_business_model "Sales"."Fact Sales"."Sale Amount" as "Sale_Amoun000000AD",
"Sales"."Dim Times"."Month YYYYMM" as "Month_YYYY000000D0"
from "Sales"
where "Dim Times"."Month YYYYMM" = VALUEOF("THIS_MONTH");
Sunday, 4 August 13
31. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
But .. What About if I want to Put My Entire Data Warehouse In-Memory
•Actually a common request - many reporting datasets are under 500GB / 1TB in size
•Why not put the whole dataset in-memory, rather than just expensively maintain aggregates?
•Maybe put “hot data” - current month, popular products - into TT as a form of in-memory partitioning?
•Use Exalytics as an analytics toolbox - independence from IT / DBAs
•In-memory access to detail-level, as well as summary-level, data
Sunday, 4 August 13
32. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Options for Analyzing Large Datasets “In-Memory”
•Summary Advisor only puts aggregates, not the whole dataset, in-memory
‣ May be the only practical solution for very large datasets, and comes with automation for build/maintainance
•TimesTen could potentially hold the full dataset, but has practical limitations on scale
‣ TimesTen tables can be large, even with compression
‣ Lacks PQ, partitioning, so could possibly struggle when analyzing large amounts of table data
•Essbase Aggregate Storage Option (ASO) is also a possibility, and also ships with Exalytics
‣ Stores data at detail level, uses indexing and fast aggregation to analyze large, dimensional datasets
vs.
Sunday, 4 August 13
33. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
What is Essbase Aggregate Storage Option?
•Essbase is Oracle’s Exalytics OLAP server, and has two storage types for databases: BSO and ASO
•BSO (“Block Storage Option”) is traditional MOLAP, and stores data in multidimensional blocks and indexes
‣ Good for fast access and write-back at all levels, needs pre-calculating, but limited in scale
•ASO (“Aggregate Storage Option”) is more like relational storage, and can scale hugely
‣ 100x scaleability over BSO, 10x faster load and calc, 20x smaller databases
‣ But can only write-back to level 0, more limited calculations, aimed at DW-style sales analysis applications
‣ Uses bitmaps based on cube metadata to quickly index the whole cube, plus optional stored pre-aggs
‣ Different approach to TimesTen, more “OLAP” than relational, but is it an option?
Sunday, 4 August 13
34. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Example Two: Storing Detail-Level DW Data in Exalytics
•Examples are to establish which of TimesTen, or Essbase ASO, is best-suited to storing whole DW datasets
•Two sample datasets were chosen:
‣ Sample Sales (SH) from the Oracle database - 900k rows of fact data + 5 dimensions
‣ Airline Delays from the Exalytics demo program - 130m+ rows of flight leg information + 4 dims
•Looking to assess three factors:
‣ Speed to load
‣ Speed to access detail data
‣ Speed to access summary data
SH.SALES
900k+ rows PERFORMANCE
130m+ rows
Sunday, 4 August 13
35. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Initial Data Load - TimesTen for Exalytics
•TimesTen tries to mirror Oracle RBDMS in terms of SQL, PL/SQL etc
•Has its own optimized datatypes, plus in-memory optimized indexes
‣ Ideally you would map Oracle datatypes to the most
optimal TT ones, not just VARCHAR, NUMBER etc
•Column-based compression can also be used
‣ Creates query performance gain proportionate to
the space saving, i.e. 20% compression, 20% faster query
‣ Benefits dimension tables most, but some gain for facts
•ttimportfromOracle utility automatically creates optimal
TT DDL, and replicates the Oracle data into TT
‣ Need to be on TimesTen 11.1.2.2.5 to be able to
load into compressed TT tables
‣ From TT 11.1.2.2.5, can make use of parallel load into TT
‣ All tables loaded, took around 9GB space + 4GB temp
c:TEMPtttt_sh>C:TimesTentt1122_64_3support
ttImportFromOracle.exe
-oraConn sh/password@orcl -compression 1
-tables sales promotions products customers channels times
Beginning processing
Resolving any tablename wildcards
Eliminating any duplicate tables
Getting metadata from source
Generating database user list
Assigning TimesTen datatypes
Analyzing source tables (this may take some time)
Analyzing table 'SH.SALES' ...
Analyzing table 'SH.PROMOTIONS' ...
Analyzing table 'SH.PRODUCTS' ...
Analyzing table 'SH.CUSTOMERS' ...
Analyzing table 'SH.CHANNELS' ...
Analyzing table 'SH.TIMES' ...
Estimating compression ratios
Generating output files
Finished processing
Sunday, 4 August 13
36. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Initial Data Load - Essbase ASO
•Had to model the data in Essbase Studio, the cube design IDE for Essbase
•Prefix and transform dimension member names to
ensure uniqueness
•Can source data either from OBIEE repository,
or direct from source
•Essbase database loaded in <1 min, around 250MB in size
•Modeling was only for a single star - question how practical this
modeling in Essbase would be for a large, conformed DW
‣ Knowledge of Essbase required
‣ Dealing with data issues
‣ Not a trivial exercise
Sunday, 4 August 13
37. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Initial Query Response Times for Large, Detail-Level Datasets
•Created dashboards against the Oracle DB, TimesTen and Essbase ASO databases
•Enabled for Exalytics, removed Submit and Reset buttons from prompts
•Results were surprising
‣ All were fast (<1 sec/query) for Sales History
‣ Oracle RDBMS was slow for Airline Delays
- 60 secs+ for individual analyses
‣ Essbase ASO was fast for Airline Delays
- 5-10 secs for individual analyses
- But caused a few BI Server crashes
‣ TimesTen was also slow for Airline Delays
- 30 secs+ for a query
- Lots of timeouts
•Was this correct?
Sunday, 4 August 13
38. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Analyzing the Slow TimesTen Query Performance with Large Datasets
•Queries against Oracle’s SH.SALES table can often benefit from partition elimination
•Oracle database also has potential for parallel query - TT is limited to a single CPU/query
•But is the TT execution plan optimal?
•No - TmpHashScan operation indicates TT’s optimizer
has created an on-the-fly temporary index for the query
‣ Impacts on query performance
‣ Ideally, these indexes should already be there
•Solution - post-load index optimization
using the TT Index Advisor utility
TmpHashScan
indicates creation
of temporary index
Sunday, 4 August 13
39. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Optimizing the TimesTen for Exalytics Database
•TT Index Advisor uses a three-stage process
‣ ttindexAdviceCaptureStart(1,0) - start capturing all queries across the database
‣ ttindexAdviceCaptureEnd(1) - stop capture of queries
‣ ttindexAdviceCaptureOutput(1) - output index DDL for queries across database
•Then implement the DDL, and rinse-and-repeat
•Impact - massive - query time fell to <1 sec
‣ But would need to run advisor regularly
Sunday, 4 August 13
40. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Optimizing the Essbase ASO Database
•But - there’s a similar process also available for Essbase ASO
•Focuses on aggregates, rather than indexing (indexing already covered by ASO database bitmaps)
•Accessed from the Essbase Administration Services Console
•Fast to aggregate - can recommend, or run manually
•Also brought query response time
down to <1 sec
Sunday, 4 August 13
41. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Refreshing the TimesTen and Essbase ASO Databases
•As well as the initial load, you will need to refresh (or rebuild) the in-memory structures with new data
•TimesTen tables can be refreshed using various options
‣ Create custom ODI or GoldenGate routines - same as any other target, but “fragile”
- Beware table locking - TT compressed tables cannot be queried while loading
- OBI also takes out full table locks when running queries
- ttloadfromOracle can be used to automatically full-load TT tables, or edit script with WHERE clause
- Either requires BI down-time, or use double-buffering solution
•ASO has features for incremental, trickle-refresh for databases
‣ Based around concept of “slices” - sub-cubes that contain the new/updated data
‣ Database is then dynamically aggregated to include the slices
‣ Slices can be incorporated back into the main database from time-to-time
‣ Designed to support incremental load
Sunday, 4 August 13
42. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
So Which Technology Best Suits Loading the Whole Dataset into RAM?
•Remember - primary use-case for Exalytics / OBIEE / Timesten is caching of regularly-used aggregates
•Permits analysis across massive source datasets, and concentrates in-memory feature where most needed
•But - space permitting - TimesTen could handle the whole dataset
‣ Remember to use compression
‣ Use the Index Advisor after each load
‣ Also factor in the refreshing of TT tables - is this a 24x7 system
•Essbase ASO also an interesting option
‣ Much smaller datasets - potential to load more source data
‣ Optimized for this task
‣ But requires Essbase modeling skills
‣ Features exist for Essbase ASO real-time refresh,
but probably will need an Essbase admin on the team
vs.
Sunday, 4 August 13
43. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Deployments of Exalytics “In The Field”
•Surprisingly few of our implementations have been Exadata + Exalytics
‣ Maybe Exadata provides enough of a performance boost?
‣ Maybe those customers are self-supporting?
•Most have bought Exalytics as the best way to host their BI + Analytics mid-tier
‣ Typically with a non-Exadata (but Oracle) database underneath
‣ Sometimes as a way of avoiding DW query optimization
•For many, these are their first Sun (and Exa-) servers
•Many have bought single Exalytics servers
‣ (but what about dev, test etc?)
•Some have bought 3+ (including one of our customers)
Sunday, 4 August 13
44. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Deploying Multiple Environments
•Exalytics main value proposition is around performance
‣ In-memory aggregates speeding up query performance
•However many customers wish to use Exalytics for consolidation
‣ Run multiple environments (test, dev, prod) on a single server
‣ Consolidate multiple applications on a single server
•Desire is usually down to cost (multiple physical servers, per-processor licensing)
DEV DEV TEST PROD
vs.
MWHOME1
DEV
MWHOME2
DEV
MWHOME3 MWHOME1 MWHOME1 MWHOME1
Single Exalytics Server Exalytics Svr 1 Exalytics Svr 2 Exalytics Svr 3
Sunday, 4 August 13
45. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Oracle “Best Practice” for Consolidation : Oracle Virtual Machine
•Exalytics is now certified for use with Oracle Virtual Machine,
Oracle’s hard-partitioning virtualization platform
•OVM is installed first, on Exalytics “bare metal”, with OVM Repository
on external DB server (as with BIPLATFORM, MDS)
•Exalytics VM templates then used to create required environments
(dev, test etc)
•Also allows for licensing in smaller per-processor license blocks
(1 processor, 2 cores)
•OVM provides for resource caging, isolating environments
‣ But requires more infrastructure
‣ And has limitations around use of InfiniBand
•So many customers (and us) just do multiple FMW Home installs
on the same server, manually managing conflicts etc
‣ Supported by Oracle, now detailed in tech docs
DEV
MWHOME1
Single Exalytics Server
OVM Hypervisor (Oracle VM Server)
OVM Guest 1
DEV
MWHOME1
OVM Guest 2
DEV
MWHOME1
OVM Guest 3
Oracle VM
Manager
Oracle VM
Repository
Sunday, 4 August 13
46. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
High Availability using Clustered Exalytics Servers
•Multiple Exalytics servers can be clustered for HA and performance (load balancing)
‣ Requires hardware load balancer above clustered servers
•Linked together via InfiniBand (one for clustering, one for connection to Exadata)
•Note: does not double available RAM
- aggs are replicated in each TT database
‣ Note that Summary Advisor / nqcmd
does not replicate agg tables -
manual replication required
•HA is between TT instances, and OBIEE
managed server + system components
Sunday, 4 August 13
47. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Summary
•1 year on, we are starting to see Exalytics deployments “in the field”
•Usage of the platform is much wider than just “aggregates into TimesTen”
‣ Customers want to get “full value” from their high-end hardware, esp. 1TB RAM
•Recent platform refresh to 2TB RAM, SSD, plus several software + certification updates
•OBIEE + Summary Advisor + TT works as a way of caching commonly-used aggs in memory
‣ Recent updates make support for BI Apps etc possible
‣ But give consideration to summary update process - default solution can be inefficient
•Also possible to store whole datasets / datamarts / DW sub-sets in-memory
‣ Utilities exist for TT to automate the process - but don’t forget Index Advisor post-load
‣ Essbase ASO also an interesting solution for large, sparse datasets
•Many solutions exist for HA, multiple environments etc
•Speak to Rittman Mead if you’re considering Exalytics -
experience from several real-world projects in UK, Europe, USA
Sunday, 4 August 13
48. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Thank You for Attending!
• Thank you for attending this presentation, and more information can be found at http://www.rittmanmead.com
• Contact us at info@rittmanmead.com or mark.rittman@rittmanmead.com
• Look out for our book, “Oracle Business Intelligence Developers Guide” out now!
• Follow-us on Twitter (@rittmanmead) or Facebook (facebook.com/rittmanmead)
Sunday, 4 August 13
49. T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Oracle Exalytics -
Tips and Experiences from the Field
Mark Rittman & Stewart Bryson, Rittman Mead
Enkitec Extreme Exadata Expo, Texas, August 2013
T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com
Sunday, 4 August 13