Database
 sql >> Database >  >> RDS >> Database

Fogli di calcolo e database:è ora di cambiare? Parte 1

I fogli di calcolo – Excel, Fogli Google o un foglio con qualsiasi altro nome – sono strumenti davvero interessanti e potenti. Ma lo sono anche i database. Quando dovresti restare con un foglio di calcolo? Quando dovresti passare a un database?

È possibile utilizzare fogli di calcolo e database per scopi simili. Dato che entrambi organizzano i dati e facilitano il reporting, a volte può essere difficile determinare quale sia il migliore da utilizzare. Parliamo quindi dei pro e dei contro di ciascuna opzione.

All'inizio...

Se hai appena iniziato a lavorare, un foglio di calcolo (o un "foglio") è quasi sempre la tua prima scelta. Le startup raramente hanno il budget per supportare un database personalizzato. E inoltre, la tua attività è nuova; non avrai idea se rimarrà piccolo, si trasformerà in un'enorme società o sarà da qualche parte nel mezzo.

Un altro fattore è che la struttura e l'organizzazione della tua azienda probabilmente cambieranno man mano che cresce. Quindi, in realtà, la creazione di un database all'inizio non è un'opzione comune. È qui che di solito entrano in gioco i fogli.

Il motivo più importante per utilizzare i fogli è che sono disponibili. Puoi iniziare a utilizzare Microsoft Excel, Fogli Google o qualsiasi altro programma per fogli di calcolo con pochi clic. Non devi pianificare una struttura complicata; puoi semplicemente inserire i tuoi dati, fare calcoli e rapporti e condividere le informazioni con i colleghi. I fogli offrono molte fantastiche funzionalità integrate e possono portare avanti una piccola impresa per un bel po'.

Quindi supponiamo che tu abbia tutti i tuoi dati sui fogli. Perché dovresti considerare la creazione di un database? In altre parole, perché complicarti la vita se tutto funziona?

A questo punto, ti suggerisco di chiederti come funziona tutto bene. Ricorda, tutto funziona bene finché non smette di funzionare. Nel caso dei fogli, più dati hai, più problemi puoi incontrare. In che modo i database ti aiutano a evitare questi problemi? E quando dovresti considerare di cambiare?

Utilizzo dei fogli di calcolo per organizzare i dati

Supponiamo di aver avviato un'azienda che fornisce servizi di telecomunicazione e Internet ai clienti. Dobbiamo tenere traccia di quale cliente è attualmente abbonato a quale servizio. I clienti potrebbero avere più di un servizio attivo alla volta e il servizio potrebbe scadere al termine di un determinato periodo o rinnovarsi automaticamente.

Diamo un'occhiata a una soluzione che utilizza i fogli.

Abbiamo semplicemente creato un elenco di tutti i dati che abbiamo, ovvero c'è un mix di dati in un unico posto. Abbiamo i dati dei clienti (colonne da A a E), i tipi di servizio (colonna F) e i dettagli del servizio (colonne G, H e J).

A prima vista, tutto sembra abbastanza buono. Possiamo visualizzare tutti i dati senza eseguire azioni complesse. Possiamo filtrare i dati di cui abbiamo bisogno e creare tabelle pivot o grafici a scopo di reporting. Fin qui tutto bene.

Ma se continuiamo a utilizzare i fogli quando riceviamo più clienti, possiamo raggiungere un punto in cui tutto diventa troppo grande per essere gestito dai fogli. E questo comporta una nuova serie di problemi.

Potenziali problemi con i fogli di lavoro

Rispetto ai fogli di calcolo, i database sono complicati. Ma queste “complicazioni” servono a uno scopo utile; prevengono o almeno riducono al minimo i seguenti problemi:

Qualità dei dati

La qualità e la coerenza dei dati è un grosso problema per i fogli più grandi. Sebbene intendiamo archiviare i dati correttamente, problemi di qualità dei dati sono molto comuni. Le persone commettono errori o abbiamo informazioni inaspettate da inserire. Pensa solo a come gli scenari for riportati di seguito potrebbero presentare un problema:

  1. Vogliamo aggiungere un nuovo cliente senza specificare il tipo di servizio. Dovremmo aggiungere i dettagli del cliente e tralasciare i dettagli del servizio? Se possiamo inserire solo i clienti che hanno i dettagli del servizio, si tratta di un'anomalia di inserimento .
  2. E se aggiungiamo i dati del servizio quando diventano disponibili, dopo aver creato il record del cliente?
  3. Cosa succede se un cliente si abbona a più servizi? Dovremmo creare un nuovo record per ogni servizio, poiché possiamo avere un solo tipo di servizio per record?
  4. Cosa succede se abbiamo più record per un cliente e dobbiamo aggiornare le informazioni di quel cliente? A meno che non modifichiamo le informazioni in tutte le righe pertinenti, i nostri dati non saranno coerenti. Potremmo avere due indirizzi diversi per lo stesso account; in tale circostanza, come potremmo sapere quali dati sono corretti?
  5. Cosa succede quando cancelliamo i dati? Se eliminiamo l'intera riga, perdiamo tutti i dati del cliente. Questa non è una buona idea; è meglio rimuovere solo i dati del servizio e conservare i dati dei clienti. Ma come possiamo farlo se è tutto archiviato insieme in una riga?
  6. Cosa succede se un solo cliente si abbona a un servizio e noi cancelliamo quel record? Se eliminiamo il record di quel cliente, eliminiamo anche tutti i record di quel servizio? (Questa è chiamata anomalia di eliminazione .) Significa che non offriamo più quel servizio? Se lo stiamo ancora offrendo, abbiamo perso tutti i parametri relativi a quel servizio.

Ovviamente, ci saranno complicazioni nella memorizzazione dei dati per qualsiasi attività commerciale. Siamo stati tutti colpiti da problemi di qualità dei dati, ad es. ricevuto fatture per servizi che non avevamo ordinato, addebitato due volte per la stessa cosa o inviato un pacco all'indirizzo sbagliato. Queste cose accadono e su un piccolo set di dati è relativamente facile risolverle. Ma cosa succede quando abbiamo migliaia o addirittura milioni di righe? Presto dedicheremo quasi tutto il nostro tempo alla correzione di questi problemi.

Problemi di prestazioni

Problemi di prestazioni si verifica quando i set di dati diventano troppo grandi per essere gestiti in modo efficiente da un foglio. Incontrerai problemi di qualità dei dati molto prima dei problemi di prestazioni, ma ciò non significa che i problemi di prestazioni non siano importanti. Al contraire; i problemi di prestazioni possono essere ancora più pericolosi dei problemi di qualità dei dati.

È comune cercare righe specifiche, inserire nuove righe, aggiornare o eliminare i valori delle celle nelle righe esistenti ed eliminare intere righe. Tutte queste azioni richiedono molti filtri, il che non è un problema su un piccolo set di dati. Ma quando i tuoi fogli diventano davvero grandi, anche una semplice operazione potrebbe richiedere pochi minuti. Trascorrere metà della giornata lavorativa ad aspettare che il filtro faccia il suo lavoro non è certo una scelta saggia.

C'è anche il problema correlato della ridondanza:la memorizzazione degli stessi dati più volte sul disco (ad es. i dati dei clienti vengono archiviati più e più volte in più righe). Questo avrà anche un impatto sulle prestazioni.

Su hardware decente, i fogli con migliaia di righe andranno bene. Ma quando entri in decine di migliaia di righe, i problemi di prestazioni possono alzare la testa. Inutile dire che i fogli con centinaia di migliaia o addirittura milioni di righe avranno prestazioni estremamente scarse.

D'altra parte, i database sono qui per risolvere i problemi di prestazioni. Quando tutto è impostato correttamente, lavorare con milioni di righe non comporta alcuna sfida.

Gestione dei dati storici e dei rapporti

Un altro problema importante con i fogli è il monitoraggio delle modifiche ai dati nel tempo. Se elimini semplicemente i dati dai fogli, li perdi. Se decidi di archiviare un foglio giornaliero (per acquisire tutte le modifiche e conservare i dati storici), ti ritroverai presto sepolto sotto tonnellate di fogli. La creazione di rapporti da una tale struttura richiede molto tempo e la qualità di tutti i rapporti generati da essa sarebbe molto discutibile.

Hai problemi di questo tipo con i tuoi dati?

Nell'articolo di oggi, abbiamo discusso di alcuni svantaggi dell'utilizzo dei fogli per organizzare molti dati. Hai mai avuto uno di questi problemi? Sei pronto a portare la tua attività al livello successivo? Se la risposta è "sì", sei nel posto giusto! La prossima settimana impareremo come un database risolve i problemi con la memorizzazione dei dati nei fogli.