3 Best Practices for Optimizing Oracle Exalytics
Oracle Exalytics is a high-performance, in-memory analytics machine that is extremely efficient in running analytics and business intelligence applications. It consists of a powerful hardware (40 CPUs and 1 TB of RAM) as well as Oracle Business Intelligence (OBIEE) product suite with several in-memory optimizations not available in standard OBIEE installation such as TimesTen.
The core optimization techniques are still dependent on having proper logical and physical models, creating correct join configuration, and using proper Repository design techniques – all to ensure optimal performance.
If you are utilizing Exalytics, we recommend the following three best practices for optimizing your Exalytics project:
Best Practice #1 – Use cache for static data.
For relatively static reporting data (that might not change during the daily load), the recommended approach is to use caching. This is similar to a traditional cache-optimization technique where one would set up seeding procedures by using intelligent agents or iBots. The difference is that you can improve Exalytics performance by utilizing RAMDisk for storing the cache. Here are detailed instructions. The combination of these techniques should produce near 1-second response times when utilizing Exalytics, depending on your data set. One important consideration is to set up a cache purging technique that will run as a part of your ETL activities or on the database side by utilizing triggers. This allows you to avoid having confusing or incorrect results.
Best Practice #2 – Improve performance through Usage Tracking, Summary Advisor, and Aggregate Persistence.
The Usage Tracking functionality allows you to identify which queries are not running optimally or run slow [T2] Upon completion, you should be able to focus on which report sets can be optimized and split in several resulting datasets – a high-level view with enabled drill-down detail. Aggregate Persistence let you create aggregates based on the particular logical model in the OBIEE’s repository by generating appropriate scripts. Summary Advisor will enable further improved performance by providing recommendations for expanding aggregate tables.
Best Practice #3 – Utilize the Oracle TimesTen in-memory database.
Oracle TimesTen is an in-memory relational database shipped as a part of Exalytics. It complements Oracle’s database by serving as a cache database embedded into Exalytics. In complex scenarios it is possible to improve performance by bringing certain detail data into TimesTen. It is vital to have a proper indexing strategy (utilizing multi-column complex indexes if necessary) to ensure optimal performance.
These three best practices will go a long way in ensuring optimal usage of Exalytics for your next project. However, there is no magic pill: the optimization techniques described above really work best in a structured approach. Optimized performance has to be planned from the beginning of the project. If you have any follow-up questions or would like more specific recommendations for your Exalytics project, please get in touch with us.