Все услуги

Услуга

Проектирование, миграция и оптимизация баз данных

Отдельная работа, а не приложение к сайту. Приходят обычно с одной из трёх бед: всё тормозит, данные лежат в чём-то доисторическом, или копий нет и это выяснилось не вовремя.

Задачи

С чем приходят

01

Всё стало медленным

Разбираем, какие запросы съедают время: смотрим план выполнения, ищем недостающие индексы и лишние, переписываем то, что нельзя ускорить индексом. Обычно выясняется, что дело в двух-трёх запросах, а не в «слабом сервере».

02

Перенос со старой системы

Access, самописные решения, устаревшие версии MySQL, выгрузки в таблицах. Переносим со сверкой: количество записей, суммы, контрольные выборки — чтобы было доказано, что ничего не потерялось.

03

Проектирование с нуля

Схема под задачу: сущности, связи, ограничения целостности, индексы под реальные запросы. Ограничения ставятся на уровне базы, а не только в коде, — тогда неверные данные физически не смогут туда попасть.

04

Резервное копирование

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

05

Аудит существующей базы

Смотрим схему, индексы, размеры, права доступа, наличие копий и то, как база защищена снаружи. Результат — письменный отчёт с приоритетами.

06

Персональные данные

Если в базе есть данные людей — проверяем, где она физически размещена, кто имеет доступ, ведётся ли журнал и есть ли сроки хранения. Для граждан России база должна находиться в России, и это требование закона, а не рекомендация.

Стек

С чем работаем

Деньги

Сколько стоит

Работы с базами считаются по времени, а не проектом: заранее неизвестно, найдётся причина за час или за день.

Ставка

3 000 ₽ за час. Время фиксируется по факту, отчёт — что делали и сколько заняло.

Оценка до начала

Сначала смотрим на задачу и называем вилку часов. Если по ходу становится ясно, что вилка не выдержана, — предупреждаем до того, как её превысить, а не после.

Минимальная задача

От 5 000 ₽ — столько же, сколько любая другая небольшая работа. Ниже этой суммы браться невыгодно обеим сторонам.

Вопросы

Отвечаем заранее

Почему база стала медленной, если данных не так много?

Чаще всего дело не в объёме, а в отсутствии нужного индекса или в запросе, который заставляет базу перебирать всю таблицу. Такое видно по плану выполнения запроса, и лечится обычно быстро.

Как убедиться, что при переносе ничего не потерялось?

Сверкой: сравниваем количество записей в каждой таблице, контрольные суммы по ключевым полям и делаем выборочную проверку записей вручную. Результат сверки отдаём вместе с работой.

Можно ли перенести данные из Access или из таблиц Excel?

Да, это частая задача. Сложность обычно не в самом переносе, а в том, что за годы в таких файлах накапливаются несогласованные данные: дубли, разные написания одного и того же, пустые обязательные поля. Это разбирается отдельно и обсуждается до начала.

Вы работаете с базой напрямую на нашем сервере?

Да, по доступам, которые Вы выдаёте, и только в оговорённом объёме. Перед любыми изменениями делается копия, чтобы был путь назад.

Что делать, если резервных копий нет вообще?

Настроить их — первое, что мы сделаем, до всех остальных работ. Оптимизировать базу, которую нельзя восстановить, — плохая идея.

География

Работаем из Сургута, по всей России

Опишите, что происходит с базой

Достаточно симптомов: что тормозит, где лежат данные сейчас, чего боитесь потерять.

Обсудить работу с базой