Un db centrale per un blog per siti Web sever - la colonna "app_id"

0

Ho alcuni blog / siti web ospitati sul mio vps. Recentemente ho deciso di spostare un db su un singolo server centrale / vps perché tutti i blog hanno la stessa struttura in termini di codice e struttura del db.

Il problema è, come posso iniziare a utilizzare facilmente "application_id" nel mio db? Indica che un sito Web appartiene a dati.

Di ', ho queste tabelle:

   -- users
   -- articles
   -- categories
   -- tags

e altri. Ora dovrò inserire una colonna aggiuntiva in ogni tabella: "application_id"

Non è un grosso problema. Credo. Ma forse c'è un modo semplice e più intelligente per ottenere lo stesso obiettivo?

E in generale, è una buona idea spostarlo in un unico vps / server / db centrale?

    
posta Radiz 01.11.2017 - 03:00
fonte

2 risposte

1

Non vorrei mescolare i database di diversi siti web. Ci sono diversi motivi:

  • Probabilmente non vuoi che i blog siano in grado di accedere al contenuto di un altro blog.
  • Anche se sei l'autore di tutti i blog, quindi il motivo sopra riportato non è importante per te, potrebbe comunque accadere che si verifichi un errore e ci siano articoli, categorie o anche utenti confusi più facilmente.
  • Se disponi di molti dati nel tuo database, potrebbe essere meno performante memorizzare tutti i tuoi dati in un unico database.
  • Immagina di voler spostare un blog su un altro server tra qualche anno. Quindi sarebbe molto più semplice farlo se i dati sono separati dai dati degli altri blog.

Se è necessario impostare la stessa struttura di database molte volte, suggerirei di scrivere uno script di installazione o qualcos'altro che semplifica la creazione del database piuttosto che metterli tutti insieme.

    
risposta data 01.11.2017 - 10:32
fonte
0

Ma forse c'è un modo semplice e più intelligente per raggiungere lo stesso obiettivo?

A meno che non si riesca a trovare un modo unico per definire i dati di ciascun blog all'interno della struttura del database esistente - ad esempio, ogni blog contiene esclusivamente una serie di categorie - l'approccio migliore sarebbe aggiungere un application_id (o blog_id) a quel singolo database che vuoi caricare / creare. Cioè, se riesci a trovare una "chiave" unica, usa quella "chiave" per distinguere quali dati nel tuo singolo database appartengono a quale blog.

Potresti creare viste sul tuo singolo database con ogni serie di viste associate a ciascun blog. Ovviamente, avresti ancora bisogno di una "chiave" in modo che le tue visualizzazioni rappresentino i dati solo per quel blog.

Mentre (probabilmente) come (o più) doloroso dell'aggiunta di un application_id, potresti anche avere un set di tabelle per ogni blog con i nomi delle tabelle che definiscono il blog a cui sono associati, come blog1_categories , blog2_categories , blog1_users , blog2_users ... Non consiglio questo ma è un'opzione se vuoi mantenere separati i dati del blog ma in un unico database.

E in generale, è una buona idea spostarlo in un singolo vps / server / db? centrale

I pro e i contro - prestazioni, sicurezza, ecc. - sono indirizzati in modo equo da @ Gregor, @ Phill W e te stesso in una delle risposte e dei commenti già menzionati.

    
risposta data 31.12.2017 - 20:27
fonte

Leggi altre domande sui tag