Using Drush to sync databses (drush sql-sync
) is a valuable tool, but it is not always an efficient choice when dealing with large databases (think over 1GB). SQL Sync Pipe (drush sql-sync-pipe
) is a Drush command that provides an alternative for drush sql-sync
that streams the database dump directly from the source to the destination as opposed to sql-sync
saving the database dump, transferring it via rsync and then importing the dump file. As an added bonus it excludes cache tables by default.
Benchmarks
Below are examples from the command's README, syncing the same 1.05Gib database using the two different methods:
drush sql-sync
Command: drush sql-sync @alias.dev @alias.sandbox --no-cache
Transfer size: 88.1MiB (compressed using rsync)
Import size: 1.05GiB
Total time elapsed: 46 minutes 47 seconds
drush sql-sync-pipe
Command: drush sql-sync-pipe @alias.dev @alias.sandbox --progress
Transfer size: 88.1MiB (sent compressed using gzip)
Import size: 1.05GiB
Import & transfer time: 27 minutes 05 seconds
Total time elapsed: 30 minutes 35 seconds
What are you waiting for? Download and install SQL Sync Pipe and get started!
drush dl drush_sql_sync_pipe --destination=$HOME/.drush && drush cc drush