MySQL

индекс
22,40
22 июля в 10:59

Beaver mysql logger или как найти ошибку в MySql приложении recovery mode

Здравствуй Хабр!

Периодически возникает необходимость отследить запросы, которые отправляет Ваше приложение к базе данных. К примеру:
— Вам нужно отладить/доработать чужой код;
— Запросы генерируются с помощью сторонней библиотеки (к примеру ActiveRecord), не понятно, какие именно и сколько их;
— Нужно оптимизировать приложение: посмотреть какие запросы и сколько их, посмотреть explain этих запросов.

В этих ситуациях на помощь приходит Beaver mysql logger.
+21
2849
65
spyfox87 17,8
14 июля в 09:59

Использование Percona XtraBackup в повседневной жизни

Высокая распространенность баз данных MySQL приводит к её использованию в разнообразных проектах, в том числе, которые требуют безостановочной работы и минимального времени восстановления. Стандартные инструменты, такие как mysqldump неудобен для использования баз данных размер, которых измеряется десятками гигабайт. К сожалению mysqldump вызывает блокировку таблиц, и операция снятия дампа или восстановления базы может занимать далеко не один час, а порой и 5-10 часов.

Благо, к нам на помощь приходит Percona XtraBackup.

image

+21
4503
136
akhaustov 42,2
30 июня в 12:29

Изобретая велосипед или поиск отсутствующего значения ID в MySQL таблице из песочницы

Разработчики и администраторы систем основанных на sql данных, наверняка, сталкивались с задачей — получить отсутствующее (пропущенное) значение в ряде id записей таблицы. Например номер договора, порядковый номер документа, телефонный номер, айпи-адрес и т.п. При работе с MySQL эта тривиальная задача непропорционально ресурсоемка.
+6
5940
68
realkazan 0,5
25 июня в 11:09

Бекап баз данных – есть ли он?

image

Нет смысла говорить о том, насколько это актуальный вопрос. Сегодня мы расскажем, как у нас организовано резервное копирование баз данных mysql.
И одно их самых важных – это проверка, а сделался ли бекап? А успешно ли прошел дамп? А были ли ошибки? А знаю ли я о них?

По-моему, сегодня вряд ли можно найти того, кто не делает бекап. Но вот проверять наличие ошибок при выполнении бекапа, пожалуй, попробую рассказать вам как это делаем мы.

Сразу оговорюсь, что, возможно, в принципе реализации использованы стандартные схемы, но, возможно, вы найдете для себя, что-то новое, что сможете внедрить у себя.
+38
16928
288
akhaustov 42,2
10 июня в 08:45

DevConf 2014: Мастер-класс — как делать резервное копирование MySQL в экстремальных условиях

На первый взгляд делать бэкапы MySQL просто. Большинство сразу вспоминает об утилите mysqldump, более продвинутые администраторы о file system snapshots и инструментах горячего копирования MySQL Enterprise Backup (MEB), Percona XtraBackup.
Все эти инструменты умеют обеспечивать целостность, но не бесплатно.
Расплачиваться приходится блокировками, в том числе глобальными, длинными транзакциями, повышенной нагрузкой на MySQL сервер и даже полной его остановкой.
Для рабочего сервера, обслуживающего миллионы соединений, всё вышеперечисленное малоприемлемо.

На мастер-классе, основанном на реальном опыте с клиентами поддержки MySQL, я расскажу как производить резервное копирование:
–1
3122
10
phpclub 35,8
9 июня в 09:18

DevConf 2014 — пройдет в эту субботу. Новая секция Storage — раскроет все секреты хранения данных


14 июня(суббота) в Москве пройдет DevConf 2014
Впервые в России нам удалось собрать авторов MySQL, PostgreSQL, Percona Server, Sphinx, Tarantool и экспертов NeoJ4,BigData,HandlerSocket, NoSQL в отдельном потоке DevConf::Storage — по сути это отдельная конференция по современным БД.

Программа DevConf 2014::Storage


  • Круто как в гугле. Поисковые сервисы на основе Sphinx
    Владимир Федорков. Последние двенадцать лет работает в области высоких нагрузок.
  • NoSQL атакует: JSON функции в MySQL сервере.
    Света (svetasmirnova) Смирнова, автор JSON функций для MySQL и книги «MySQL Troubleshooting», а также инженер технической поддержки MySQL с 2006 года, компания Oracle.
  • Schema-less PostgreSQL
    Олег Бартунов, major contributor PostgreSQL, научный сотрудник Государственного Астрономического института им.Штернберга, МГУ.
  • Ноотропы RDF для BigData
    Леонид Юрьев — ведущий системный архитектор в «Петер-Сервис» R&D. Ранее был замечен в Центре Инноваций Натальи Касперской и Infowatch.

+9
2079
17
phpclub 35,8
1 июня в 14:53

Выводим MySQL из окружения

Как только ваша информационная система становится рабочей (prоduction), появляется необходимость иметь как минимум две копии ее базы данных. Первая, резервная, с некоторой частотой создается при помощи штатных утилит и представляет собой согласованный дамп (consistent dump). Цель его создания — восстановление системы после сбоя (disaster recovery).

Мы же рассмотрим создание второй копии, необходимой для продолжения работы над проектом. Статья ориентирована на разработчиков, только вступающих на тернистый путь управления качеством. И бесполезна тем, кто уже знает, что «вторая копия» на самом деле не совсем вторая, и не совсем копия.
+4
10864
49
olku 2,1
8 мая в 15:22

Синхронизация структуры MySQL + Git

Для синхронизации файлов проекта, ведения истории мы используем системы контроля версий, например, Git. Однако, когда у меня встал вопрос о контроле версий структуры базы MySQL — удовлетворяющего решения найти не удалось.
Замечу, во многих фреймворках и ORM существуют необходимые механизмы «из коробки» — миграции, версионность и т.д. А вот для нативной работы с MySQL — приходится все делать ручками. И пришла идея попытаться создать автоматическую систему для отслеживания изменений.
+2
5746
55
sferrka 8,5
14 апреля в 16:19

Доставка обновлений из БД MySQL в приложение при помощи клиента репликации libslave



При написании любого достаточно крупного проекта всегда встают более-менее похожие проблемы. Одна из них — проблема скорости получения обновлений системы. Относительно легко можно наладить быстрое получение небольших обновлений. Довольно просто изредка получать обновления большого объема. Но что если надо быстро обновлять большой массив данных?

Для Таргета Mail.Ru, как и для всякой рекламной системы, быстрый учет изменений важен по следующим причинам:
• возможность быстрого отключения показа кампании, если рекламодатель остановил ее в интерфейсе или если у него кончились деньги, а значит, мы не будем показывать ее бесплатно;
• удобство для рекламодателя: он может поменять цену баннера в интерфейсе, и уже через несколько секунд его баннеры начнут показываться по новой стоимости;
• быстрое реагирование на изменение ситуации: изменение CTR, поступление новых данных для обучения математических моделей. Все это позволяет корректировать стратегию показа рекламы, чутко реагируя на внешние факторы.

В этой статье я расскажу об обновлении данных, лежащих в больших таблицах в БД MySQL, фокусируясь на скорости и консистентности — ведь не хотелось бы уже получить новый заведенный баннер, но при этом не получить данную рекламную кампанию.
+53
7629
87
vozbu 4,0
14 апреля в 12:18

Проектирование баз данных. Дизайн и метод

Есть немало книг, описывающих особенности и специфику конкретных БД.
Значительно меньше «программно-независимых» изданий, которые рассказывают об общих правилах и законах проектирования баз, принципах построения, нарушение которых может привести в дальнейшем к серьёзным ошибкам и проблемам. Где рассмотрена вся методологическая цепочка от постановки задачи до итогового анализа уровня целостности данных для каждого приложения.

Мы сейчас обсуждаем возможность издать на русском языке книгу Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design и хотели бы включить в эту дискуссию «коллективный разум».

Уважаемые читатели! Пожалуйста, оцените это издание по пятибалльной шкале. Насколько оно раскрывает тему? Будет ли оно полезно разработчикам БД — лично вам, или, может быть, вашим менее опытным коллегам, которые смогут избежать ошибок проектирования?
Комментарии своей оценки, как всегда, приветствуются.
+3
7739
32
ph_piter 92,3