consiglio su supporto di memorizzazione

Kelly

Utente Attivo
5 Set 2008
112
1
18
Salve,

Avrei impellente necessità di farmi consigliare il modo giusto per la memorizzazione dei dati da un sito web.

Supponiamo che io abbia 2000 clienti, ognuno dei quali ha necessità di fare periodicamente un ordine con tanti articoli, un singolo ordine può anche arrivare a 300 righe ....
Il modo migliore per memorizzare dati è sicuramente il database, nel mio caso specifico si tratta di MySql,
pensavo di creare una tabellla per ciascun cliente a runtime da codice php, ed utilizzare sempre la stessa tabella, che posso cancellare quando evado l'ordine o modificare.

Quindi avrei un unico database e x tabelle, chiaro che se ho 2000 clienti, avrei 2000 tabelle.
A questo punto quali sono le cose negative alle quali potrei andare incontro?

E' consigliabile un database anche in questo caso?


grazie mille!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ti sposto in mysql
comunque cosa intendi per supporto? cd, chiavette...?
o come organizzare il db?
comunque così a prima vista l'idea di 2000 tabelle è da scartare
 

Kelly

Utente Attivo
5 Set 2008
112
1
18
ciao grazie


Per supporto di memorizzazione intendo il database ad esempio...
e come organizzarlo secondo le mie necessità, spiegate nel post precedente.

grazie :)






ciao
ti sposto in mysql
comunque cosa intendi per supporto? cd, chiavette...?
o come organizzare il db?
comunque così a prima vista l'idea di 2000 tabelle è da scartare
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
non hai indicato la perodicità dell'ordine,
se l'ordine fosse settimanale avresti 30 milioni di record/anno (50 settimane)
che si dimezzano x ordini quindicinali ed altrettanto per ordini mensili
quindi da 30 a 7,5 milioni di record/anno
non hai indicato il tempo di completamento dell'ordine, assumo ordini serviti velocemente
quindi che esauriscono la loro vita in breve tempo (qualche giorno)

credo che l'importanza del database, suggerisca di avere un'attenzione per soluzioni di backup efficienti
oltre che attenzione al tempo di risposta ed alla ricerca dei dati

consideriamo anche che il "motore" del database è già di suo ottimizzato per la ricerca delle informazioni

condivido poco l'organizzazione delle tabelle per cliente, ma propendo più per,
la tabella degli ordini attivi e le tabelle degli ordini archiviati ( + ddt + fatture + note di variazione )
tutte con adeguata indicizzazione (magari non basata sugli "id" automatici)

si potrebbero creare delle tabelle settimanali (52/anno), quindicinali o mensili in cui spostare gli ordini esauriti
(lo spostamento fatto con query secche, magari con commit/rollback, non con giri di php o altro linguaggio)
Codice:
DELETE FROM tabella OUTPUT DELETED.* INTO archivio_201312 WHERE yearmonth=201312
delle view ben fatte, sulle tabelle nell'insieme, possono poi consentire la ricerca dei documenti con una "programmazione" semplice

infine le tabelle d'archivio, ormai statiche, possono generare dei file di "testo" da archiviare su supporti
che ne consentono la "durata" nel tempo (vedi aspetti civilistico/fiscali meglio soddisfatti da una buona base dati)

da ultimo prima di decidere, keep it simple !
ciao
Marino
 
Ultima modifica:

Kelly

Utente Attivo
5 Set 2008
112
1
18
consiglio su supporto database

Ciao Marino

ti ringrazio per la risposta,
Il cliente può fare l'ordine ogni settimana, due al giorno , uno al mese, dipende da ciascun cliente!
Non ho necessità di suddividere ordini attivi o archiviati.
Ho bisogno di una tabella sulla quale memorizzare un ordine per volta,nel senso che
quando il cliente evade l'ordine, quindi lo invia per la preparazione della merce, io cancellerei la tabella, se invece non
lo evade , allora si ritroverebbe sempre quell'ordine che può modificare, e starebbe in piedi finchè non lo evade.
Ho pensato di creare una tabella per ogni cliente perchè se facessi un'unica tabella con tutti i record dei clienti penso che sarebbe peggio...oltretutto so che mysql con TRUNCATE ha la possibilità di cancellare la tabella e ricreare la struttura , evitando quindi il discorso della compattazione....che ne pensi....!





non hai indicato la perodicità dell'ordine,
se l'ordine fosse settimanale avresti 30 milioni di record/anno (50 settimane)
che si dimezzano x ordini quindicinali ed altrettanto per ordini mensili
quindi da 30 a 7,5 milioni di record/anno
non hai indicato il tempo di completamento dell'ordine, assumo ordini serviti velocemente
quindi che esauriscono la loro vita in breve tempo (qualche giorno)

credo che l'importanza del database, suggerisca di avere un'attenzione per soluzioni di backup efficienti
oltre che attenzione al tempo di risposta ed alla ricerca dei dati

consideriamo anche che il "motore" del database è già di suo ottimizzato per la ricerca delle informazioni

condivido poco l'organizzazione delle tabelle per cliente, ma propendo più per,
la tabella degli ordini attivi e le tabelle degli ordini archiviati ( + ddt + fatture + note di variazione )
tutte con adeguata indicizzazione (magari non basata sugli "id" automatici)

si potrebbero creare delle tabelle settimanali (52/anno), quindicinali o mensili in cui spostare gli ordini esauriti
(lo spostamento fatto con query secche, magari con commit/rollback, non con giri di php o altro linguaggio)
Codice:
DELETE FROM tabella OUTPUT DELETED.* INTO archivio_201312 WHERE yearmonth=201312
delle view ben fatte, sulle tabelle nell'insieme, possono poi consentire la ricerca dei documenti con una "programmazione" semplice

infine le tabelle d'archivio, ormai statiche, possono generare dei file di "testo" da archiviare su supporti
che ne consentono la "durata" nel tempo (vedi aspetti civilistico/fiscali meglio soddisfatti da una buona base dati)

da ultimo prima di decidere, keep it simple !
ciao
Marino
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
parlando di "truncate", io capisco che puoi avere solo un ordine attivo per volta per cliente
e ad evasione avvenuta, di fatto cancelli l'ordine ricreando la tabella.
se il cliente vuole tenere più ordini perchè si è fatto un "prograqmma" o perchè così gli garba, truncate non funziona più ...

non conosco la struttura di mysql, ma se il database fosse organizzato con un unico file per i dati ed un secondo file
per gli indici, cade il tuo ragionamento di, "evitando quindi il discorso della compattazione", in questa situazione
cancellare l'ordine o ricreare la tabella è la stessa cosa

dal tuo scritto traspare che non ti interessa l' archiviazione,
se è veramente così, avrai un database snellissimo con, al massimo, 2000 ordini ... 600.000 righe (+/- nel caso peggiore),
ti conviene seguire i ragionamenti che stai facendo ?
con una buona indicizzazione, non dovresti vedere tempi di attesa
ciao
Marino
 
Ultima modifica:

Kelly

Utente Attivo
5 Set 2008
112
1
18
grazie per la risposta.....
la prenderò in considerazione.
ciao ;)





parlando di "truncate", io capisco che puoi avere solo un ordine attivo per volta per cliente
e ad evasione avvenuta, di fatto cancelli l'ordine ricreando la tabella.
se il cliente vuole tenere più ordini perchè si è fatto un "prograqmma" o perchè così gli garba, truncate non funziona più ...



non conosco la struttura di mysql, ma se il database fosse organizzato con un unico file per i dati ed un secondo file
per gli indici, cade il tuo ragionamento di, "evitando quindi il discorso della compattazione", in questa situazione
cancellare l'ordine o ricreare la tabella è la stessa cosa

dal tuo scritto traspare che non ti interessa l' archiviazione,
se è veramente così, avrai un database snellissimo con, al massimo, 2000 ordini ... 600.000 righe (+/- nel caso peggiore),
ti conviene seguire i ragionamenti che stai facendo ?
con una buona indicizzazione, non dovresti vedere tempi di attesa
ciao
Marino
 
Discussioni simili
Autore Titolo Forum Risposte Data
S Consiglio si relazione tabelle MS Access 1
A Consiglio curvatura monitor Programmazione 0
G Consiglio su piattaforma forum da utilizzare CMS (Content Management System) 1
A Consiglio per creazione sito web CMS (Content Management System) 1
C [Diagramma E/R] Consiglio su progetto Database 0
sbolde91 Consiglio gestione Hosting Hosting 2
B Richiesta Consiglio E-commerce CMS (Content Management System) 1
A consiglio su telecamere ip wi-fi Presentati al Forum 0
S Consiglio esercizio Javascript Javascript 2
M Consiglio sulla gestione di Gerarchie Database 0
L Consiglio SEO gestione dominio + free hosting SEO e Posizionamento 6
M [DIAGRAMMA ER] Consiglio su progetto Presentati al Forum 1
R Consiglio Hosting per e-commerce Hosting 8
L Ciao, chiedo consiglio Presentati al Forum 1
Web93 RICHIESTA CONSIGLIO - FARE UN SITO WEB CMS (Content Management System) 1
F Consiglio IP camera per timelapse (anche notturno) IP Cam e Videosorveglianza 0
M [PHP] Consiglio su come istanziare un Bottone PHP 0
S [PHP] Richiesta consiglio PHP 1
M Consiglio su problematica impianto videosorveglianza IP Cam e Videosorveglianza 4
M [HTML] consiglio su label e checkbox riguardo l'allineamento HTML e CSS 3
D consiglio evitare truffe Annunci servizi di Social Media Marketing 11
A [Visual Basic] Consiglio sul datagridview Visual Basic 0
G [Diagramma ER] Consiglio su progetto Database 0
G consiglio acquisto telecamera nascosta in sensore allarme IP Cam e Videosorveglianza 0
N Consiglio struttura database WFM Database 1
Q consiglio per python Programmazione 1
C Consiglio configurazione IPCam on line su pagina web IP Cam e Videosorveglianza 2
A Consiglio hosting offshore?? Hosting 3
L Wordpress: consiglio plugin per "verifica disponibilità" WordPress 0
S Consiglio Gestionale/ERP su commessa Windows e Software 0
A Richiesta consiglio per kit videosorveglianza IP Cam e Videosorveglianza 0
D [Photoshop] Consiglio acquisto tavoletta grafica de xp-pen Photoshop 0
R Consiglio rete cablata Reti LAN e Wireless 4
D Consiglio per rete ufficio Reti LAN e Wireless 0
W [CMS] Un consiglio per il CMS più adatto a me CMS (Content Management System) 2
E Consiglio sistema di videosorveglianza IP Cam e Videosorveglianza 0
D [HTML] Consiglio su sito Joomla Joomla 6
M [MS Access] consiglio sviluppo query MS Access 1
D Consiglio su come impostare IP statico Reti LAN e Wireless 0
G [PHP] Consiglio su Qry/array PHP 3
M Consiglio su creazione rete Reti LAN e Wireless 0
trattorino Consiglio e parere Annunci servizi di Social Media Marketing 4
Ibernato Consiglio host Hosting 7
M consiglio sistema di videosorveglianza IP Cam e Videosorveglianza 1
andreas88 Consiglio valore in euro di un Notebook usato Discussioni Varie 3
G consiglio telecamere per esterno IP Cam e Videosorveglianza 4
W Consiglio su gestione di un form con XMLHttpRequest Ajax 0
E Consiglio telecamera wifi motorizzata esterno con power bank IP Cam e Videosorveglianza 5
felino TV Box Android: consiglio su quale acquistare Discussioni Varie 0
A Ciao a tutti, volevo chiedervi un consiglio riguardo l'errore che viene fuori quando tento di lancia Presentati al Forum 1

Discussioni simili