Дельта-бэкапы баз данных
На одном из серверов с большим числом пользователей у нас настроено автоматическое создание резервных копий баз данных — четыре раза в день. Стоит отметить, что размер сжатых резервных копий всех баз данных превышает 400 мегабайт. Таким образом, за один день на резервные копии баз данных уходит около двух гигабайт дискового пространства. Две недели — почти 30 гигабайт. Расточительство.
Для экономии места мы изобрели велосипед под названием «дельта-бэкап» (известный как разностный бэкап, differential backup) — мы храним одну полную резервную копию базы данных и список изменений.
Ввиду того, что клиентские сайты используют WordPress, разностное резервное копирование баз данных позволяет сэкономить очень много дискового пространства. Далее »
Автор: Vladimir, опубликовано в: Linux, комментариев: нетСен
2010
Небуферизованные запросы: снижаем потребление памяти WordPress
Пиковое потребление оперативной памяти WordPress можно снизить приблизительно два раза и практически бесплатно. В чём секрет? В использовании правильных функций для работы с базой данных.
Опытные программисты знают, что API MySQL предоставляет два варианта работы с результатом запроса:
- Последовательная обработка результата — при этом не происходит никакой буферизации результата, данные отдаются от сервера клиенту, минуя временные таблицы и буфера. В этом случае обработка результатов может производиться только последовательно.
- Буферирование результата запроса — результат полностью читается во временный буфер, что позволяет осуществлять произвольный доступ к результату.
Сен
2010
Исправление ошибки в INSERT INTO … SELECT в Kohana 3 при использовании конфигурации базы данных, отличной от default
Ситуация: нужно выполнить запрос вида
Если использовать конфигурацию default, то всё отлично работает. Если же использовать другую конфигурацию, то можем получить ошибку соединения с базой данных и исключение. Далее »
Авг
2010
Поддержка JOIN в запросах DELETE для Kohana 3
Иногда бывает полезно выполнить удаление записей в нескольких связанных таблицах, благо синтаксис позволяет. Разумеется, есть такая вещь как каскадное удаление записей, но в случае с MySQL (а именно — таблицами MyISAM) на неё надеяться не приходится.
Модуль Database из Kohana 3 не умеет использовать JOIN с операцией DELETE. Нужно ему помочь. Далее »
Автор: Wandering Soul, опубликовано в: Kohana, комментариев: нетАвг
2010
Патч для кэширования пустых результатов запросов в Kohana
Проблема: Kohana 3 (3.0.7, возможно, ранние версии) не может брать результаты запросов из кэша, если запрос вернул пустой результат.
Решение проблемы. Далее »
Автор: Wandering Soul, опубликовано в: Kohana, комментариев: 1Авг
2010
Резервное копирование баз данных с отправкой на email
Навеяно статьёй Дмитрия «Ежедневный бэкап для WordPress с помощью Gmail», которую я очень рекомендую к прочтению.
Основное отличие моего метода кроется в моих «религиозных предпочтениях»: я считаю, что вряд ли какая программа сможет сделать копию базы быстрее, чем mysqldump, и бинарный файл всегда работает быстрее, нежели самый оптимизированный PHP-код. Поэтому никаких лишних плагинов для WordPress, только подручные средства
Хотя данное решение не подойдёт людям, использующих shared-хостинг. Далее »
Апр
2009
Хранение PHP-сессий в базе данных
Начну сразу с причин, по которым я пишу эту статью. Я периодически просматриваю лог запросов, по которому люди попадают сюда, и вот один из запросов — хранить php сессию в mysql
.
Итак, как же хранить PHP-сессии в базе данных? Далее »
Автор: Vladimir, опубликовано в: MySQL, PHP, комментариев: 21Мар
2008
Конвертирование базы данных MySQL из одного charset в другой
Недавно мне пришлось столкнуться с задачей перевода базы данных из одного charset в другой. Исходная база была в iso-8859-1, предстояло перевести её в utf-8. Задача усложнялась тем, что в исходной базе присутствовали символы из других языков (русский, испанский и, возможно, китайский). Далее »
Автор: Vladimir, опубликовано в: MySQL, комментариев: 6Мар
2008

Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.

