Una volta avevo un tavolo ed era lucido e bello. Ha tenuto tutte le transazioni finanziarie per un'organizzazione. E poi abbiamo iniziato a caricare i dati al suo interno.
Nel mese in corso, possono indicare e riformulare i valori tutte le volte che vogliono. Negli ultimi 10 giorni di un mese, avrebbero rideterminato i numeri -> eseguendo l'elaborazione ETL -> esaminando i rapporti più volte al giorno. Una volta completato il mese, i libri vengono sigillati e non possono modificare i valori.
È incredibile quanti dati finanziari generano un'azienda di servizi finanziari ... Qualcosa che non ci siamo resi conto con il nostro set di dati di test era il volume di dati che avrebbe reso insostenibili le loro procedure di fine mese. Ci è voluto un tempo sempre più lungo per eliminare i "dati del mese corrente" prima di sostituirli con la nuova corsa di prova.
Abbiamo dovuto fare qualcosa per renderlo più veloce per l'elaborazione senza rompere l'elenco non catalogato di "chissà cosa" che dipende tutto dalla tabella MonthlyAllocation. Ho deciso di fare il mago e tirare fuori la tovaglia da sotto di loro. Sono andato alla vecchia scuola e ho usato una vista partizionata . I dati avevano già un flag IsComplete, quindi ho creato due tabelle, ognuna con vincoli di controllo contrario: MonthlyAllocationComplete, MonthlyAllocationInComplete
Ho quindi creato la vista partizionata con lo stesso nome della tabella originale: MonthlyAllocation. Nessun processo è stato più saggio riguardo alle modifiche fisiche apportate al database. Nessuna segnalazione interrotta, nessuno degli analisti con accesso diretto ha segnalato problemi con quella "tabella" prima o dopo.
Bella storia fratello, ma dove stai andando?
E se avessero avuto una convenzione di denominazione lì, tbl_MonthlyAllocation? E adesso? Dedichiamo molte ore uomo a esaminare ogni ETL, ogni rapporto, ogni foglio di calcolo ad hoc nell'organizzazione e aggiornarli per utilizzare vw_MonthlyAllocation? E poi ovviamente tutti quei cambiamenti passano attraverso la Change Board e questo è sempre un processo rapido e indolore.
Il tuo capo potrebbe chiederti: qual è il premio per l'azienda che lavora di nuovo?
L'altra opzione diventa lasciare questa vista denominata tbl_ e non passare tutto il tempo a testare, aggiornare e distribuire il codice. Che diventa un aneddoto divertente che spieghi a tutti i nuovi assunti ea quelli con scarsa attenzione, che devono lavorare con il database sul motivo per cui non sei coerente con la denominazione degli oggetti
Oppure non codificare due volte gli oggetti con metadati ridondanti. Il database ti dirà felicemente cos'è una tabella, cos'è una vista, cos'è una funzione con valori di tabella, ecc.
Le convenzioni di denominazione sono buone, ma non dipingerti in un angolo con loro.
Class
?