Quale è la differenza tra milione, miliardo e triliardo?

La settimana scorsa stavo litigando con un database dove le date sono memorizzate come “numero di millisecondi di differenza tra la mezzanotte del 1/1/1900 e la data considerata” (che è più o meno quello che fa anche SQL Server, ma lo nasconde bene e a volte in modo contorto).
Memorizzare le date in questo modo è comodo quando serve fare la differenza tra due date: la differenza è un numero che rappresenta i millisecondi trascorsi tra una data e l’altra.
Ho dovuto però creare una funzione che mi converte questo numero in un formato “capibile” dall’utente, e cioè convertire i millisecondi in  giorni, ore e minuti.
La funzione in se non è molto complicata, ma mentre scrivevo le divisioni, è scattata la sega mentale (mi sento molto JD di Scrubs quando mi succedono queste cose): quanti giorni sono un milione di millisecondi? e un miliardo? e un triliardo bilione??

Nella lingua italiana il significato di questi termini è chiaro (in inglese un po’ meno, a volte Billion indica un miliardo, a volte indica un milione di milioni):

Milione: 1,000,000
Miliardo: 1,000,000,000
Triliardo Bilione: 1,000,000,000,000

Ma per capire cosa significa “tre ordini di grandezza di differenza”, cioè tre zeri in più, vediamo alcuni esempi pratici:

Un milione di secondi sono un po’ meno di 12 giorni.
Un miliardo di secondi sono 31 anni.
Un triliardo bilione di secondi sono 31688 anni.
Un triliardo bilione di secondi fa l’uomo di Neanderthal calpestava le pianure dell’Europa.

Un milione di minuti fa era 1 anno, 329 giorni, 10 ore e 40 minuti fa.
Un miliardo di minuti fa era poco dopo la nascita di Gesù.

Un milione di ore fa eravamo nel 1885.
Un miliardo di ore fa l’uomo non aveva ancora camminato sulla terra.

Un triliardo bilione è un numero così grande che solo un politico può utilizzarlo in una conversazione… probabilmente perché raramente pensa a quello che sta dicendo.
I matematici non usano mai il termine “bilione”, preferendo la notazione esponenziale 1×10^12

[alcune parti sono adattate e tradotte da qui.]

Il mestiere di DBA…

Prendo spunto da una mail che mi è arrivata che fa riferimento a questo mio post su come diventare DBA (nel quale per altro non ho messo nulla di mio, ma solo riferimenti e link a siti esterni).

Nella mail sostanzialmente mi viene posta questa domanda:

Qual’è secondo te la strada migliore per diventarlo ed in quanto tempo per diventare un junior DBA SQL?

Incollo qui sotto l’email di risposta. Ovviamente si tratta solo del mio modestissimo parere.

Ciao Lettore del mio blog,
sotto il termine “SQL Administrator” si celano molte figure professionali: da quella di “puro sistemista” a quella di DBA vero e proprio, cioè quello che si occupa di far funzionare in tempi decenti applicazioni e query sul database.
Sto semplificando molto perchè a seconda del prodotto che utilizzi (SQL Server Microsoft, Oracle, MySQL o altre piattaforme) le attività e la routine del lavoro variano tantissimo.

Io mi sono trovato a fare il DBA mio malgrado, nel senso che conoscevo pochissimo di Microsoft SQL server (io mi occupo più che altro di quello), nè sapevo bene cosa sono indici, piani di manutenzione o DTS (che adesso si chiamano SSIS), la mia formazione è avvenuta “on the job”, come succede a tanti.

L’unico consiglio che ti posso dare è di studiare, documentarti, provare, fare un ambiente di test dove provare script, accrocchi, simulazioni e quant’altro, in modo da avere un idea più chiara possibile delle possibilità offerte dal motore relazionale che usi.

So di non esserti molto utile, ma non credo esistano scorciatoie in questo senso: per essere un buon DBA devi conoscere a menadito le funzioni del motore che usi, in modo che quando ti arrivano richieste o hai necessità di svolgere un determinato compito (dal fare un backup e restore di un database a un piano di manutenzione degli indici su tabelle molto grandi) tu sappia da che parte iniziare e magari abbia già provato una soluzione in test.

In bocca al lupo!
Jenga

Le storie del Supporto /11

Invocazioni allo spirito santo

Come dice Innovatel, lo Spirito Santo non sa programmare

Sapete però quante volte viene invocato? Per esempio quando …

  • lanci una TRUNCATE TABLE a capocchia,
  • lanci una DELETE FROM tabella WHERE 1=1 (proprio da ignorante…),
  • compare un BSOD (successo ieri porca pupazza) su un server di produzione (guarda caso quello che ha il tape che non funziona),
  • un utente ti chiama e dice:”Ti spiego, il database non può funzionare così” (cioè? tu spieghi a me come funziona il database? Vieni tu a fare il DBA…),
  • un utente ti chiama mentre stai contando una serie di righe e ti fa perdere il conto,
  • SQL Server dice: Msg 207, Level 16, State 1, Line 1Invalid column name ‘DIZ_DOCUMENTI’. in una SELECT di 200 righe…

Come diventare un DBA (DataBase Administrator)

Leggendo l’immenso sito SQL Server Central, mi sono imbattuto in questi 4 articoli su come diventare un perfetto DataBase Administrator:

The DBA Routine – SQL Server Central

So You’re the New DBA – SQL Server Central

Becoming A DBA, Part 1 – SQL Server Central

Becoming A DBA, Part 2 – SQL Server Central.

Ve li linko, sai mai che vogliate rubarmi il mestiere!
Se non vi riesce di leggerli, è perchè probabilmente è necessaria la registrazione (non sono sicuro, io l’ho fatta qualche anno fa), che comunque è gratuita e vi apre le porte di un archivio immenso di “How to…”, suggerimenti e pezzi di codice SQL da riutilizzare furiosamente!