{"id":5826,"date":"2016-03-09T18:57:16","date_gmt":"2016-03-09T08:57:16","guid":{"rendered":"http:\/\/nsrd.info\/blog\/?p=5826"},"modified":"2018-12-11T10:57:51","modified_gmt":"2018-12-11T00:57:51","slug":"who-should-handle-your-database-backups","status":"publish","type":"post","link":"https:\/\/nsrd.info\/blog\/2016\/03\/09\/who-should-handle-your-database-backups\/","title":{"rendered":"Who should handle your database backups?"},"content":{"rendered":"<p>I&#8217;ve been working with backups for 20 years, and&nbsp;if there&#8217;s been one constant in 20 years I&#8217;d say that application owners (i.e., DBAs) have traditionally been reluctant to have other people (i.e., backup&nbsp;administrators) in control of the backup process for their&nbsp;databases. This leads to some environments where the DBAs maintain control of&nbsp;their backups, and others where the backup administrators maintain control of the database backups.<\/p>\n<p><a href=\"https:\/\/nsrd.info\/blog\/2016\/03\/09\/who-should-handle-your-database-backups\/junction-road-sign-separation-two-paths-two-ways-vector-illustration\/\" rel=\"attachment wp-att-5827\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5827\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/bigStock-Junction.jpg\" alt=\"Junction\" width=\"648\" height=\"871\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/bigStock-Junction.jpg 648w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/bigStock-Junction-223x300.jpg 223w\" sizes=\"auto, (max-width: 648px) 100vw, 648px\" \/><\/a><\/p>\n<p>So the question that many people end up asking is: which way is the right way?&nbsp;The answer, in reality is a little fuzzy, or,&nbsp;<em>it depends<\/em>.<\/p>\n<p>When we were primarily backing up to tape, there was a strong argument for backup administrators to be in control of&nbsp;the process. Tape drives were a rare commodity needing to be used by a plethora of systems in a backup environment, and with big demands placed on them. The sensible approach was to fold&nbsp;all database backups into a common backup scheduling system&nbsp;so resources could be apportioned efficiently and fairly.<\/p>\n<figure id=\"attachment_5828\" aria-describedby=\"caption-attachment-5828\" style=\"width: 863px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nsrd.info\/blog\/2016\/03\/09\/who-should-handle-your-database-backups\/db-backups-with-tape\/\" rel=\"attachment wp-att-5828\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5828 size-full\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/DB-Backups-with-Tape.jpg\" alt=\"DB Backups with Tape\" width=\"863\" height=\"577\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/DB-Backups-with-Tape.jpg 863w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/DB-Backups-with-Tape-300x201.jpg 300w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/DB-Backups-with-Tape-768x513.jpg 768w\" sizes=\"auto, (max-width: 863px) 100vw, 863px\" \/><\/a><figcaption id=\"caption-attachment-5828\" class=\"wp-caption-text\">Traditional backups to tape via a backup server<\/figcaption><\/figure>\n<p>With limited tape resources and a variety of systems to protect, backup administrators needed to exert reasonably strong controls over what backed up when, and so in a number of organisations it was common to have database backups controlled within the backup product (e.g., NetWorker), with scheduling negotiated between the backup and database administrators. Where such processes have been established, they often continue \u2013 backups are, of course, a reasonably habitual process (and for good cause).<\/p>\n<p>For some businesses&nbsp;though, DBAs&nbsp;might feel there was not enough control over the backup process \u2013 which might be agreed with based on the mission criticality of the&nbsp;applications running on top of the database, or because of the perceived licensing costs associated with using a plugin&nbsp;or module from the backup product to backup the database. So in these situations if a tape library&nbsp;or drives weren&#8217;t allocated directly to the database, the &#8220;dump and sweep&#8221; approach became quite common, viz.:<\/p>\n<figure id=\"attachment_5830\" aria-describedby=\"caption-attachment-5830\" style=\"width: 695px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nsrd.info\/blog\/2016\/03\/09\/who-should-handle-your-database-backups\/dump-and-sweep\/\" rel=\"attachment wp-att-5830\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-5830\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/Dump-and-Sweep-1024x553.jpg\" alt=\"Dump and Sweep\" width=\"695\" height=\"375\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/Dump-and-Sweep-1024x553.jpg 1024w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/Dump-and-Sweep-300x162.jpg 300w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/Dump-and-Sweep-768x415.jpg 768w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/Dump-and-Sweep.jpg 1083w\" sizes=\"auto, (max-width: 695px) 100vw, 695px\" \/><\/a><figcaption id=\"caption-attachment-5830\" class=\"wp-caption-text\">Dump and Sweep<\/figcaption><\/figure>\n<p>One of the most pervasive results of the &#8220;dump and sweep&#8221; methodology however is the&nbsp;amount of primary storage it uses. Due to it being&nbsp;much faster than tape, database administrators would often get significantly larger areas of storage \u2013 particularly as storage became cheaper \u2013 to conduct their dumps to. Instead of one or two days, it became increasingly common to have anywhere from 3-5 days of database dumps sitting on primary storage being swept up nightly by a filesystem backup agent.<\/p>\n<p>Dump and sweep of course poses problems:&nbsp;in addition to needing large amounts of primary storage,&nbsp;the first backup for the database is <em>on-platform<\/em> \u2013 there&#8217;s no physical separation. That means the timing of getting the&nbsp;database backup completed&nbsp;<em>before<\/em> the&nbsp;filesystem sweep starts is critical. However, the timing for the dump is controlled by the DBA and dependent on the database load&nbsp;<em>and<\/em> the size of the database, whereas the timing of the&nbsp;filesystem backup is controlled by&nbsp;the backup administrator. This would see many environments spring up where over time the database grew to a size it wouldn&#8217;t get an&nbsp;<em>off-platform<\/em> backup for 24 hours \u2013 until the next filesystem backup happened. (E.g., a&nbsp;dump originally taking an hour to complete would be&nbsp;started at 19:00. The backup administrators would start the filesystem backup at 20:30, but over time the database backups would grow and wouldn&#8217;t complete until say, 21:00.&nbsp;Net result could be a partial or failed backup of the dump files the first night, with the&nbsp;<em>second<\/em> night being the first successful backup of the dump.)<\/p>\n<p>Over time backup to disk entered popularity to overcome the&nbsp;overnight operational challenges of tape, then grew, and eventually the market has expanded to include deduplication storage, purpose built backup&nbsp;appliances and even when I&#8217;d normally consider to be integrated data protection appliances \u2013 ones where the intelligence (e.g., deduplication functionality) is extended out from the appliance to the individual systems being protected. That&#8217;s what we get, for instance, with Data Domain: the Boost functionality embedded in APIs on&nbsp;the client systems leveraging distributed segment processing to have everything being backed up participate in its own deduplication. The net result is one that scales better than the traditional 3-tier &#8220;client\/server\/{media server|storage node}&#8221; environment, because we&#8217;re scaling where it matters:&nbsp;<em>out<\/em> at the hosts being protected and&nbsp;<em>up<\/em> at protection storage, rather than adding a series of servers in the middle to manage bottlenecks.&nbsp;(<a href=\"https:\/\/nsrd.info\/blog\/2014\/08\/25\/architectural-implications-of-in-flight-data-domain-boost-encryption\/\" target=\"_blank\">I.e., we remove the bottlenecks.<\/a>)<\/p>\n<p>Even as large&nbsp;percentages of businesses switched to&nbsp;deduplicated storage \u2013 Data Domains mostly from a NetWorker perspective \u2013 and had the capability of leveraging distributed deduplication processes to speed up the backups,&nbsp;that legacy &#8220;dump and sweep&#8221; approach, if it had been&nbsp;in the business, often remained in the business.<\/p>\n<p>We&#8217;re far enough into this now that I can revisit&nbsp;the two key schools of thought within data protection:<\/p>\n<ul>\n<li>Backup administrators should schedule and control backups&nbsp;regardless of the application being backed up<\/li>\n<li>Subject Matter Experts (SMEs) should have&nbsp;some control over their application backup process&nbsp;because they&nbsp;usually&nbsp;deeply understand how&nbsp;the business functions leveraging the application work<\/li>\n<\/ul>\n<p>I&#8217;d suggest that the smaller the business, the more correct the first option is \u2013 or rather, when an environment is such that DBAs are contracted or&nbsp;outsourced in particular, having the&nbsp;backup administrator in charge of the backup process is probably more important to the business. But that creates a requirement for the backup administrator to know the ins and outs of backing up and recovering the application\/database almost as deeply as a DBA themselves.<\/p>\n<p>As businesses grow in size and as the number of mission critical systems sitting on top of databases\/applications grow, there&#8217;s&nbsp;equally a strong&nbsp;opinion the second argument is correct: the SMEs need to be intimately involved in the backup&nbsp;and recovery process. Perhaps even more so, in a larger backup environment, you&nbsp;don&#8217;t want your backup administrators to actually be bottlenecks in a disaster situation (and they&#8217;d usually agree to this as well \u2013 it&#8217;s too stressful).<\/p>\n<p>With&nbsp;centralised disk based protection storage \u2013 particularly&nbsp;deduplicating protection storage \u2013 we can&nbsp;actually get the best of both worlds now though. The backup administrators can be in control of the&nbsp;<em>protection storage<\/em> and set broad guidance on data protection at an architectural&nbsp;and policy level for much of the environment, but the DBAs can leverage that same protection storage and fold&nbsp;their backups into the overall&nbsp;requirements of their application. (This might be to&nbsp;even leverage third party job control systems to only trigger backups once batch jobs or data warehousing tasks have completed.)<\/p>\n<figure id=\"attachment_5832\" aria-describedby=\"caption-attachment-5832\" style=\"width: 464px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nsrd.info\/blog\/2016\/03\/09\/who-should-handle-your-database-backups\/with-data-domain-and-backup-server\/\" rel=\"attachment wp-att-5832\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5832\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/With-Data-Domain-and-Backup-Server.jpg\" alt=\"Backup Process With Data Domain and Backup Server\" width=\"464\" height=\"616\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/With-Data-Domain-and-Backup-Server.jpg 464w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/With-Data-Domain-and-Backup-Server-226x300.jpg 226w\" sizes=\"auto, (max-width: 464px) 100vw, 464px\" \/><\/a><figcaption id=\"caption-attachment-5832\" class=\"wp-caption-text\">Backup Process With Data Domain and Backup Server<\/figcaption><\/figure>\n<p>That particular flow is great for businesses that have maintained centralised control over the backup process of databases and applications, but what about those where&nbsp;dump and sweep has been the design principle, and there&#8217;s a desire to keep a&nbsp;strong form of independence on the backup process, or where&nbsp;the overriding business goal is to&nbsp;<em>absolutely limit<\/em> the number of systems database administrators need to learn so they can focus on their job? They&#8217;re definitely legitimate approaches \u2013&nbsp;particularly so in larger&nbsp;environments with more mission critical systems.<\/p>\n<p>That&#8217;s why there&#8217;s the Data Domain Boost plugins for&nbsp;Applications and Databases \u2013 covering SAP, DB2,&nbsp;Oracle, SQL Server, etc. That gives a slightly different&nbsp;architecture, viz.:<\/p>\n<figure id=\"attachment_5833\" aria-describedby=\"caption-attachment-5833\" style=\"width: 593px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nsrd.info\/blog\/2016\/03\/09\/who-should-handle-your-database-backups\/db-backups-with-boost-agent\/\" rel=\"attachment wp-att-5833\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5833\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/DB-Backups-with-Boost-Agent.jpg\" alt=\"DB Backups with Boost Plugin\" width=\"593\" height=\"616\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/DB-Backups-with-Boost-Agent.jpg 593w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/DB-Backups-with-Boost-Agent-289x300.jpg 289w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/DB-Backups-with-Boost-Agent-24x24.jpg 24w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/03\/DB-Backups-with-Boost-Agent-36x36.jpg 36w\" sizes=\"auto, (max-width: 593px) 100vw, 593px\" \/><\/a><figcaption id=\"caption-attachment-5833\" class=\"wp-caption-text\">DB Backups with Boost Plugin<\/figcaption><\/figure>\n<p>In that model, the backup server (e.g., NetWorker) still controls and coordinates the majority of the backups in the environment, but the Boost Plugin for Databases\/Applications is used on the database servers instead to&nbsp;allow complete integration&nbsp;between the DBA tools&nbsp;and&nbsp;the backup process.<\/p>\n<p>So returning to the initial question \u2013 which way is right?<\/p>\n<p>Well, that comes down to the real question:&nbsp;<em>which way is right for&nbsp;<strong>your<\/strong> business?<\/em> Pull any emotion or personal preferences out of the question and look at the real architectural requirements of the business,&nbsp;particularly relating to mission critical applications. Which way is the right way? Only your&nbsp;business can decide.<\/p>\n<p>Here&#8217;s a thought I&#8217;ll leave you with though: there&#8217;s two critical components to being able to make the choice completely&nbsp;based on business requirements:<\/p>\n<ul>\n<li>You need centralised protection storage where there aren&#8217;t the traditional (tape-inherited) limitations on concurrent device access<\/li>\n<li>You need a data protection&nbsp;<em>framework<\/em> approach rather than a data protection&nbsp;<em>monolith<\/em> approach<\/li>\n<\/ul>\n<p>The former allows you to make decisions without being impeded by arbitrary practical\/physical limitations (e.g., &#8220;I can&#8217;t read from a tape and write to it at the same time&#8221;), and more importantly, the latter lets you build an adaptive&nbsp;data protection strategy using best of breed&nbsp;components at the different layers rather&nbsp;than squeezing everything into one box and making compromises at every step of the way. (NetWorker, as I&#8217;ve mentioned before, is a framework based backup product \u2013 but I&#8217;m talking more broadly here: framework based <em>data protection<\/em>&nbsp;<em>environments<\/em>.)<\/p>\n<p>Happy choosing!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been working with backups for 20 years, and&nbsp;if there&#8217;s been one constant in 20 years I&#8217;d say that application&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3,5,1133,1181,19],"tags":[175,275,286,1296,301,1297,394,599,1294,1295],"class_list":["post-5826","post","type-post","status-publish","format-standard","hentry","category-architecture","category-backup-theory","category-best-practice","category-data-domain-2","category-recovery","tag-boost","tag-data-domain","tag-database","tag-db2","tag-deduplication","tag-distributed-segment-processing","tag-framework","tag-monolithic","tag-oracle-sql","tag-sap"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pKpIN-1vY","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/5826","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/comments?post=5826"}],"version-history":[{"count":7,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/5826\/revisions"}],"predecessor-version":[{"id":7419,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/5826\/revisions\/7419"}],"wp:attachment":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/media?parent=5826"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/categories?post=5826"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/tags?post=5826"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}