12489 case study avago smart partitioning

5
 Using Oracle Partitioning for Maximum Performance Oracle E-Business Suite Micah Deriso and Alan Davidson Informatica and Avago Technologies The Business Issue Avago Technologies E-Business Suite R12 implementation was in need of sustainable performance and storage management to help with ever increasing data growth. The challenge was to find a methodology that would stabilize and improve application performance while maintaining high application up times and reducing the overall cost of storage. Avago had two main goals for the project, which were to improve application performance and insure high availability of mission critical and complex applications. Avago E-Business Infrastructure: Oracle E-Business Suite R12.1.3 Oracle Database 11gR1 (ASM file system and RAC enabled) Oracle Enterprise Linux v5.4 Cisco UCS blades (4 node mid tier   4 node database tier) EMC Celerra Performance Improvement Options Considered Hardware: We had already made an investment in the Cisco UCS blades from older server technology and our analysis concluded that further investment would only yield marginal results for the substantial investment required. Faster more expensive storage also only yielded marginal improvement. Both hardware based solutions proved to be non-sustainable. While improvement was gained initially, performance would eventually return to previous levels or get worse and more importantly, each hardware upgrade becomes more expensive across the board. We went searching for a more sustainable solution. Purge & Archive: After attending sessions at Oracle Collaborate and Open World we became interested in a Purge & Archive solution. We initially considered purging of data using the Oracle Purges it quickly became obvious that the business would not tolerate permane ntly deleting data. The additional human resources require d maintaining a historical inventory of the purged data and the monthly purging required led us to investigate packaged solutions in the archive marketplace. We selected a tool and imple mented it. Initially we had great success, removing the data from the production database dramatically improved performance. Life was good. After the first couple of years however, the true cost of archiving data became evident. Most traditional database archiving approaches rely on three fundamental requirements: data must be “eligible” to be archived (active vs. inac tive), data must be deleted/moved out of the production database and in the ca se of archiving, data needs to be available for future access needs. The removal of data from the production database into an archive database is the common approach of these solutions that deliver the benefits of a smaller and more performance driven environment. It is the deletion process and the added maintenance of a separate repository that introduces another level of complexity for I T and business users and could be considered a n impediment to acceptance.

Upload: hgopalan

Post on 09-Oct-2015

24 views

Category:

Documents


0 download

DESCRIPTION

Smart Partitioning

TRANSCRIPT

  • Using Oracle Partitioning for Maximum Performance Oracle E-Business Suite Micah Deriso and Alan Davidson Informatica and Avago Technologies

    The Business Issue Avago Technologies E-Business Suite R12 implementation was in need of sustainable performance and storage management to help with ever increasing data growth. The challenge was to find a methodology that would stabilize and improve application performance while maintaining high application up times and reducing the overall cost of storage. Avago had two main goals for the project, which were to improve application performance and insure high availability of mission critical and complex applications.

    Avago E-Business Infrastructure: Oracle E-Business Suite R12.1.3 Oracle Database 11gR1 (ASM file system and RAC enabled) Oracle Enterprise Linux v5.4 Cisco UCS blades (4 node mid tier 4 node database tier) EMC Celerra

    Performance Improvement Options Considered Hardware: We had already made an investment in the Cisco UCS blades from older server technology and our analysis concluded that further investment would only yield marginal results for the substantial investment required. Faster more expensive storage also only yielded marginal improvement. Both hardware based solutions proved to be non-sustainable. While improvement was gained initially, performance would eventually return to previous levels or get worse and more importantly, each hardware upgrade becomes more expensive across the board. We went searching for a more sustainable solution. Purge & Archive: After attending sessions at Oracle Collaborate and Open World we became interested in a Purge & Archive solution. We initially considered purging of data using the Oracle Purges it quickly became obvious that the business would not tolerate permanently deleting data. The additional human resources required maintaining a historical inventory of the purged data and the monthly purging required led us to investigate packaged solutions in the archive marketplace. We selected a tool and implemented it. Initially we had great success, removing the data from the production database dramatically improved performance. Life was good. After the first couple of years however, the true cost of archiving data became evident.

    Most traditional database archiving approaches rely on three fundamental requirements: data must be eligible to be archived (active vs. inactive), data must be deleted/moved out of the production database and in the case of archiving, data needs to be available for future access needs. The removal of data from the production database into an archive database is the common approach of these solutions that deliver the benefits of a smaller and more performance driven environment. It is the deletion process and the added maintenance of a separate repository that introduces another level of complexity for IT and business users and could be considered an impediment to acceptance.

  • Using Oracle Partitioning for Maximum Performance

    2

    As data volumes grow and application data models become more complex, the solutions based on database row deletes and moving aged data to a separate repository plateau in their ability to scale and support a 24/7 global database application. As mentioned above, issuing database deletes tax the production database server not only in CPU utilization, but also in excess storage writesone for the data file, a second for the archive log file, and a third for any backup or remote disaster recovery copy. When an application supports a global operation, there are limited off-peak windows to execute expensive delete commands.

    In order to realize performance improvements or storage reduction benefits, database indexes need to be rebuilt and tables need to be reorganized to reclaim unused blocks of storage. These processes potentially require taking the database offline, which is usually not an option in a 24/7 operation.

    Also, if the production database is patched during a routine maintenance process and changes the database table definition, the data model in the separate repository needs to remain synchronized if end-user access combines both production and archive data, introducing additional maintenance steps. For major releases such as Oracle E-Business Suite R12, customers will be dependent on the archive vendor to provide the necessary companion patches to ensure the correct changes were made to the archived data as the application is unaware that the data exists. This can add a significant risk to an already fragile patch and upgrade process and should be a major area of concern for current and future archive customers.

    For businesses that require native application access to the aged data, database archiving solution providers provide archive access through either a vendor specific ODBC/JDBC driver or via a database link to a separate archive database. These interfaces, while providing access to archive data, introduce issues associated with slower response times and potential security issues with database links. Additionally, there are additional management complexities introduced as a result of having a separate archive database and interface a separate patch process is required to keep both the production and archive database data models synchronized.

    With the looming upgrade to R12 approaching we made the decision to abandon our archiving implementation and went looking for a more permanent solution.

    Database Partitioning as THE solution: We once again attended sessions at Oracle Open World and Collaborate that espoused Database Partitioning as a method to optimize performance in the Oracle E-Business Suite and as alternative to purge and archive. In these sessions and in doing research on Metalink we soon discovered that partitioning our Oracle E-Business suite database was potentially the Holy Grail. What we discovered with partitioning:

    First, it is fully supported by Oracle:

    From Oracles own web site: If custom partitioning causes a particular E-Business Suite flow or transaction to fail and the failure is caused by standard Apps product code, it is considered a product defect, as Oracle Applications is committed to being transparent to custom partitioning. Oracle Development will issue patches or workarounds for all reported issues with standard Apps product code.

    The benefits to partitioning are:

    Divide disk I/O across disk drives, the more responsively SQL engines perform.

    Partitioning greatly enhances database performance, which can be monitored and adjusted in a variety of ways.

    Read/write activity can be load balanced among disk drives/disk arrays.

    Oracle cost-based optimizer recognizes partitions and can select information only from the correct partitions with the specific data being requested.

    The Oracle Parallel Server can divide work based on the number of partitions.

    Backups are easier, recovery is shorter.

    Oracle partitioning has many features that make the partitions easy to create, move, split, and so on.

  • Using Oracle Partitioning for Maximum Performance

    3

    Tuning is enhanced with the additional indexing features available.

    This all sounded too good to be true. Well almost, while the benefits are all there in implementing partitioning in the Oracle E-Business suite it became evident that analyzing the tables, deciding which ones needed partitioning, how to partition, managing all the tables and partitions manually would be a monumental task and would require a substantial investment in human engineering resources. Optimizing individual queries to take advantage of particular partitioning schemes was going to be a monumental task.

    Issues with manual database partitioning

    Each module requires careful analysis of the data model

    What column do you use for the partition key?

    After partitioning even a few tables, maintenance becomes problematic

    In depth knowledge of partitioning required to optimize performance

    Performance will get worse in some queries if not properly implemented

    Very difficult to administer across multiple modules of E-Business suite and hundreds of tables

    When we performed the analysis of implementing partitioning on E-Business we realized that it was not a project to take lightly and it had many side effects that caused us to abandon a traditional/manual partitioning project. Fortunately we explored Oracle solution providers in the market, which led us to implement a next generation strategy of Application Aware Partitioning. Automated Database Partitioning: We found a third party solution that utilized Oracles database partitioning at the 2010 Oracle Open World. The solution offers a unique alternative approach for managing data growth to the traditional approaches offered by database, application and third party database archiving vendors. The tool is a solution for managing application data growth while maintaining application availability and improving performance by leveraging an approach based on application-aware segmentation, which utilizes Oracle database partitioning at its core. The tool creates referentially intact segments of data that can be managed and accessed independently. As a result, organizations have greater control and latitude to optimize their environment without the need to surgically remove data from the production database row by row, or impacting how users access data from the native application. Additional maintenance steps are eliminated through automated management features.

    The tool provides administrators with the ability to capture application metadata, define application-aware data segmentation policies based on business logic, and manage the ongoing process in an automated fashion. Data segmentation policies are implemented through the use of the native database partitioning feature set. Because data is physically separated based on dimensions such as time and/or business unit, data can be deleted, archived, or taken offline without the need to issue a DELETE statement. The benefit of this approach is that there are no extra steps or data movement processes that can chew up valuable CPU cycles. Consider the amount of time and resources it takes issuing millions of DELETE statements and replace it by a single drop partition command. Legacy archive/purge processes that often taken months when issuing batches of DELETE statements now run in less than an hour, regardless of the data volume.

    Aged data can be isolated to a separate physical partition, yet continues to be part of the same logical table. This means that data residing in the aged segments can be marked read-only, can be compressed to reduce data footprints, and reside in the same production database simplifying maintenance processes. In addition, by aligning the physical separation of data by business logic without impacting data referential integrity, organizations are in a position to apply more aggressive tiered storage strategies. Compressing and storing inactive aged data to low cost storage managed by Oracle ASM is a simple automated process with a well-developed third party solution. At the same time, organizations can take advantage of Flash or Solid State Disk (SSD) drives to turbo charge access to the most recent data.

  • Using Oracle Partitioning for Maximum Performance

    4

    Performance Gaining sustainable performance for complex applications is a key focus area for Avago. A unique alternative that allows queries and processes to be optimized without having to delete data, re-write application code, or dramatically change the way end users use the system today was the solution we were seeking. The third party solution we found provides a performance optimization that gives US the ability to globally impact performance in a positive and sustainable way while retaining all of the data management benefits that are expected. If there is a need to optimize user or batch processes for the purpose of improving application performance or compliance the Performance Access Layer automatically controls what data is needed to resolve the query based on the profile of the user. This allows processes that only need a very small window of data (i.e. last 2 months of payroll data) to only see that data and other queries or processes to only see the data they need.

    From an operational perspective, when segments are marked read-only, backup processes do not need to continually back up the same data set over and over again. When copies are made for test and development purposes, only the partitions needed for those test cases need to be replicated. Should data need to be made writable again; a command can be issued without concern over data dictionary changes (which are the case when using a separate repository for managed data).

    New Alternatives Explored Once we realized that we had an alternative to our existing methodologies and could create a low maintenance, highly flexible, and performance focused E-Business environment we kicked off our project. The solution we implemented was from Informatica, pioneers in the performance and data management market. The Informatica solution, Smart Partitioning, was a great fit for us because it allowed us to keep all of our data, and at the same time improve performance compared to our current approach. We went live with the solution in June of 2011 and had several critical jobs improve significantly (30 minutes down to 7 minutes) and were able to move from 11i to R12 on our own with no issues or problems. In addition, the ongoing management was automated minimizing impact on DBA resources and at the same time allowing us to compress older data, move data between storage tiers, create small sub-set clones, and eventually drop the data after a period of time.

    Results

  • Using Oracle Partitioning for Maximum Performance

    5

    Conclusion

    Partitioning of your Oracle database for performance optimization is the ONLY Oracle approved methodology that

    provides consistent, sustainable positive results. It is fully supported by Oracle and has recently enjoyed a

    tremendous adoption in the marketplace by dozens of large corporations. Oracle will continue to enhance the

    functionality of database partitioning in new and creative ways that will enable customers to maximize the

    utilization of Oracle databases.

    Having a solution that is based on native database partitioning features, that is automated and certified by Oracle,

    and that minimizes maintenance or support requirements, is preferred. An automated method of database

    partitioning like Informatica Smart Partitioning is a viable and proven solution for customers with a need to control

    data growth and high performance operations to get the best of both worlds when it comes to deploying a data

    growth management solution: controlling costs while maintaining and improving application performance.