R1Soft at a Glance

• High Performance Backup & Recovery • Near-Continuous Data Protection

Linux & Windows servers & MySQL databases – Fast, backup (e.g .every 15 mins) & rapid restore

• Over 80,000 servers licensed • Used by major hosting companies • Division of BBS Technologies
– – – – – – Based in Houston, Texas Systems management software for Windows & Linux 140+ staff , 3,000 customers 24*7 worldwide sales and support 49th fastest growing Technology company in US (Deloitte) 4th largest software company in Houston

Topics
• • • • • • Who Needs Data Protection? Data Protection Ideas Evaluating MySQL Backup Software Available MySQL Backup Applications Alpha MySQL Online Backup API near-Continuous Backup for MySQL

What Do We Protect Data From?
• Server Failure
– Hard Drives Stop Spinning, Storage Controllers Corrupt Data, etc

• Accidental Drop or Delete
– The “Arggg Sh***!” factor

• Security Compromise
– Server, Database, Application

• Business or Government Regulation
– Historical Archiving Rules – HIPPA, EU Data Archiving Regulations

Who Protects Data MySQL?
• Different Users Have Different Needs and Preferences for Data Protection • Three Types of MySQL Administrators 1. Developers 2. Accidental Admin 3. Database Administration (DBA) Guru

MySQL Developers
• Some develop on test systems MySQL Data Protection Not Important • In Practice Development often on live production environments! Oh My! • Hidden Risk for Stakeholders • Single copy of PHP / Python / Perl Scripts Often Located on Server
PHP, Perl and Python used by ~85% of MySQL Developers

Accidental MySQL Admin
• Accidental MySQL Admin
– Who Are They? • Proprietor of Web 2.0 Business • Hosting Business • Network or System Administrators • The Small Office PC Technician – Simple is Better – Binary Log, Clustering and Replication techniques often out of reach or unused

MySQL DBA Guru
• MySQL DBA Guru
– Often using Clusters and Replication – Likes to performance tune and understand all details – Custom data protection scripts and methods prevalent – If a professional serving many clients simple data protection solutions desired

MySQL Data Protection Ideas
• • • • RAID Replication Clusters MySQL Backup and Restore

RAID
• RAID Attributes
– Software or Hardware RAID – Available on Windows, Linux, Unix – Some RAID levels protect against drive failure

• Good Data Protection?
Archiving Accidental Drop or Delete Server Failure Security Compromise None Data Loss! Data May Be Lost! All Data Compromised!

Replication
• One Writer and Many Readers
– – – – MySQL Master Slave Replication Some Protection against server failure Multiple copies of data Replicates accidental data deletion!

• Good Data Protection?
Archiving Accidental Drop or Delete Server Failure Security Compromise None Data Loss! Protected Limited Protection

Clusters
• Many Writers and Many Readers
– – – – – Usually Linux / Unix Only Examples: DRBD, NDB, Continuent Protection against server failure Multiple copies of data Replicates accidental data deletion!
None

• Good Data Protection?
Archiving Accidental Drop or Delete Server Failure Security Compromise Data Loss! Protected Limited Protection

Evaluating MySQL Backups
• Archive Management?
– Does application easily manage historical archives

• Archive Type?
– People either need disk or tape or both

• Supported Environment
– What storage engines are supported? – What O/S’s are supported?

• Binlog Restore
– Rollback to selected transaction using binary log

• Zero Business Interruption (Hot Backup) • Granular Restore

Evaluating MySQL Backups Continued
– means no noticeable interruptions to connections or queries on live database system – Means restore selected Databases or Tables to original or alternate locations – Who Needs it Most?: Developers, DBA Guru

• Ease of Use
– Graphical User Interface, Web Interface, etc – Who Needs it Most?: Developers, Accidental Admin

• Complete Server Protection
– Does it just protect MySQL? Or Server Also?

• Backup Type

Evaluating MySQL Backups Continued 2
– Full • All data transmitted and stored every backup – Incremental • Complex combination of periodic full, and more frequent incremental backups – Virtual Full Backups • One full backup, with deltas sent from then on. Each backup appears as full backup, only deltas sent across network and stored.

• Backup Window
– How long is the backup Window on Large Data Sets?

• Server I/O and Load Impact
– Does it kill the server when data set is large?

• Financial and Banking
– Binlog Restore Critical – Tape Backup – Example:

What Are Your Data Protection Priorities?

• Typical Embedded OEM Network Device
– Usually small databases – Proprietary device/app. Management handles backups using mysqldump or mysqlhotcopy – Exceptions are carrier grade clusters – Example:

• Massive Transactional Enterprise System
– – – – Master data located on mainframe or Unix not MySQL Data replicated for read-only queries to MySQL Use existing mainframe or Unix backup system for data protection Example:

• Web 2.0 / LAMP Stack Application / Web Hosting
– – – – – – – Zero Business Interruption (Hot Backup) Critical Granular Restore for developers Ease to Use GUI Complete Server Protection Short backup window with minimal server impact Disk Based Backup Dominates Large Databases

What Are Your Data Protection Priorities?

– Examples:

MySQL Backup Applications
• Legacy Backup
– – – – – – The Dump Binary Log Backups mysqlhotcopy Volume Snapshot Hot Backup InnoBase (Oracle) Backup Replication Slave Backup

• Legacy Backup with GUI
– ZRM, Bakbone, and others

• Alpha MySQL Online Backup API • near-Continuous Data Protection

Everyone Loves Taking a Dump
mysqldump
Typical User / Complexity Archive Type Supported Storage Engines Supported O/S Binlog Restore Zero Business Interruption Granular Restore Easy to Use Graphical UI Complete Server Protection Backup Type Backup Window Server I/O and Load impact Developer, Accidental Admin, DBA Guru Disk All All No No No No No Full = Time to Read All Data Heavy

Binlog Backups for Gurus
mysqldump, mysqlhotcopy
Typical User / Complexity Archive Type Supported Storage Engines Supported O/S Binlog Restore Zero Business Interruption Granular Restore Easy to Use Graphical UI Complete Server Protection Backup Type Backup Window Server I/O and Load impact DBA Guru Disk Most / All All Yes Only during incremental No No No Incremental = Time to Read All Data (when Full) Heavy (when Full)

Not So Hot mysqlhotcopy
Holds table locks while copying MyISAM files
Typical User / Complexity Archive Type Supported Storage Engines Supported O/S Binlog Restore Zero Business Interruption Granular Restore Easy to Use Graphical UI Complete Server Protection Backup Type Backup Window Server I/O and Load impact Developer, Accidental Admin, DBA Guru Disk MyISAM All No No (Blocks Queries Until Backup Finished) No No No Full = Time to Read All Data (when Full) Heavy (when Full)

Volume Snapshot Hot Backup
• Uses snapshot capability of volume manager on Linux (LVM) or Unix: Veritas VxFS, NetApp SnapManager • Linux: uses LVM snapshots • Usually implemented with custom scripts or programming by a DBA

5.Lock Tables in MySQL 6.Take Volume Snapshot 7.Unlock Tables in MySQL 8.Copy Raw Tables from Snapshot

Volume Snapshot Hot Backup
Linux LVM, Unix VxFS, NetApp Snapmanager etc
Typical User / Complexity Archive Type Supported Storage Engines Supported O/S Binlog Restore Zero Business Interruption Granular Restore Easy to Use Graphical UI Complete Server Protection Backup Type Backup Window Server I/O and Load impact DBA Guru Disk MyISAM, InnoDB Linux and Unix MUST HAVE LVM, VxFS, NetApp No Yes No No No Full = Time to Read All Data (when Full) Heavy (when Full)

Innobase (Oracle) Hot Backup
Commercial InnoDB Hot Backup Utility (ibbackup)
Typical User / Complexity Archive Type Supported Storage Engines Supported O/S Binlog Restore Zero Business Interruption Granular Restore Easy to Use Graphical UI Complete Server Protection Backup Type Backup Window Server I/O and Load impact DBA Guru Disk InnoDB only All Yes Yes Yes No No Incremental = Time to Read All Data (when Full) Heavy (when Full)

Slaves Are Hard Workers
• MySQL Replication Slave for Backup • Replication Can be Paused on Slave to Allow Point-intime backups • Long backup operations can proceed without disrupting other servers • Backup Disk I/O isolated away from customer facing servers

Replication Slave for Backup
mysqlhotcopy, mysqldump, ibbackup
Typical User / Complexity Archive Type Supported Storage Engines Supported O/S Binlog Restore Zero Business Interruption Granular Restore Easy to Use Graphical UI Complete Server Protection Backup Type Backup Window Server I/O and Load impact DBA Guru Disk Replication Linux and Windows Possible with binlog backup Yes No No No Full or Incremental Long Replication Pause Can be Problematic No impact to live servers

Big $$ for User Interfaces?
• Most Commercial Software Vendors make Expensive Wizards and User Interfaces for MySQL Backup • What Do You Really Get? Is it worth your $$?

What is Under The Hood?
• Answer: Little more than mysqldump, mysqlhotcopy, binlog !
• Zmanda Enterprise for MySQL – “Backups are done via mysqldump, various snapshots, mysqlhotcopy or MySQL replication.”
http://www.zmanda.com/backup-mysql.html

Zmanda for Linux and Unix Server Backups “Amanda uses industry standard tools (tar and dump)…”
http://www.zmanda.com/amanda_advantage.html

BakBone MySQL APM “mysqldump - This component allows you to perform backups/restores of multiple types of MySQL storage engines”
http://www.bakbone.com/docs/NetVault_Backup_APM_for_MySQL_Users_Guide.pdf

Zmanda Enterprise for MySQL
Web GUI for mysqlhotcopy, mysqldump
Typical User / Complexity Archive Type Supported Storage Engines Supported O/S Binlog Restore Zero Business Interruption Granular Restore Easy to Use Graphical UI Complete Server Protection Backup Type Backup Window Server I/O and Load impact Accidental Admin, DBA Guru Disk or Tape All Linux and Unix Only Yes No (Possible with LVM Snapshots) No Yes Linux and Unix Full (incremental with binlog) Long Heavy

BakBone MySQL APM
• A Win32 GUI for mysqldump and binlog backups
Typical User / Complexity Archive Type Supported Storage Engines Supported O/S Binlog Restore Zero Business Interruption Granular Restore Easy to Use Graphical UI Complete Server Protection Backup Type Backup Window Server I/O and Load impact Accidental Admin, DBA Guru Tape or Virtual Tape Library All All Yes No No Yes Linux, Unix, and Windows Full (incremental with binlog) Long Heavy

Alpha MySQL Online Backup API
• Commercial vendors told MySQL AB: build as an API and we’ll build hot backup apps! http://forge.mysql.com/wiki/OnlineBackup

• Implemented and Not Yet Released (MySQL 6.0.5 )
– Online Backup without Interruptions for InnoDB and Falcon – SQL Interface for Initiating Backups • BACKUP DATABASE databasename1, databasename2 TO "filename.backup"; • RESTORE FROM "filename.backup";

• Limitations Still Being Worked Out
– – – – – Can’t backup replicated Databases No backup of database privileges No selective (table level) backup and restore No Compression No MyISAM support

Alpha MySQL Online Backup API
BACKUP DATABASE databasename1, databasename2 TO "filename.backup";

Typical User / Complexity Archive Type Supported Storage Engines Supported O/S Binlog Restore Zero Business Interruption Granular Restore Easy to Use Graphical UI Complete Server Protection Backup Type Backup Window Server I/O and Load impact

Developer, Accidental Admin, DBA Guru Disk InnoDB and Falcon All Yes when used with binlog backups Yes (Only InnoDB and Falcon for now) No (No Table level restore) No No Full (incremental with binlog) Long Heavy

MySQL near-Continuous Data Protection
• Online Backups for MyISAM and InnoDB
– Similar to Linux LVM Backup Method except LVM not required! – All block devices supported! Software RAID (MD), MultiPath, ISCSI, Windows Dynamic Disks, etc – Low Level Volume Snapshots with Device Driver (Linux), Volume Shadow Copy (Windows)

• Scheduled Synchronizations
– E.g. Every 15 minutes, Hourly, Daily, etc.

• Changes to Disk Sectors Tracked in between Synchronizations = Short Backup Windows with Minimal Impact • Granular Restore to Table Level • Recovery Point Archiving
– Only Deltas Stored after first full backup – Each archive point appears as virtual full backup

near-CDP Online Backups for MyISAM & InnoDB

near-CDP Performance

near-CDP Archives

MySQL Granular Restore

MySQL near-Continuous Data Protection
R1Soft is the only near-CDP for MySQL
Typical User / Complexity Archive Type Supported Storage Engines Supported O/S Binlog Restore Zero Business Interruption Granular Restore Easy to Use Graphical UI Complete Server Protection Backup Type Backup Window Server I/O and Load impact Developer, Accidental Admin, DBA Guru Disk InnoDB, MyISAM Linux Now No Yes InnoDB and MyISAM Yes Table Level Yes Yes Linux and Windows Virtual Full Backup Very Short (Time to Read Deltas) As Minimal As Possible Windows Q4 2008

Summary
R1Soft is the only near-CDP for MySQL
Legacy Binlog Restore Zero Business Interruption Granular Restore Easy to Use Graphical UI Yes No No Yes Alpha API Yes Yes No Soon No No Long Heavy 6.0.5 Alpha near-Continuous No Yes Yes Yes Yes Virtual Full Backup Very Short Minimal 4.1, 5.0, 5.1, 6.0

Complete Server Protection Possible near-Continuous Backup Window Server I/O and Load impact Version Support No Long Heavy 4.1, 5.0, 5.1, 6.0

Questions and Comments
David Wartell can be reached at founder@r1soft.com If you would like to discuss any part of this presentation your feedback is welcome founder@r1soft.com This Presentation Can Be Downloaded from http://www.r1soft.com Please Visit our Data Protection Forum at http://forum.r1soft.com

What Customers Say

Sample R1Soft Customers