2013-12-11 11 views

risposta

4

CKAN utilizza due database PostgreSQL:

  1. database del catalogo di CKAN, questo è il primo database che ti viene chiesto di configurare durante l'installazione di CKAN. Questo memorizza tutti i dati per il catalogo dati di CKAN, ad es. i metadati associati a set di dati e risorse (titoli, tag, ecc.), account utente, gruppi e organizzazioni, ecc.

  2. CKAN DataStore è una funzionalità opzionale che abilita un'API di dati e anteprime di dati per i file caricato o collegato a CKAN. Questo è un secondo database PostgresSQL, data * store * è solo il nome utilizzato da CKAN per questa funzione. (Il datastore in CKAN non ha nulla a che fare con il concetto di Google App Engine di archivio di dati che si è collegato al.)

CKAN ha anche un FileStore che, se attivata, viene utilizzata per memorizzare i file caricati a CKAN. Il FileStore non è realmente un database, è solo una directory su disco che memorizza i file caricati.

+1

Penso che sia anche importante dire che la funzione "DataStore" riguarda anche * la memorizzazione * dei dati dai set di dati registrati in un'istanza CKAN in un database strutturato. Inoltre, espone i dati dal "DataStore" a una potente API Web. –

2

Per me sono due parole per la stessa cosa.

Anche se, devo ammettere, per lo più ascolto o leggo il termine che esce dagli utenti di nosql. Se accettiamo nosql store come definizione, si tratta di un archivio orientato alle colonne, al contrario di uno orientato alla riga.

http://en.wikipedia.org/wiki/Column-oriented_DBMS

+0

Nel contesto di CKAN questa risposta è errata. – opensas

+1

@opensas: per CKAN, sembra proprio così. Ma la domanda era: *** In generale *** qual è la differenza tra un datastore e un database? –

1

Arrivando un po 'in ritardo ...

vedo un database come un particolare tipo di archivio dati. Un archivio dati è, come indica il nome, un luogo in cui sono archiviati i dati.

È possibile memorizzare i dati in un disco rigido utilizzando un sistema di archiviazione file (ad es. Ext4 in Linux) o in un database (ad es. PostgreSQL), in cui i dati sono archiviati in file, ma tali file sono gestiti dal sistema di gestione del database (autorizzazioni di accesso, univocità delle chiavi e così via).

I database NoSQL in genere non dispongono di un gestore incorporato, pertanto la gestione viene eseguita a livello di applicazione. Potresti vederli solo come un sistema di archiviazione.