for all Hyperion video tutorial/Training/Certification/Material Essbase Optimization Techniques by Amit.

Slides:



Advertisements
Similar presentations
Adam Jorgensen Pragmatic Works Performance Optimization in SQL Server Analysis Services 2008.
Advertisements

Chapter 8 Virtual Memory
Chapter 6: Memory Management
Allocating Memory.
Tables Lesson 6. Skills Matrix Tables Tables store data. Tables are relational –They store data organized as row and columns. –Data can be retrieved.
Virtual Memory Chapter 8.
Virtual Memory Chapter 8. Hardware and Control Structures Memory references are dynamically translated into physical addresses at run time –A process.
Data Indexing Herbert A. Evans. Purposes of Data Indexing What is Data Indexing? Why is it important?
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
Virtual Memory Chapter 8.
1 Virtual Memory Chapter 8. 2 Hardware and Control Structures Memory references are dynamically translated into physical addresses at run time –A process.
1 Chapter 8 Virtual Memory Virtual memory is a storage allocation scheme in which secondary memory can be addressed as though it were part of main memory.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 11 Database Performance Tuning and Query Optimization.
Virtual Memory I Chapter 8.
1.1 CAS CS 460/660 Introduction to Database Systems File Organization Slides from UC Berkeley.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Database Performance Tuning and Query Optimization.
IT The Relational DBMS Section 06. Relational Database Theory Physical Database Design.
1 Physical Data Organization and Indexing Lecture 14.
Physical Database Design & Performance. Optimizing for Query Performance For DBs with high retrieval traffic as compared to maintenance traffic, optimizing.
Improving Efficiency of I/O Bound Systems More Memory, Better Caching Newer and Faster Disk Drives Set Object Access (SETOBJACC) Reorganize (RGZPFM) w/
1 Index Structures. 2 Chapter : Objectives Types of Single-level Ordered Indexes Primary Indexes Clustering Indexes Secondary Indexes Multilevel Indexes.
ICS 145B -- L. Bic1 Project: Main Memory Management Textbook: pages ICS 145B L. Bic.
IT253: Computer Organization
Memory Management – Page 1 of 49CSCI 4717 – Computer Architecture Memory Management Uni-program – memory split into two parts –One for Operating System.
Views Lesson 7.
Virtual Memory Chapter 8. Hardware and Control Structures Memory references are dynamically translated into physical addresses at run time –A process.
Module 4.0: File Systems File is a contiguous logical address space.
Indexing and hashing Azita Keshmiri CS 157B. Basic concept An index for a file in a database system works the same way as the index in text book. For.
Virtual Memory Chapter 8. Hardware and Control Structures Memory references are dynamically translated into physical addresses at run time –A process.
Database Systems Disk Management Concepts. WHY DO DISKS NEED MANAGING? logical information  physical representation bigger databases, larger records,
CS333 Intro to Operating Systems Jonathan Walpole.
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
1  2004 Morgan Kaufmann Publishers Chapter Seven Memory Hierarchy-3 by Patterson.
Informationsteknologi Wednesday, October 3, 2007Computer Systems/Operating Systems - Class 121 Today’s class Memory management Virtual memory.
1 Copyright © 2005, Oracle. All rights reserved. Following a Tuning Methodology.
1 Chapter 9 Tuning Table Access. 2 Overview Improve performance of access to single table Explain access methods – Full Table Scan – Index – Partition-level.
Lectures 8 & 9 Virtual Memory - Paging & Segmentation System Design.
COMP091 – Operating Systems 1 Memory Management. Memory Management Terms Physical address –Actual address as seen by memory unit Logical address –Address.
1 Overview of Query Evaluation Chapter Outline  Query Optimization Overview  Algorithm for Relational Operations.
Database Systems, 8 th Edition SQL Performance Tuning Evaluated from client perspective –Most current relational DBMSs perform automatic query optimization.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 File Organizations and Indexing Chapter 8 Jianping Fan Dept of Computer Science UNC-Charlotte.
AA202: Performance Enhancers for Laserfiche Connie Anderson, Technical Writer.
Virtual Memory By CS147 Maheshpriya Venkata. Agenda Review Cache Memory Virtual Memory Paging Segmentation Configuration Of Virtual Memory Cache Memory.
Database Applications (15-415) DBMS Internals- Part III Lecture 13, March 06, 2016 Mohammad Hammoud.
SQL IMPLEMENTATION & ADMINISTRATION Indexing & Views.
File-System Management
Practical Database Design and Tuning
Memory Management.
Chapter 2 Memory and process management
Data Indexing Herbert A. Evans.
Module 11: File Structure
Lecture 12 Virtual Memory.
Chapter 12: Query Processing
Chapter 8 Virtual Memory
CSI 400/500 Operating Systems Spring 2009
Database Performance Tuning and Query Optimization
Virtual Memory Chapter 8.
Main Memory Management
Database Applications (15-415) DBMS Internals- Part III Lecture 15, March 11, 2018 Mohammad Hammoud.
Memory Management Lectures notes from the text supplement by Siberschatz and Galvin Modified by B.Ramamurthy Chapter 8 11/24/2018.
Practical Database Design and Tuning
Memory Management Lectures notes from the text supplement by Siberschatz and Galvin Modified by B.Ramamurthy Chapter 9 12/1/2018.
Introduction to Database Systems
Chapter 11 Database Performance Tuning and Query Optimization
Memory Management Lectures notes from the text supplement by Siberschatz and Galvin Modified by B.Ramamurthy Chapter 9 4/5/2019.
COMP755 Advanced Operating Systems
Operating Systems: Internals and Design Principles, 6/E
Presentation transcript:

for all Hyperion video tutorial/Training/Certification/Material Essbase Optimization Techniques by Amit Sharma mail to

for all Hyperion video tutorial/Training/Certification/Material Essbase Optimization The first step of Essbase optimization is to monitor Essbase performance and identify performance bottleneck. Viewing Essbase Server/Database Information MaxL Display Application ESSCMD GETAPPSTATE, GETPERFSTATS ESSCMD GETAPPINFO,GETDBINFO ListLocks, UNLOCKOBJECT Monitoring User Sessions and Requests MaxL display session, alter system alter system logout session by user 'admin' on application sample force; Unlockobject 1 sample basic basic

for all Hyperion video tutorial/Training/Certification/Material Database Cache Settings Database Cache Settings describes database cache settings and lists the location of the settings in Administration Services, MaxL, and ESSCMD.

for all Hyperion video tutorial/Training/Certification/Material Optimizing Database Caches Analytic Services depends on caches for indexes, paging and calculating. Inadequate cache settings can significantly impact database processes Index Cache When you request a data block, the index is used to find its location on disk. If the block location is not found in the index cache, the index page that has the block entry is pulled into memory (into the index cache) from the disk. If the index cache is full, the least recently used index page in memory (in the index cache) is dropped to make room for the new index page. alter database set index_cache_size

for all Hyperion video tutorial/Training/Certification/Material 1 Block Numbering Index: , New York , New York , New York 100, New York , New York , New York , New York 200, New York , Massachusetts , Massachusetts , Massachusetts Optimizing Database Caches

for all Hyperion video tutorial/Training/Certification/Material Data Cache Optimizing Database Caches Data blocks can reside on physical disk and in RAM. The amount of memory allocated for blocks is called the data cache. When a block is requested, the data cache is searched. If the block is found in the data cache, it is accessed immediately. If the block is not found in the data cache, the index is searched for the appropriate block number. The block's index entry is then used to retrieve the block from the proper data file on disk. alter database set data_cache_size

for all Hyperion video tutorial/Training/Certification/Material Calculator Cache Optimizing Database Caches The calculator cache is a buffer in memory that Essbase uses to create and track data blocks during calculation operations. Essbase can create a bitmap, whose size is controlled by the size of the calculator cache, to record and track data blocks during a calculation. Determining which blocks exist using the bitmap is faster than accessing the disk to obtain the information, particularly if calculating a database for the first time or calculating a database when the data is very sparse. The dynamic calculator cache is a buffer in memory that Essbase uses to store all of the blocks needed for a calculation of a Dynamic Calc member in a dense dimension (for example, for a query). Essbase uses a separate dynamic calculator cache for each open database. The DYNCALCCACHEMAXSIZE setting in the essbase.cfg file specifies the maximum size of each dynamic calculator cache on the server. Dynamic calculator cache

for all Hyperion video tutorial/Training/Certification/Material Preventing or Removing Fragmentation You can prevent and remove fragmentation: To prevent fragmentation, optimize data loads by sorting load records based upon sparse dimension members. To remove fragmentation, perform an export of the database, delete all data in the database with CLEARDATA, and reload the export file. To remove fragmentation, force a dense restructure of the database. Types of Database Restructuring This section describes the two ways that a database restructure is triggered:  Implicit Restructures  Explicit Restructures

for all Hyperion video tutorial/Training/Certification/Material Hit Ratio – Percentage of searches that did not involve retrieving from disk Percentage Of Maximum Blocks Existing - Is A Percentage Comparison between existing blocks and potential blocks Compression Ratio - Ratio of compressed block size to expanded block size The average clustering ratio database statistic indicates the fragmentation level of the data (.pag) files. The maximum value, 1, indicates no fragmentation

for all Hyperion video tutorial/Training/Certification/Material Others Database Settings Miscellaneous Database Settings describes miscellaneous database settings and lists the location of the settings in Administration Services, MaxL, and ESSCMD.

for all Hyperion video tutorial/Training/Certification/Material Ten Steps To Optimization Step 1: The Starting Line: Model Analysis  Minimize the number of dimensions. Do not ask for everything in one model  Minimize complexity of individual dimensions. Consider UDAs and Attribute Dimensions in order to reduce the size of some of the dimensions  Examine the level of granularity in the dimensions. Step 2: Order The Outline Sparse smallest to Largest Dense Largest Smallest Hourly Glass Model  Dense dimensions from largest to smallest. Small and large is measured simply by counting the number of Stored members in a dimension. The effect of sparse dimension ordering is much greater than dense dimension ordering.  Sparse dimensions from smallest to largest. This relates directly to how the calculator cache functions.

for all Hyperion video tutorial/Training/Certification/Material Ten Steps To Optimization Step 3: Evaluate Dense/Sparse Settings  Finding the optimal configuration for the Dense/sparse settings is the most important step in tuning a database. Optimize the block size. This varies per operating system, but in choosing the best Dense/sparse configuration keep in mind that blocks over 100k tend to yield poorer performance. In general, Analytic Services runs optimally with smaller block sizes Step 4: System Tuning System tuning is dependent on the type of hardware and operating  Keep memory size higher.  Ensure there is no conflict for resources with other applications

for all Hyperion video tutorial/Training/Certification/Material Ten Steps To Optimization Step 5: Cache Settings  The actual cache settings recommended is strongly dependent on your specific situation.  To measure the effectiveness of the cache settings, keep track of the time taken to do a calculation and examine the hit ratio statistics in your database information. Step 6: Optimize Data Loads  Know your database configuration settings (which dimensions are dense and sparse).  Organize the data file so that it is sorted on sparse dimensions. The most effective data load is one which makes the fewest passes on the database. Hence, by sorting on sparse dimensions, you are loading a block fully before moving to the next one.  Load data locally on the server. If you are loading from a raw data file dump, make sure the data file is on the server. If it is on the client, you may bottleneck on the network

for all Hyperion video tutorial/Training/Certification/Material Ten Steps To Optimization Step 7: Optimize Retrievals  Increase the Retrieval Buffer size. This helps if retrievals are affected due to dynamic calculations and attribute dimensions.  Increase the Retrieval Sort Buffer size if you are performing queries involving sorting or ranking.  Smaller block sizes tend to give better retrieval performance. Logically, this makes sense because it usually implies less I/O.  Smaller reports retrieve faster.  Attribute may impact the calculation performance which usually has a higher importance from a performance standpoint.  If you have a lot of dynamic calculations or attribute dimensions  Higher Index cache settings may help performance since blocks are found quicker

for all Hyperion video tutorial/Training/Certification/Material Ten Steps To Optimization Step 8: Optimize Calculations  Unary calculations are the fastest. Try to put everything in the outline and perform a Calc All when possible.  You should FIX on sparse dimensions, IF on dense dimensions. FIX statements on sparse dimensions only brings into memory blocks with those sparse combinations which the calc has focused on. If statements on dense dimensions operate on blocks as they are brought into memory.  Use the Two Pass Calculation tag. Try to avoid multiple passes on the database. In the case where the calculation is a CALC  Use Intelligent Calc in the case of simple calc scripts.

for all Hyperion video tutorial/Training/Certification/Material Ten Steps To Optimization Step 9: Defragmentation Fragmentation occurs over time as data blocks are updated. As the data blocks are updated, they grow (assuming you are using compression) and the updated blocks are appended to the page file. This tends to leave small free space gaps in the page file.  Time - The longer you run your database without clearing and reloading the more likely it is that it has become fragmented.  Incremental Loads - This usually leads to lots of updates for blocks.  Many Calculations/Many Passes On The Database - Incremental calculations or calculations that pass through the data blocks multiple times leads to fragmentation.

for all Hyperion video tutorial/Training/Certification/Material Ten Steps To Optimization Step 10: Partition By breaking up one large database into smaller pieces, calculation performance may be optimized. Because this adds a significant layer of complexity to administration, this is the last of the optimization steps we list. However, this does not mean that has the least impact.