Опис проєкту
ПерекладЗавдання складається з двох пов'язаних частин. Перша — оптимізація існуючої системи: збір та розбір логів повільних запитів, вивчення планів виконання, пропозиції щодо індексів, переписування запитів та точкової доробки схеми (нормалізація там, де це допомагає, денормалізація або зведені таблиці там, де це ефективніше). Кожну рекомендацію ми хочемо бачити підкріплену цифрами «до та після» на реалістичній копії наших даних. Друга частина — планова міграція між MySQL та PostgreSQL. Її потрібно розглядати як бойову операцію з нульовою втратою даних і мінімальним простоєм: зіставлення типів даних та зіставлень, перенесення збереженої логіки та обмежень, звірка кількості рядків та контрольних сум на обох боках, а також перевірений сценарій відкату на випадок збою.
Спочатку ви працюєте на тестовому середовищі та узгоджуєте з нашою командою кожен крок на боєвому сервері. Для нас важливі зрозуміла комунікація, відтворювані скрипти замість одноразових ручних правок та чесна дискусія компромісів. Просимо додати релевантний досвід роботи з великими наборами даних і вказати інструменти, які ви переважаєте для конвертації схеми та перевірки цілісності. Результати повинні бути задокументовані так, щоб наші розробники могли їх підтримувати далі.
— Повний аудит повільних запитів із пріоритизацією та кроками відтворення
— План індексів, переписані запити та пропозиції по схемі з результатами замірів
— Runbook міграції: зіставлення типів, порядок перемикання та відкат
— Автоматична звірка рядків, контрольних сум та посилальної цілісності після переносу
— Документація по передачі та короткий розбір для нашої команди розробки