Существует общедоступная база данных, которую я могу загрузить с помощью rsync (mydb.sql.gz). Это довольно большой сжатый файл, около 130 МБ. При несжатом состоянии база данных составляет около 1,3 Гбит. Новые данные добавляются к нему ежедневно. Каков наиболее эффективный способ обновления локальной копии новыми данными удаленной базы данных?Обновление базы данных SQL с помощью .gz-файла
ответ
Вы можете распаковать его на лету при импорте. Предполагая, что MySQL, эта команда должна работать:
gunzip -c mydb.sql.gz | mysql mydb -h host -u user -p
Примечание: -c
средства записи вывода на стандартный вывод.
BTW: Использование rsync для загрузки сжатого файла может не дать вам многого. Даже небольшие изменения в несжатых данных могут привести к большим изменениям в сжатом эквиваленте. Возможно, вам лучше просто использовать wget
или curl
, чтобы загрузить весь файл ежедневно.
Хорошо, возможно, я не понимаю здесь несколько основных вещей. Пожалуйста, поправьте меня, если я ошибаюсь. Во-первых, я думал, что сжатие файла заставит rsync повторно загрузить весь файл в любом случае, так как он узнает, что изменилось? У поставщика данных только пример rsync в их инструкциях, поэтому я предположил, что это единственный способ захватить файл в любом случае. Во-вторых, что произойдет, если я удалю или заархивирую кучу старых строк в БД, которые мне действительно не нужны, а затем сделал это? Будут ли они добавлены обратно вместе с новыми строками? – GoldenJoe
Да, изменения в несжатом файле приводят к большим изменениям в сжатом файле, что заставит rsync повторно загружать практически весь файл снова, тем самым отрицая любую выгоду, которую вы могли бы получить от использования rsync over curl. Фактически, rsync, вероятно, будет тратить время на различие файлов. Что касается вашего второго вопроса: мое предположение заключалось в том, что ежедневный образ был полной базой данных и что вы бы уничтожили все, что у вас было локально, и создали новый db на основе ежедневного gz-файла. Так что все, что есть в ежедневной дампе, которую вы не хотите, возвращается каждый день. – Asaph
- 1. Обновление базы данных SQL с помощью VB.NET
- 2. Обновление базы данных SQL с помощью PHP
- 3. Обновление базы данных SQL с помощью PHP
- 4. Обновление базы данных sql с помощью php
- 5. Обновление базы данных SQL с помощью VB.net
- 6. Обновление базы данных SQL с помощью PHP
- 7. Обновление базы данных sql с помощью php
- 8. Обновление Java-базы данных SQL-базы данных
- 9. Обновление базы данных SQL Server с помощью SQL-скриптов
- 10. Обновление базы данных Azure SQL
- 11. Обновление базы данных с помощью вложенных циклов?
- 12. Обновление базы данных MySQL с помощью ajax
- 13. Обновление базы данных с помощью DataGrid C#
- 14. Обновление соединения базы данных SQL
- 15. Обновление базы данных с помощью SQLite
- 16. Обновление базы данных с помощью jsp
- 17. Обновление базы данных с помощью MYSQLi
- 18. Обновление базы данных SQL SQL SQL?
- 19. Обновление базы данных MySQL с помощью PHP
- 20. Обновление значения базы данных с помощью php
- 21. не обновление базы данных SQL
- 22. PhoneGap Обновление базы данных SQL
- 23. Обновление/сохранение базы данных SQL с помощью C#?
- 24. Обновление базы данных SQL Server с помощью C#
- 25. Обновление базы данных SQL Server с помощью SqlClient
- 26. Обновление базы данных SQL с помощью подготовленногоStatement в Java
- 27. Обновление таблицы базы данных SQL с помощью webservice
- 28. Обновление базы данных в моем sql с помощью java
- 29. Обновление базы данных SQL Server с помощью SqlDataAdapter
- 30. Обновление базы данных SQL с PDO
Передано ли данным только новые записи или вся база данных? –
О какой СУБД вы говорите? –
@Rob - это вся БД. – GoldenJoe