Qual è lo schema canonico per la progettazione del database con MongoDB?

3

Quando si tratta di creare tabelle nei transact SQL database, come SQL-Server e Sybase , l'approccio classico alla modellazione relazionale è ben definito. (L'autorizzazione è il libro di Halpin )

  1. Stabilisci i tuoi casi d'uso
  2. Stabilisci le tue entità
  3. Determina gli attributi delle entità
  4. Determina la relazione tra le entità
  5. Disegna le tabelle con i join per soddisfare i casi d'uso nella query
  6. Rifattorizza le tabelle all'ennesimo forma normale come richiesto.

(o qualche variazione su di esso).

Per i database Cassandra - questo modello è leggermente modificato, in quanto devi iniziare con i tuoi casi d'uso e quindi progettare per zero si unisce al tempo di query. (L'autorità per questo approccio è la documentazione di formazione datastax ).

Potresti dire che lasci le tue tabelle completamente denormalizzate a livello della query per il tuo caso d'uso. Quindi il modello è più simile a:

  1. Stabilisci i tuoi casi d'uso
  2. Stabilisci le tue entità
  3. Determina gli attributi delle entità
  4. Determina la relazione tra le entità
  5. Disegna le tabelle denormalizzate per soddisfare i casi d'uso nella query

Ora MongoDb è un database basato su documenti con la possibilità di fare join.

La mia domanda è: Qual è lo schema canonico per la progettazione del database con MongoDB?

    
posta hawkeye 12.05.2017 - 14:38
fonte

1 risposta

0

Sulla base delle utili informazioni fornite da @RobertHarvey - possiamo vedere che il processo di progettazione di MongoDB è simile a Il processo di progettazione di Cassandra. (Mentre si unisce - non dovresti usarli per leggere i dati in una query).

Quindi il processo sarà simile a questo:

  1. Stabilisci i tuoi casi d'uso
  2. Stabilisci le tue entità
  3. Determina gli attributi delle entità
  4. Determina la relazione tra le entità
  5. Disegna le tabelle con i join per soddisfare i casi d'uso nella query
  6. Riforma le tabelle all'enorme forma normale come richiesto.
risposta data 14.05.2017 - 07:35
fonte

Leggi altre domande sui tag