Domanda

Mi chiedevo il trade-off per l'utilizzo di banche dati e quali sono le altre opzioni erano? Inoltre, quali sono i problemi non sono adatti per i database?

Sono preoccupato con database relazionali.

È stato utile?

Soluzione

Il concetto di database è molto ampio. Farò alcune semplificazioni in quello che vi presento qui.

Per alcune attività, il database più comune è il database relazionale. Si tratta di una banca dati sulla base del modello relazionale. Il modello relazionale presuppone che si descrivono i dati in righe, appartenenti alle tabelle dove ciascuna tabella contiene un dato e fissa il numero di colonne. Si invia i dati su una base "per riga", nel senso che è necessario fornire una riga in un solo colpo che contiene i dati relativi a tutte le colonne della tabella. Ogni fila presentato riceve normalmente un identificatore che è unico a livello di tabella, a volte a livello di database. È possibile creare relazioni tra le entità nel database relazionale, per esempio dicendo che una determinata cella della tabella deve fare riferimento a riga di un'altra tabella, in modo da preservare il cosiddetto "integrità referenziale".

Questo modello funziona bene, ma non è l'unico là fuori. In alcuni casi, i dati sono meglio organizzati come un albero. Il filesystem è un database gerarchico. parte da una radice, e tutto ciò che va sotto questa radice, in un albero come la struttura. Un altro modello è la coppia chiave / valore. Sleepycat BDB è fondamentalmente un negozio di entità chiave / valore.

LDAP è un altro database, che ha due vantaggi:. Archivi di dati piuttosto generici, è distribuito da disegno, ed è ottimizzato per la lettura

database grafico e triplestore consentono di memorizzare un grafico e esegue la ricerca di isomorfismo. Questo è in genere necessario se si dispone di un insieme di dati molto generico che può comprendere una vasta livello di descrizione delle vostre entità, così ampia che è praticamente sconosciuto. Questo è in netta opposizione al modello relazionale, in cui si creano le tabelle con un insieme molto preciso di colonne, e sai cosa ogni colonna è andare a contenere.

Alcuni database basati su colonne relazionali esistono pure. Invece di presentare i dati per riga, è li trasmette per tutta la colonna.

Quindi, per rispondere alla tua domanda: un database è un metodo per memorizzare i dati. Tecnicamente, anche un file di testo è un database, anche se non particolarmente bella. La scelta del modello dietro il database è in gran parte relativi a ciò che è le esigenze tipiche della vostra applicazione.

Impostazione della risposta come CW come sto dicendo, probabilmente qualcosa di strettamente non è corretto. Sentitevi liberi di modificare.

Altri suggerimenti

Questa è una domanda piuttosto ampia, ma i database sono adatti per la gestione relazionale dei dati . Alternative sarebbero quasi sempre implica di progettare il proprio motore di memorizzazione dei dati e il recupero, che per la maggior parte di serie / piccole applicazioni non vale la pena.

Uno scenario tipico che non è adatto per un database è lo stoccaggio di grandi quantità di dati che sono organizzati come una quantità relativamente piccola di file logici, in questo caso un semplice sistema di filesystem simile può essere sufficiente.

Non dimenticate di dare un'occhiata al database NoSQL. E 'piuttosto la nuova tecnologia e ben si adatta per le cose che non si adatta / scala in un database relazionale.

Utilizzare un database se si dispone di dati per memorizzare e query.

Tecnicamente, la maggior parte delle cose sono adatti per i database. I computer sono fatti per elaborare i dati e basi di dati sono fatte per la memorizzazione.

L'unica cosa da considerare è il costo. Costi di distribuzione, costi di manutenzione, investimento di tempo, ma di solito è valsa la pena.

Se avete solo bisogno di memorizzare i dati molto semplici, flat file sarebbe un'alternativa (file di testo).

Nota: è stato utilizzato il termine generico 'database', ma ci sono molti diversi tipi e le implementazioni di questi diversi

.
  • Per le applicazioni ricerca , full-text motori di ricerca (alcuni dei quali sono integrati al DBMS tradizionali, ma alcuni dei quali non sono), può essere una buona alternativa, permettendo sia più funzioni (vari consapevolezza linguistica, la capacità di avere i dati semi-strutturati, classifica ...), così come una migliore performance.

  • applicazioni Inoltre, ho visto in cui i dati di configurazione è memorizzato nel database, e mentre questo ha un senso, in alcuni casi, usando i file di testo (o YAML, XML e simili) e caricando gli oggetti sottostanti durante l'inizializzazione, può essere preferibile, a causa della natura autonomo di tale alternativa, e alla facilità di modificare e replicare tali file.

  • Un file di log piatto , può essere una buona alternativa per la registrazione al DBMS, a seconda dell'uso, naturalmente.

Detto questo, negli ultimi 10 anni o giù di lì, i sistemi DBMS, in generale, hanno aggiunto molte caratteristiche, per aiutarli a gestire diverse forme di dati e diverse funzionalità di ricerca (es: full-text cercare una ribalta menzionato, XML, intelligente stoccaggio / manipolazione di blob, potenti funzioni definite dall'utente, ecc) che renderli più versatile , e quindi un servizio abbastanza onnipresente. La loro forza rimane principalmente con i dati relazionali tuttavia .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top