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
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.
- 1. Qual è il modo corretto per separare il server di risorse e il server di autorizzazione?
- 2. Qual è il modo corretto di scaricare/separare un record da un modulo in ExtJS 4?
- 3. Modo corretto per inizializzare i dati
- 4. Qual è il modo corretto per archiviare i dati di configurazione dell'app in Java?
- 5. Qual è il modo corretto per cancellare i dati sensibili dalla memoria in iOS?
- 6. Qual è il modo corretto di reindirizzare?
- 7. Qual è il modo corretto di usare projection.stream() di D3?
- 8. Qual è il modo corretto per sovraccaricare gli operatori in classi base astratte?
- 9. Modo corretto per separare un BindingSource da un DataGridView
- 10. Qual è il modo corretto di condividere i dati tra diverse attività o frammenti?
- 11. qual è il modo corretto di memorizzare i dati tra le richieste in asp.mvc
- 12. Qual è il modo corretto per chiudere una connessione TCP
- 13. Qual è il modo corretto per rimuovere completamente il completamento automatico di Google Maps?
- 14. Qual è il modo corretto per bloccare zone di codice
- 15. qual è il modo corretto per testare le prestazioni NFS
- 16. qual è il modo 'corretto' di utilizzare objectWithID di NSManagedObjectContext:
- 17. Qual è il modo corretto per nascondere qualsiasi tag HTML?
- 18. Qual è il modo "corretto" per inizializzare un delegato C#?
- 19. Qual è il modo corretto di utilizzare Goniometro con SystemJS?
- 20. Qual è il modo corretto per rilevare l'orientamento dell'interfaccia all'avvio?
- 21. Qual è il modo corretto per codificare URL caratteri Unicode?
- 22. Qual è il modo corretto per chiudere H2?
- 23. Qual è il modo corretto per dire al browser di non memorizzare nella cache?
- 24. Qual è il modo corretto per dichiarare un Doctype HTML5.
- 25. Qual è il modo corretto di riprendere un'app Android PhoneGap?
- 26. Qual è il corretto "modo C++" per fare variabili globali?
- 27. Qual è il modo corretto per chiamare [super layoutsubviews]?
- 28. qual è il modo corretto per verificare False?
- 29. Qual è il modo corretto di utilizzare PushSharp?
- 30. Qual è il modo corretto di fornire documentazione di supporto per i comandi git personalizzati?
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? –