ECI2 Case Study
Total Page:16
File Type:pdf, Size:1020Kb
ECI2 Europe invokes DB2 performance- tuning techniques; customer satisfaction ratings go off the charts Moving its Easy Order and Easy Catalog offerings to SQL was only the fi rst step; embracing the SQL query engine improves throughput by 30-40 percent. The most recent implementation ments in the RPG code that was gener- Overview of IBM® DB2® for i5/OS®, with its ated in the IBM Integrated Language advanced SQL interface, is far superior Environment® (ILE) to support new Solution-provider profile ECI2 Europe to earlier offerings that, for many years, search capabilities and more precise Subsidiary of ECI2 depended on a native I/O interface into results. However, embedding SQL in Headquarters: Hoofddorp, the database. No IBM Business Partner native I/O code to achieve new function The Netherlands understands this evolution better than has a tradeoff; it slows the search itself. 10-year provider of industry- ECI2 Europe, a Dutch-based solution leading Internet order-manage- Because of the slow search results, ment systems provider, and one of Europe’s largest in 2005, when ECI2 Europe was plan- Technology integration with 10+ suppliers of e-commerce applications. business partners (SAP, Ariba, ning a new e-commerce offering, Easy Oracle, I2, PeopleSoft, others) “Writing SQL statements to yield high- Catalog, Klaasse says they decided to 500+ suppliers and 2.5 million+ users throughout Europe performing characteristics is not only an build the catalog-management system ASP model supports 225 000+ art, it is an evolving target. Getting help on the SQL database model, instead orders per week from IBM Rochester was critical to our of native file I/O (see Figure 1). ECI2 Challenge developers who needed to build strong Europe committed to build a highly Modernize database access methods Extensive use of native I/O skills in writing efficient SQL code,” normalized database to focus on query 6 million+ lines of RPG code says Eric Klaasse, technical director flexibility. This entailed the construc- Slow, inefficient queries for ECI2 Europe. He has been intimately tion of a new development template Scalability issues involved in the 10-year evolution of the that supported common error-trapping Solution Internet offerings that support the parent and simple version-management pro- Move to SQL data access model Gain SQL tuning and query opti- company’s (kærtSoftware bv) widely cesses. However, despite the devel- mization skills popular, RPG-based ERP solutions. opers’ best efforts, the SQL-modeled Code to support the use of SQE query searches were slower than ideal. Solution-provider benefits Constant challenge to improve Standardized componentry IBM Netherlands support person- DB2 performance reduces development costs and nel offered guidance to ECI2 Europe streamlines delivery The SQL evolution began in 2004, when developers, showing them how to Support for most European lan- 2 the ECI Europe e-commerce solution, guages and currencies rewrite the SQL and indexing methods Fast, stable, scalable software Easy Order FrontOffice, needed to be to improve performance. However, Support for portals more versatile to meet the aggressive the next release of the System i oper- Easy maintenance (ASP model) demands placed on the database by ating system, though bringing DB2 Customer benefits sophisticated Internet users. Like many and SQL improvements, also slowed Strong connection between sup- solution providers that have long been plier and clients query throughput. That is when Patrick Significant UI improvements loyal to the famous reliability of the IBM Palmans, on the IBM Netherlands Many applications in one window System i™ platform and its integrated technical support team, suggested Connect many business processes 2 database system, ECI Europe originally 2 Web enablement that ECI Europe send its developers Very fast performance implemented its database applications to Sorrento to tap the knowledge of the 2 Low-impact, low-cost start-up by using native file I/O. Therefore, ECI DB2 experts from IBM Rochester, who through ASP model Europe decided to embed SQL state- regularly taught DB2 courses there. built way too many temporary SQE or CQE indexes… a problem that exagger- ated its own inefficiency because The original DB2 for i5/OS query engine the system duplicated these tempo- is referred to as the classic query engine rary indexes to a mirrored system. (CQE). The new engine fi rst arrived in Designing an adequate indexing IBM OS/400® V5R2 and is referred to strategy brought the performance as the SQL query engine (SQE). Both and I/O issues back under control. engines sit side by side in the operat- DB2 workshop teaches ing system. The long-term goal is to best practices use SQE for all SQL requests. However, to minimize risk and deliver the benefi ts of SQE to the market sooner, IBM staged the delivery of SQE over several releases. Thus, CQE is still Klaasse and his team maintained a relationship with the IBM Rochester needed to support DB2 and SQL features that are not yet supported by SQE. For purposes support team, whom they had met at of simplicity, the fact that there are two engines is transparent to the SQL developer. SQL the Sorrento Forum. So, not surpris- requests are passed along to a single internal interface called the query dispatcher. With no ingly, the Rochester folks eventually special user programming, the query dispatcher’s job is to determine if the new SQE can process recommended that ECI2 Europe the SQL request. If not, then the original CQE processes the request. attend the highly popular DB2 for i5/OS SQL Performance Workshop i5/OS V5R4 brings The Sorrento kicks in that is taught at the IBM Product stronger SQL support Rewriting the main portion of the and Solutions Support Center in In 2006, IBM announced i5/OS Easy Catalog code, which is based Montpelier, France. V5R4, which offered significantly on the SQL data model, causes the improved DB2 functions: better application to more effectively use Note: This course is also taught in indexing, new graphical perfor- strategies that benefit from the SQE Rochester, Minnesota, and other mance tooling and, most impor- — thus improving performance. countries. Visit: ibm.com/servers/ tantly, a much improved SQL query eserver/iseries/service/igs/db2per- However, when much of the Easy engine (SQE). (The SQE is very formance.html. Order code was similarly rewritten in advanced; IBM holds five patents on an attempt to improve performance, The DB2 for i5/OS experts from various components of its design.) application throughput actually IBM Rochester, who teach this Note: See the side panel (top of this degraded to unacceptable levels. course, helped the ECI2 Europe page) for an explanation of the SQE. To make matters worse, disk I/O programmers gain an even better doubled. understanding of the best-practices As mentioned, the IBM Netherlands coding techniques that affect query 2 support team encouraged ECI Klaasse explains that, when faced optimization and performance. In Europe to attend the IBM Forum in with these unexpected results, his essence, they learned that, when Sorrento, Italy, to see the new DB2 team briefly struggled with what issuing an SQL statement, you are enhancements in i5/OS V5R4. might be the problem, then the telling the DBMS what to do, not “Sorrento kicked in.” The excellent In particular, the ECI2 team needed how to do it — the SQL Optimizer training they had received at the IBM to understand how the SQE reacts decides how. The developers Forum helped them to recognize to specific SQL statements. For needed to understand what the that the code, which was originally example, there is extra intelligence in query is asking, and equally impor- based on the native I/O model, suf- the SQE query optimizer to improve tant, what a particular SQL query fered from the lack of an overarching performance by creating automatic optimizer can do. indexing strategy. Thus, the system indexes that sup- port the needs of frequently used “Our decision to modernize by using SQL has allowed us to deliver robust queries. The SQE fl exibility and excellent performance. Our developers have less support and optimizer can also invoke the use of maintenance issues, too. But, the most important benefi t is the spectacular indexes that partially speed of development, which makes us not only more competitive, but also match recently-built quite cost-effective in delivering new functions.” temporary indexes, instead of recreating – Eric Klaasse, Technical Director, ECI2 Europe them from scratch. Catalog, one ECI2 Europe customer switched to i5/OS V5R4 and ben- efited from an immediate boost in performance of 30 to 40 percent. Embracing strategic technology Rian Faay, director of sales and marketing for ECI2 Europe, explains that the company has always been committed to adopting the latest technologies on the System i plat- form. This has included the move away from the native I/O method to the SQL data-access model, which is the strategic IBM mechanism for interacting with data that resides in Figure 1. Easy Catalog rapidly presents product trees. DB2 for i5/OS tables. 2 Using optimization- analysis without the overhead of ECI Europe has also adopted other feedback tools running a database monitor. technologies, the most popular being its implementation of an appli- After the DB2 performance work- The SQE automatically gathers cation-service provider (ASP) model shop, the ECI2 Europe team was column statistics and stores them to deliver solutions to its clients. The armed with a new, highly targeted with the table (to provide a minimal ASP model lets ECI2 Europe always SQL-tuning perspective. The reality source of information about the deliver its latest software version is that indexes are extremely impor- data when no indexes exist. — each time the user signs on from tant in SQL-based applications; but, a browser.