16 messaggi dal 06 settembre 2002
buona giornata

devo migrare da access a sqlserver2005 6 applicazioni ospitate in un unico sito;
ora ogni applicazione ha un proprio database Access.

Secondo la vostra esperienza, organizzare in un unico database aziendale tutte le applicazioni migliora o peggiora in modo significativo le prestazioni?

Nel caso optassi per un unico database, è preferibile utilizzare per alcune strutture dati, come gli indirizzi, una unica tabella con un campo che definisce l'applicazione di riferimento o creare tabelle divise per ogni applicazione?


Grazie
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
pippopd wrote:
buona giornata

devo migrare da access a sqlserver2005 6 applicazioni ospitate in un unico sito;
ora ogni applicazione ha un proprio database Access.

Secondo la vostra esperienza, organizzare in un unico database aziendale tutte le applicazioni migliora o peggiora in modo significativo le prestazioni?

Nel caso optassi per un unico database, è preferibile utilizzare per alcune strutture dati, come gli indirizzi, una unica tabella con un campo che definisce l'applicazione di riferimento o creare tabelle divise per ogni applicazione?

la centralizzazione ha senso solo se, ovviamente, i dati sono uniformi ed omogenei tra le applicazioni.. l'obiettivo prestazionale in questo senso (e comunque) e' irrilevante.. in caso di omogeinita' e' imperativo farlo in modo da garantire la corretta informazione senza dover procedere ad aggiornare piu' basi dati, in quanto l'informazione perderebbe la garanzia di univocita'..
definire degli attributi specifici di applicazione mi pare fuori luogo, in quanto e' irrilevante che l'anagrafica clienti sia utilizzata dall'applicativo CRM come anche dall'applicativo di contabilita' ordinaria o fatturazione.. tutti e tre attingono alla medesima fonte dati.. ed in ogni caso, modifiche e/o integrazioni successive possono sviare completamente il significato dell'attributo..
cosa ha sicuramente senso, specialmente in questi casi, e' una forte separazione in schemi, come nell'esempio di AdventureWorks di Microsoft SQL Server.. in questo modo definisci categoricamente a quale "area" di competenza appartiene ogni singolo oggetto..
relativamente all'accesso ai dati, che "dovresti" concedere solo tramite stored procedures [  ], puoi eventualmente classificarti una naming convention che ti sia d'aiuto a riconoscere a colpo d'occhio l'applicativo interessato.. ad esempio, potresti utilizzare il suffisso CRM per il CRM, COM per tutte le comuni e via dicendo, ovviamente in base alla eventuale diversita' di utilizzo/accesso/codifica.. arrivando quindi ad un insieme di procedure quali

Anagrafica: lettura di singola riga per chiave:
contabilita' generale e fatturazione:
[Comuni].[usp_COGE_Anagrafica$GetByKey]
CRM: [Comuni].[usp_CRM_Anagrafica$GetByKey]

Anagrafica Azienda:
accesso dati generali aziena
tutte: [Comuni].[usp_COM_Azienda$Get]
tutte: [Comuni].[usp_COM_Azienda$Update]

e cosi' via... non esiste niente di "validante" lato server in questo senso, ma solo la tua forte imposizione di regole personali nella convenzione dei nomi puo' preservare la corretta implementazione..
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
16 messaggi dal 06 settembre 2002
Andrea Montanari ha scritto:
salve,
pippopd wrote:
buona giornata

devo migrare da access a sqlserver2005 6 applicazioni ospitate in un unico sito;
ora ogni applicazione ha un proprio database Access.

Secondo la vostra esperienza, organizzare in un unico database aziendale tutte le applicazioni migliora o peggiora in modo significativo le prestazioni?

Nel caso optassi per un unico database, è preferibile utilizzare per alcune strutture dati, come gli indirizzi, una unica tabella con un campo che definisce l'applicazione di riferimento o creare tabelle divise per ogni applicazione?

la centralizzazione ha senso solo se, ovviamente, i dati sono uniformi ed omogenei tra le applicazioni.. l'obiettivo prestazionale in questo senso (e comunque) e' irrilevante.. in caso di omogeinita' e' imperativo farlo in modo da garantire la corretta informazione senza dover procedere ad aggiornare piu' basi dati, in quanto l'informazione perderebbe la garanzia di univocita'..
definire degli attributi specifici di applicazione mi pare fuori luogo, in quanto e' irrilevante che l'anagrafica clienti sia utilizzata dall'applicativo CRM come anche dall'applicativo di contabilita' ordinaria o fatturazione.. tutti e tre attingono alla medesima fonte dati.. ed in ogni caso, modifiche e/o integrazioni successive possono sviare completamente il significato dell'attributo..
cosa ha sicuramente senso, specialmente in questi casi, e' una forte separazione in schemi, come nell'esempio di AdventureWorks di Microsoft SQL Server.. in questo modo definisci categoricamente a quale "area" di competenza appartiene ogni singolo oggetto..
relativamente all'accesso ai dati, che "dovresti" concedere solo tramite stored procedures [  ], puoi eventualmente classificarti una naming convention che ti sia d'aiuto a riconoscere a colpo d'occhio l'applicativo interessato.. ad esempio, potresti utilizzare il suffisso CRM per il CRM, COM per tutte le comuni e via dicendo, ovviamente in base alla eventuale diversita' di utilizzo/accesso/codifica.. arrivando quindi ad un insieme di procedure quali

Anagrafica: lettura di singola riga per chiave:
contabilita' generale e fatturazione:
[Comuni].[usp_COGE_Anagrafica$GetByKey]
CRM: [Comuni].[usp_CRM_Anagrafica$GetByKey]

Anagrafica Azienda:
accesso dati generali aziena
tutte: [Comuni].[usp_COM_Azienda$Get]
tutte: [Comuni].[usp_COM_Azienda$Update]

e cosi' via... non esiste niente di "validante" lato server in questo senso, ma solo la tua forte imposizione di regole personali nella convenzione dei nomi puo' preservare la corretta implementazione..
saluti


Grazie per la rapidità; la seconda parte è chiarissima ma vorrei precisare meglio la prima domanda;
avendo sul server risorse limitate per CPU e Ram (500MB dedicati),
ci sono differenze sostanziali di utilizzo delle risorse da parte di SqlServer tra operare su un singolo database o su più database contemporaneamente?

saluti
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
pippopd ha scritto:
avendo sul server risorse limitate per CPU e Ram (500MB dedicati),
ci sono differenze sostanziali di utilizzo delle risorse da parte di SqlServer tra operare su un singolo database o su più database contemporaneamente?


la centralizzazione non puo' far altro che migliorare l'utilizzo delle risorse scarse.. se hai, ad esempio, 2 anagrafiche su 2 db diversi, ma le anagrafiche sono le stesse, hai una duplicazione inutile anche delle risorse occupate..
quindi tendenzialmente hai solo i benefici del consolidamento..
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
16 messaggi dal 06 settembre 2002
Andrea Montanari ha scritto:
salve,
pippopd ha scritto:
avendo sul server risorse limitate per CPU e Ram (500MB dedicati),
ci sono differenze sostanziali di utilizzo delle risorse da parte di SqlServer tra operare su un singolo database o su più database contemporaneamente?


la centralizzazione non puo' far altro che migliorare l'utilizzo delle risorse scarse.. se hai, ad esempio, 2 anagrafiche su 2 db diversi, ma le anagrafiche sono le stesse, hai una duplicazione inutile anche delle risorse occupate..
quindi tendenzialmente hai solo i benefici del consolidamento..
saluti


Grazie e buona giornata

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.