Cum a fost organizat clusterul PostgreSQL? Schema de replicare și toleranța la eșecuri?
DBA / Database
Prezentați o problemă interesantă pe care ați rezolvat-o la locul de muncă anterior.
Exercițiul 5: EXPLAIN afișează type: ALL, rows: 200000, Using temporary; Using filesort. Ce înseamnă și cum se poate optimiza?
Sarcina 1: Găsiți cele mai bune 5 trasee (stație de plecare, stație de sosire) după numărul de sarcini din ianuarie 2025 din tabelul harvester_tasks_queue.
Ce instrumente de monitorizare ai folosit?
S-a normalizat schema-ul de date în proiectul dvs.? Cum ați abordat normalizarea?
Sarcina 3: Găsiți duplicate ale sarcinilor (după departure_station, arrival_station, departure_date, crawler_id) și propuneți un plan sigur de eliminare din tabelul harvester_tasks_queue.
Sarcina 4: Optimizarea interogării WHERE DATE(tep.available_from_departure_date) = departureDate. Explicați problema și propuneți o soluție.
Cum se protejează tabelul țintă împotriva duplicatelor la inserarea datelor dintr-un tabel temporar? Cum se actualizează înregistrările existente cu date mai recente (upsert)?
Cum ați gestionat blocajele în sistemele cu încărcare mare? Ce ați făcut când le-ați descoperit?
Cum verificați rezultatele unei proceduri stocate sau ale unei interogări? Metode și abordări.
Cum să organizezi arhitectura unui tabel care crește, pentru a lucra rapid doar cu datele recente? Cum să ștergi eficient datele vechi?
Întrebarea 2: Găsiți rute cu sarcini active (stare = 'Gata pentru start'), dar fără actualizări de peste 30 de zile. Scheme: harvester_tasks_queue și station__crawler_mapping_with_crawler_ids.
Ați avut cazuri de actualizare a versiunii produsului bazei de date? Cum v-ați pregătit și ce probleme au apărut?
Vorbește despre poziția ta actuală: responsabilități, echipă, infrastructură, instrumente.