2012-06-02 14 views
5

Sto pensando di lavorare con couchbase per la mia prossima applicazione web, e mi chiedo come dovrebbero essere strutturati i miei dati, in particolare l'uso di bucket. Ad esempio, supponendo che ogni utente abbia molti dati univoci, dovrebbe essere creato un bucket separato per ogni utente (forse anche per diverse categorie di dati)? Inoltre mi chiedo se ci sia un reale vantaggio/svantaggio nel separare i dati usando i bucket (oltre all'ovvio vantaggio organizzativo) invece di archiviare semplicemente tutto in un secchio.Qual è il modo corretto per separare i dati nella base di divani

risposta

5

Non si otterrà alcun guadagno in termini di prestazioni dall'utilizzo di più o meno secchi. La ragione per cui Couchbase ha secchi è tale da poter essere multi-tenant. Il caso d'uso migliore che posso immaginare per l'utilizzo di più bucket è se sei un fornitore di hosting e desideri avere utenti diversi che utilizzano lo stesso server di database. I bucket possono essere protetti da password e impedirebbero a un utente di accedere a dati di altri utenti.

Alcune persone creano più bucket per scopi organizzativi. Forse stai utilizzando due diverse applicazioni e vuoi che i dati siano separati o come hai detto forse vuoi dividere i dati per categoria.

In termini di gestione, tuttavia, è probabilmente meglio creare il minor numero possibile di bucket per l'applicazione in quanto semplificherà la logica del client riducendo la quantità di connessioni necessarie a Couchbase dal livello Web (client). Per ciascun bucket che è necessario creare una connessione client separata.

+0

Mike, hai detto che alcune organizzazioni eseguono applicazioni diverse, come le mie. qual è un buon modo per dividere e condividere i dati? Il nostro esempio sono i dati dell'ufficio e i dati delle rappresentanze sul campo. Alcuni dati dell'ufficio sono condivisi con i rappresentanti di campo ma non tutti. Quali sono i tuoi pensieri? –

Problemi correlati