A Practitioner's Guide to upgrading to Sybase ASE 15 is a concise book, only one hundred and fifty pages altogether. It is published by Service Oriented Architecture and written by veteran Sybase expert Mich Talebzadeh. This book is intended to be is not a voluminous book about Sybase ASE but a more of a guide to the upgrade process, rather than a guide to the database. ASE was formerly known as Sybase SQL Server. Click here to download Chapter One.
We asked Mich few questions about his book and how the book fits in within the Linux world.
Why did you write this book and what is your experience with the topic?
I decided to write this booklet after going through upgrading two major trading systems to Sybase Adaptive Server Enterprize (ASE) 15. One of these systems was Equities and the other one was a Fixed Income application. I thought that there was a need to write such a booklet that focused on the practical aspects of upgrading to ASE 15, as opposed to the widely available literature published by Sybase Inc. As far as I know there is no other book that covers ASE 15 upgrade. This book is focused on the upgrade alone because I wanted to avoid the typical trench stories and provide something different. Having said that, what it provides is in line with the tried and tested steps on how to upgrade typically complex trading systems.
Who is the audience for this book?
The target audience of this book is the Sybase upgrade team. This is the team that has one-hundred percent responsibilities for the successful upgrade and future performance of ASE 15. This team includes the upgrade project manager, infrastructure manager, the developers, testers, UNIX administrators, and the database administration (DBA) staff. This is contrary to the popular belief that the DBA is responsible for every aspect of ASE 15 upgrade and has complete responsibility over it. In short, this ASE 15 upgrade is not just the responsibility of DBA but rather a team effort.
It would be interesting to know why ASE15 upgrade is so different from other ASE upgrades. Is this not just another upgrade?
This is a valid point. Let us backtrack and examine what distinguishes ASE 15 from the other previous releases of ASE. Most of us work in environments with applications that often operate under Extreme Transaction Processing, mixed Online Transaction Processing, and Decision Support System loads. These mixed loads are usually referred to as Operational Decision Support Systems these days. These applications typically have to provide a very quick response. Although we are required to answer very fast, we have to perform complex SQL statements on our databases that can be dozens of Gigabytes in size. For a long time, ASE employed limited optimizer join methods. However, starting with ASE 15, Sybase decided to rewrite the optimizer of ASE from scratch, introducing novel concepts such as N-ary nested loop join (NLJ) involving three or more tables with a close query graph, and based the new Optimizer on the Volcano model with the new execution engine called Lava Execution Engine.
What all these mean to us the practitioners is that ASE 15 uses more sophisticated query-processing techniques compared to the previous versions, both in terms of the set of relational operators and algorithms implementing them. As a consequence, it is fair to say that the task of the optimizer has become harder. Understanding ASE 15's new optimizer behavior is thus important in upgrade processes, however, that is not the end to itself. In the words of a good colleague of mine, upgrading ASE 15 is not as simple as loading the database from an earlier version, bringing it online and walking away, indeed there are more steps. As one can see in this book there are other factors that can make the upgrade a success or failure.
Under the chapter "Why Upgrade to ASE 15" you have given equal importance to both the Technical and Business Considerations. Can you elaborate?
Well as I said this book is for both technologists and business managers. Under technical considerations it covers the operational advantages of deploying ASE 15. From the management perspective it is equally important to consider the cost/benefit of migrating to ASE 15 and the return in investment and manpower.
How popular is Sybase on Linux? Does your book use Sybase on Linux for scripting results etc?
I believe Linux is the fastest growing operating system for Sybase. Many organizations are contemplating migrating their ASE from another operating system to Linux. Since ASE 15 is a major upgrade, some organizations are building their new data servers on Linux and hoping to move their operating system and Sybase version at the same time. Under "upgrade methodologies" I cover this aspect of work as well. All the traditional qualities that have made Linux such a popular operating system platform for many databases apply to Sybase as well.
Under chapter "The all important ASE 15 optimizer" you discuss various Optimizer joins in ASE. Why is this so important to the readers?
Prior versions of ASE targeted mainly online transaction processing applications and deployed nested loop joins and merge joins. As time went by, systems had to adapt to handle both OLTP and DSS. As a result, ASE 15 introduced the hash join algorithm. Hash join was introduced in ASE to deal with the requirements of Operational Data Support Systems. Since some of these concepts are new in ASE 15, the technologists need to have a firmer understanding of these utilities.
In the chapter "Testing SQL code in ASE 15", you have made many recommendations and go into detailed plan of test cycles. Can you elaborate on these?
There will be many occasions where the code will behave OK. In general, as a ball park figure, you should expect 20-40% improvement in code running in ASE 15 compared to ASE 12.5. As a result one would expect three different scenarios, namely:
- ASE 15 code run faster than ASE 12.5
- ASE 15 code runs more and less the same as ASE 12.5
- ASE 15 code runs considerably slower than ASE 12.5
I guess the technologists will need to be more concerned with points 2 and 3, however, every test needs to be prepared and done systematically. Complex queries or procedures should be narrowed down to the section of the code that takes longest, which may involve some work by developers to get the data ready. Any statement of the code that does DML; for example, UPDATE through complex joins, should be run first as SELECT through the same joins to see if the joins are the bottlenecks etc.
How challenging was to write this book and how much effort did you put on it
This book, as the title implies, is purely experimental based on my own experience as a consultant who was involved in all stages of the upgrade cycle for two major projects. It was challenging in that, every assumption that we made had to be put to test and we had to go through many cycles of corrections and iterations to make the code work in a timely manner. Additionally getting the commitments from resources at various part of the project proved to be difficult. However, I decided to put all these experiences in the book for others to capitalize.
This Q&A is based on Mich Talebzadeh "A Practitioner's Guide to upgrading to Sybase ASE 15," ISBN 0956369308, published Oct. 2009 by Service Oriented Architecture, Copyright 2010 Mich Talebzadeh.