Hogyan szervezték a PostgreSQL klasztert? Replikációs séma és hibatűrés?
DBA / Database
Mutassa be egy érdekes feladatot, amit a korábbi munkahelyén megoldott.
5. feladat: Az EXPLAIN type: ALL, rows: 200000, Using temporary; Using filesort mutat. Mit jelent ez, és hogyan lehet optimalizálni?
1. feladat: Keresse meg az 5 legnépszerűbb útvonalat (indulási állomás, érkezési állomás) a harvester_tasks_queue táblában 2025 januárjára vonatkozóan a feladatok száma szerint.
Normalizálták az adatstruktúrát a projektjében? Hogyan közelítette meg a normalizálást?
Milyen monitoring eszközöket használtál?
3. feladat: Találja meg a duplikált feladatokat (departure_station, arrival_station, departure_date, crawler_id szerint), és javasoljon biztonságos törlési tervet a harvester_tasks_queue táblából.
4. feladat: Optimalizálja a WHERE DATE(tep.available_from_departure_date) = departureDate lekérdezést. Magyarázza el a problémát és javasoljon megoldást.
Hogyan védjük a cél táblát duplikátumoktól adatbeillesztéskor egy ideiglenes táblából? Hogyan frissítjük a meglévő rekordokat frissebb adatokkal (upsert)?
Hogyan kezelte a magas terhelésű rendszerben a deadlockokat? Mit tett, amikor észrevette őket?
Hogyan ellenőrzi az eredményeket egy tárolt eljárás vagy lekérdezés? Módszerek és megközelítések.
2. feladat: Keressen olyan útvonalakat, amelyek aktív feladatokkal rendelkeznek (állapot = 'Kész a kezdéshez'), de több mint 30 napja nem frissültek. Sémák: harvester_tasks_queue és station__crawler_mapping_with_crawler_ids.
Hogyan szervezzük meg egy növekvő tábla architektúráját, hogy gyorsan csak az aktuális adatokkal dolgozzunk? Hogyan töröljük hatékonyan a régi adatokat?
Volt-e eset a adatbázis termék verziójának frissítésére? Hogyan készültél fel és milyen problémák merültek fel?
Meséljen a jelenlegi pozíciójáról: feladatok, csapat, infrastruktúra, eszközök.