Kaip buvo organizuotas PostgreSQL klasteris? Replikacijos schema ir gedimų tolerancija?
DBA / Database
Pateikite įdomią užduotį, kurią sprendėte ankstesnėje darbo vietoje.
Užduotis 5: EXPLAIN rodo type: ALL, rows: 200000, Using temporary; Using filesort. Ką tai reiškia ir kaip tai optimizuoti?
Užduotis 1: Raskite 2025 m. sausio mėn. iš harvester_tasks_queue lentelės pagal užduočių skaičių TOP-5 maršrutus (išvykimo stotis, atvykimo stotis).
Kokius stebėjimo įrankius naudojote?
Ar jūsų projekte duomenų schema buvo normalizuota? Kaip prieėjote normalizacijai?
Užduotis 3: Suraskite dubliuojamas užduotis (pagal departure_station, arrival_station, departure_date, crawler_id) ir pasiūlykite saugų ištrynimo planą iš lentelės harvester_tasks_queue.
Užduotis 4: Optimizuokite užklausą WHERE DATE(tep.available_from_departure_date) = departureDate. Paaiškinkite problemą ir pasiūlykite sprendimą.
Kaip apsaugoti tikslinę lentelę nuo dubliavimo įvedant duomenis iš laikinosios lentelės? Kaip atnaujinti esamus įrašus naujesniais duomenimis (upsert)?
Kaip tvarkėtės su deadlockais aukštos apkrovos sistemoje? Ką darėte jų aptikus?
Kaip tikrinate saugomos procedūros ar užklausos rezultatus? Metodai ir požiūriai.
Kaip organizuoti didėjantį lentelės architektūrą, kad būtų galima greitai dirbti tik su naujausiais duomenimis? Kaip efektyviai ištrinti senus duomenis?
Klausimas 2: Raskite maršrutus su aktyviomis užduotimis (statusas = 'Paruošta pradėti'), bet be atnaujinimų daugiau nei 30 dienų. Schemos: harvester_tasks_queue ir station__crawler_mapping_with_crawler_ids.
Ar turėjote duomenų bazės produkto versijos atnaujinimo atvejų? Kaip ruošėtės ir kokios problemos iškilo?
Papaskinkite apie savo dabartinę poziciją: pareigas, komandą, infrastruktūrą, įrankius.