Kā tika organizēts PostgreSQL klasteris? Replikācijas shēma un neveiksmju toleranciņa?
DBA / Database
Iepazīstiniet ar interesantu uzdevumu, ko risinājāt iepriekšējā darba vietā.
Uzdevums 5: EXPLAIN rāda type: ALL, rows: 200000, Using temporary; Using filesort. Ko tas nozīmē un kā to optimizēt?
Uzdevums 1: Atrodi 2025. gada janvārī no harvester_tasks_queue tabulas pēc uzdevumu skaita TOP-5 maršrutus (izbraukšanas stacija, ierašanās stacija).
Kādus uzraudzības rīkus jūs izmantojāt?
Vai jūsu projektā datu shēma tika normalizēta? Kā jūs pieejāt normalizācijai?
Uzdevums 3: Atrodi dublētās uzdevumus (pēc departure_station, arrival_station, departure_date, crawler_id) un ieteikt drošu dzēšanas plānu no tabulas harvester_tasks_queue.
Uzdevums 4: Optimizēt vaicājumu WHERE DATE(tep.available_from_departure_date) = departureDate. Izskaidrojiet problēmu un ieteiktu risinājumu.
Kā aizsargāt mērķa tabulu no dublikātiem, ievadot datus no pagaidu tabulas? Kā atjaunināt esošās ierakstus ar jaunākiem datiem (upsert)?
Kā jūs risinājāt deadlockus augstas slodzes sistēmā? Ko darījāt, tos atklājot?
Kā pārbaudāt saglabātās procedūras vai vaicājuma rezultātus? Metodes un pieejas.
Kā organizēt pieaugošu tabulas arhitektūru, lai ātri strādātu tikai ar jaunākajiem datiem? Kā efektīvi dzēst vecos datus?
Jautājums 2: Atrodiet maršrutus ar aktīvām uzdevumiem (statuss = 'Gatav uzsākt'), bet bez atjauninājumiem vairāk nekā 30 dienas. Shēmas: harvester_tasks_queue un station__crawler_mapping_with_crawler_ids.
Vai jums ir bijuši gadījumi datu bāzes produkta versijas atjaunināšanā? Kā jūs gatavojāties un kādas problēmas radās?
Pastāstiet par savu pašreizējo amatu: pienākumi, komanda, infrastruktūra, rīki.