Database change deployments: Performance matters

693 views
631 views

Published on

Rapidly deploying oracle database code in 24/7 environments

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
693
On SlideShare
0
From Embeds
0
Number of Embeds
179
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Database change deployments: Performance matters

  1. 1. Deploying Database Changes: Performance Matters<br />Rapidly deploying database code in 24/7 environments<br />Vlado Barun<br />Ed Putkonen<br />Hotsos Symposium 3/2010<br />
  2. 2. Disclaimer<br />This presentation IS NOT about<br />Oracle RDBMS internals<br />Cool new features (i.e. edition based redefinition)<br />This presentation IS about<br />Response Time<br />Change Management Process – ultra-light<br />Live SQL*Plus demos<br />In production<br />Proven approach to reduce deployment issues in dev/qa/stage/production<br />
  3. 3. Who we are<br />Vlado Barun, M.Sc.<br />14 years in the Database Arena (Oracle - 9 years)<br />DBA, Database Developer, Database Architect, DBA Manager, Data Modeler, Consultant, …<br />OCP, OCE SQL, MCP<br />Ed Putkonen<br />20 Years of Relational DB Experience<br />Developer, Designer, DBA<br />
  4. 4. Jewelry Television (jtv.com) facts<br />Established 1993<br />1000+ Employees, HQ in Knoxville, TN<br />Largest retailer of loose Gemstones<br />Broadcast to 70+ million households<br />#4 online Jewelry, #139 online Retail<br />
  5. 5. JTV environment<br />Retail operations are 24x7x365<br />No regularly scheduled maintenance windows<br />In-house developed applications<br />Agile SDLC – Scrum<br />
  6. 6. Typical Deployment Scenario<br />Add new and/or change existing objects (tables, triggers, packages, etc.) <br />Driven by an effort to implement a new application feature, bug fix, tuning, etc.<br />Deployment execution time is a small percentage of overall effort<br />Analysis/Design/Dev/QA – days/weeks<br />Deployment duration – seconds/minutes<br />
  7. 7. Common challenges - symptoms<br />Time pressure<br />Project is already behind schedule<br />Rapid pace of production deployments <br />Uncertainty <br />Changes are made up to the last minute<br />Which change to deploy, which version?<br />Outage Risk<br />70% of outages due to human errors*<br />Downtime costs are substantial<br /> * Source: “Database Administration: The Complete Guide to Practices and Procedures” by Craig Mullins, pg 238<br />
  8. 8. Time-to-Market vs Availability<br />Frequent deployments result in<br />Faster time-to-market => increased business value<br />Higher probability of mistakes => lower system availability<br />Common responses to availability issue<br />Enforce bureaucratic process => reduced frequency of deployments<br />Just complain about it, but make no real changes<br />
  9. 9. Deployment Response Time Profile<br />Event Duration <br />------------------------ -----------------------<br />Waiting for Information hours/days 95.77%<br />Preparation minutes/hours 4.16%<br />Execution seconds/minutes 0.07%<br /><ul><li>Waiting for Information
  10. 10. What, how, when, …
  11. 11. Preparation
  12. 12. Prepare a deployment script, login, …
  13. 13. Execution</li></li></ul><li>Addressing the challenges<br />Lightweight change management process<br />Goal to help/assist/streamline deployment<br />Minimize need for manual intervention during deployments<br />Reduce probability of mistakes<br />Faster deployment executions (no think time)<br />Assign qualified personnel to deployments<br />
  14. 14. Change Management – ultra light<br />At a minimum CM has to unambiguously define:<br />What<br />which script(s) need to be deployed<br />which version(s)<br />How<br />which sequence<br />chain of communication<br />When<br />date/time<br />approvals?<br />
  15. 15. JTV deployment process/toolset<br />Bugzilla for issue tracking<br />Remedy for approvals<br />Tickets transformed into SQL*Plus scripts<br />Tools for generating scripts include templates, Powerdesigner, TOAD, SQL Developer, OEM<br />Scripts in version control using subversion<br />Approved tickets deployed via SQL*Plus<br />
  16. 16. Demo 1<br />Execute a deployment<br />
  17. 17. Deployment Script elements<br />Subversion Folder <br />Templates<br />Logging<br />Rollback<br />
  18. 18. Closer look at templates<br />Main<br />Login<br />Connect<br />DDL<br />Find Invalid Objects<br />Recompile Invalid Objects<br />
  19. 19. Demo 2<br />Build a deployment from scratch<br />
  20. 20. How to get started<br />Before each deployment, ensure* that you have answers to all the questions <br />use existing collaboration tools, if available<br />Minimize manual deployments<br />script your deployments<br />utilize script templates<br />reuse scripts to deploy to dev, qa, prod<br />Version control your scripts<br />Log everything** and publish the logs<br />
  21. 21. Change Management – ultra light<br />At a minimum CM has to unambiguously define:<br />What<br />which script(s) need to be deployed<br />which version(s)<br />How<br />which sequence<br />Chain of communication<br />When<br />Date/time<br />Approvals?<br />
  22. 22. How to get started<br />Before each deployment, ensure* that you have answers to all the questions <br />use existing collaboration tools, if available<br />Minimize manual deployments<br />script your deployments<br />utilize templates<br />reuse scripts to deploy to dev, qa, prod<br />Version control your scripts<br />Log everything** and publish the logs<br />
  23. 23. Deployment Response Time Profile<br />Event Duration <br />------------------------ -----------------------<br />Waiting for Information hours/days 95.77%<br />Preparation minutes/hours 4.16%<br />Execution seconds/minutes 0.07%<br />Change Management<br />Templates<br />Standard Tuning Approach +dbms_pipe/dbms_alert<br />
  24. 24. Summary<br />Lightweight Change Management<br />Facilitate rapid & reliable deployments<br />Three questions<br />Works regardless of deployment complexity<br />Independent of Development methodology<br />Complete logging and transparency<br />
  25. 25. ?<br />Vlado Barun – vbarun@computer.org<br />Ed Putkonen – ed.putkonen@jtv.com<br />

×