Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [MySQL] Implementare app utilizzando 2 o più DB

    Ciao raga, urge aiutino

    Sembra incredibile ma è la prima volta che mi pongo questa domanda magari PROPRIO INSENSATA,
    ma vorrei capire se è utile alla gestione;
    Finora ho sembre sviluppato ambienti collegando un solo DB (MySQL) adesso mi sono trovato nela situazione di sfruttare dati (tabelle) allocati in DB differenti e mi è venuto in mente di provare a collegare più DB, uno in particolare da definire common, mi spiego meglio; sto creando un portale intranet (aziendale) dove ho una serie di tabelle che vengono utilizzati da tutti i vari ambienti del portale (per esempio la tabella utenti) ed altre solo da ambienti specifici, così ho pensato di creare un DB per ogni ambiente (nel mio caso un DB per ufficio e/o servizio) ed un DB comune dove includere unicamente le tabelle e/o viste che interessano tutti gli ambienti.

    Il problema è che non ho mai affrontato un'infrastruttura del genere, allora il quesito che pongo a chi avrà la cortesia di rispondere è il seguente;

    Può essere un approccio corretto questo oppure devo continuare a creare un elenco sterminato di tabelle in un unico DB ?

    E se fosse utile creare più DB, come faccio ad eseguire delle queries e/o viste utilizzando tabelle allocate su più DB ?

    Mi aiutate a capire, please


    Thanks

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Quote Originariamente inviata da newbobotime Visualizza il messaggio
    Il problema è che non ho mai affrontato un'infrastruttura del genere, allora il quesito che pongo a chi avrà la cortesia di rispondere è il seguente;

    Può essere un approccio corretto questo oppure devo continuare a creare un elenco sterminato di tabelle in un unico DB ?

    E se fosse utile creare più DB, come faccio ad eseguire delle queries e/o viste utilizzando tabelle allocate su più DB ?
    Avere più database è una cosa normale, nel mio caso ad esempio ho diviso il database della sicurezza da quello dei dati.
    Semplicemente avrai più connessioni con differenti stringhe di connessione, quando fai una query devi usare la connessione corretta.
    Attento però che questa strada ti porta a molte limitazioni che vanno studiate bene in fase di analisi, dividere le tabelle in più DB è una scelta che va fatta per motivi validi, non per rendere più leggibile la lista delle tabelle.

  3. #3
    Grazie URANIO per la risposta.
    Assolutamente d'accordo, in effetti sto cercando di capire il reale beneficio, sono arrivato a pensare di utilizzare più DB, non per avere una limitata lista di tabelle ma per una gestione di sicurezza dati, appunto.
    Ma il mio quesito a questo punto è questo;
    Se abbiamo più DB collegati, nel caso dovessi eseguire una join tra più tabelle allocate su differenti DB come faccio ?
    Puoi farmi un esempio ?
    Thanks

  4. #4
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Su SQLserver si può tra due database nella stessa istanza a patto che l'utenza abbia i permessi sui due database.

    Penso valga la stessa cosa per mySQL
    Prova qualcosa tipo
    SELECT A.*, B.* FROM db1.tabellaX A LEFT JOIN db2.tabellaY B ON A.idx = B.idy

    Non so l' impatto sulle prestazioni

    Se è un problema legato alla sicurezza gestirei meglio i permessi sulle singole tabelle al posto di fare distinti database.

  5. #5
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Io la buto lì ...... solamente come idea,
    ( io la ho messa in pratica con SQLServer non so se sia praticabile con MySql )

    Invece di Frammentare il DBPrincipale e rimetterne insieme i "cocci" nella applicazione

    Lasci inalterato il DB Principale
    Ti crei 2 o più DBParziali che contengano solamente delle Viste che puntano al DBPrincipale

    - DBParzialeSicurezza
    - DBParzialeMagazzino
    - DBParzialeFatturazione
    - DBParzialeEccetera

    Le tue App poi punteranno ai vari DBParziali


    .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.