Home / Educational Content / Database & Technology / Developer Tools / Server-Side Development for the Cloud

Server-Side Development for the Cloud

The only group of Oracle specialists that continues to stay outside of the cloud hype are server-side developers. Everybody else (from CFOs to DBAs) are frantically trying to figure out what is happening and how to survive in the rapidly changing environment. Nevertheless, developers still hope that either their DBAs are good enough or their CFOs are charitable enough to make the system work. They are wrong – both in the technical and in the political/corporate sense!

Politically, developers are missing tectonic shifts: (1) hardware resources are no longer static and (2) expense model is “pay-per-use”. Previously, as long as your current servers were surviving the workload, no one cared whether they were 50% or 70% utilized. Now, this difference can be immediately converted to real money because the resource elasticity means that you can give it back. As a result, the total quality of the code base (+performance tuning efforts) has a direct impact on cost. This presentation will share some of the corresponding best practices:

Code instrumentation – to solve any performance problem you first need to detect it! You can place markers yourself or by using DBMS_APPLICATION_INFO, but this task must be done.
Profiling – even if you can detect a performance problem, you need to find its exact location.  The Hierarchical Profiler is your best friend in that search.
Code management – proper versioning helps to ensure that new fixes don’t introduce new problems. Edition-based redefinition (EBR) could streamline such efforts. 

Technically, the shift is a bit more subtle. For years, the whole industry “knew” that for any large system the most limited resource was I/O bandwidth. In reality, that was mostly due to the fact that CPU resources were over-allocated (Black Friday!). In the cloud, you cannot afford such over-allocation all the time. Don't forget that the introduction of solid-state drives decreased storage latency. Together, these two factors caused cloud-based systems to suddenly become CPU-bound! Fortunately, you can do a lot with your code to make it less expensive:

Avoid context switches between SQL and PL/SQL - using PRAGMA UDF or WITH-clause can help a lot. 
Don’t reinvent the wheel – There are some very powerful SQL features (for example: analytical functions, PIVOT/UNPIVOT) that are often ignored by the majority of developers.
Don’t do things multiple times - various caching techniques can help reuse what’s already known.
Collections in-memory processing are still the fastest way of calculating anything. Wide usage of SET operations decreases the number of context switches as well.

Overall, it is possible to make your system cloud-friendly, but doing so takes explicit efforts and serious thinking. This presentation will help you by utilizing real-world examples based on years of experience.

Read the full whitepaper

Premium Content: access is limited to Quest Corporate and Professional members.

Membership has its perks. Get unlimited access to the latest Oracle updates, event session replays, strategic content centers and special members-only programming, plus big discounts on conference registration, with a Quest Corporate or Professional membership. Quest is where you learn.