La cardinalità è un attributo del database. Man mano che i database aziendali diventano più grandi, spesso con più di un miliardo di voci, richiedono algoritmi più sofisticati affinché la gestione del database rimanga accessibile, flessibile ed efficiente. Una buona programmazione del database che si basa su algoritmi di cardinalità più recenti aiuta la gestione del database in un'era di big data.
La cardinalità resa semplice
La cardinalità esprime i limiti di una relazione valida. Un esempio relativamente banale che rende chiaro il significato di cardinalità è la cardinalità di un team di vendita. La cardinalità minima è di due persone; una persona non costituisce una squadra. La cardinalità massima in questo caso è meno certa e ha a che fare con attributi come il potere del team e la comunicazione ottimale all'interno di un team. In un certo numero, l'aggiunta di più membri a un team di vendita lo rende sgraziato, difficile da gestire e costoso da mantenere. A quel punto, viene raggiunta la cardinalità massima.
Cardinalità pratiche
La determinazione della cardinalità diventa molto utile nell'area della gestione di database di grandi dimensioni. La progettazione di un sistema di gestione dell'inventario di magazzino offre un esempio. Potresti decidere che per mantenere un articolo ampiamente disponibile in diverse aree geografiche, dovresti avere almeno un'istanza in ogni magazzino, consentendone più di una solo quando tutti i magazzini avevano almeno un articolo in magazzino. Le regole di cardinalità lo applicheranno ottenendo diversi vincoli di cardinalità nella progettazione della gestione del software, ad esempio proibendo posizioni simultanee per oggetti identici, contando le singole risorse in ogni posizione o etichettando la posizione e monitorando tutti gli oggetti.
Altri vincoli di cardinalità
Il raggiungimento della cardinalità richiede che ogni oggetto o gruppo di oggetti disponga di un identificatore univoco all'interno del sistema di gestione del database. Ogni oggetto ha una delle tre relazioni di cardinalità con altre entità: una relazione uno-a-uno, una relazione uno-a-molti o molti-a-uno o una relazione molti-a-molti. È essenziale stabilire la cardinalità di ogni oggetto all'interno di un database. Le regole di cardinalità devono essere flessibili e consentire il cambiamento. Il database di un'azienda dei suoi clienti via cavo, ad esempio, è notevolmente migliorato se può aggiungere rapidamente altri attributi richiesti dagli sviluppi aziendali, come clienti via cavo che sono anche clienti wireless, clienti via cavo che sono clienti wireless di altre società e clienti via cavo che anche abbonati a servizi di terze parti come Netflix. Le regole di cardinalità mantengono distinte e organizzate in modo ottimale più categorie che cambiano frequentemente.
Big Data,
In un'era di big data - set di dati grandi e complessi fino a diversi miliardi di oggetti - la costruzione di database efficienti con regole di cardinalità avanzate diventa essenziale per rendere l'archiviazione dei dati fattibile e l'accesso rapido ai dati. Un modo più antico di contare ogni parola unica nelle opere raccolte di Shakespeare, ad esempio, utilizza più di 10 milioni di byte. Un modo migliore utilizza poco più di 3,000 byte. Un modo più recente discusso da Matt Abrams sul sito Web HighScalability, utilizza 512 byte. Questi algoritmi più sofisticati consentono agli utenti di ottenere una stima della cardinalità con la precisione desiderata da più siti di archiviazione senza dover introdurre i dati su una macchina prima di identificare i dati e con un dispendio minimo di risorse di archiviazione.