Come è stato organizzato il cluster PostgreSQL? Schema di replica e tolleranza ai guasti?
DBA / Database
Presenta un problema interessante che hai risolto nel tuo precedente lavoro.
Esercizio 5: EXPLAIN mostra type: ALL, rows: 200000, Using temporary; Using filesort. Cosa significa e come ottimizzarlo?
Compito 1: Trova le prime 5 rotte (stazione di partenza, stazione di arrivo) per numero di task a gennaio 2025 dalla tabella harvester_tasks_queue.
Lo schema dei dati è stato normalizzato nel tuo progetto? Come hai affrontato la normalizzazione?
Quali strumenti di monitoraggio hai usato?
Compito 3: Trovare duplicati di attività (per departure_station, arrival_station, departure_date, crawler_id) e proporre un piano di eliminazione sicura dalla tabella harvester_tasks_queue.
Compito 4: Ottimizzare la query WHERE DATE(tep.available_from_departure_date) = departureDate. Spiegare il problema e proporre una soluzione.
Come proteggere la tabella di destinazione dai duplicati durante l'inserimento di dati da una tabella temporanea? Come aggiornare i record esistenti con dati più recenti (upsert)?
Come avete gestito i deadlock in un sistema ad alta intensità? Cosa avete fatto quando li avete scoperti?
Come si verificano i risultati di una stored procedure o di una query? Metodi e approcci.
Come organizzare l'architettura di una tabella che cresce, per lavorare rapidamente solo con dati recenti? Come eliminare efficacemente i dati vecchi?
Domanda 2: Trova percorsi con attività attive (stato = 'Pronto per iniziare'), ma senza aggiornamenti da oltre 30 giorni. Schemi: harvester_tasks_queue e station__crawler_mapping_with_crawler_ids.
Hai avuto casi di aggiornamento della versione del prodotto del database? Come ti sei preparato e quali problemi sono sorti?
Parlami della tua posizione attuale: responsabilità, team, infrastruttura, strumenti.