Non mi intendo di queste cose però credo che:
[list=1][*] convertire i dati da mssql a mysql sia fattibile[*] usare sistemi open (linux & co.) per i server ti ridurrà sicuramente le spese per le licenze[*] usare sistemi open (linux & co.) probilmente ti aumenterà i costi di manutenzione sistema/rete[*] per distribuire il sistema puoi usare la tipologia multi-tier (multi livello):[/list=1]

La struttura multi livello la si potrebbe organizzare in questo modo:
Livello più profondo (livello dati):
  • distribuisci il database su più macchine
  • usi un'altra macchina per gestire il database distribuito (che darà l'impressione al resto del sistema che il database sia centralizzato su questa macchina, mentre è distribuito su tutte le altre). sarà questa macchina che si occuperà di effettuare le richieste ai vari server mysql, di ri-unirle e darle in risposta a chi le ha chieste



Livello intermedio (livello logico - applicazione che fornisce il servizio)
  • server che si occuperanno della logica applicativa del sistema
  • processeranno le richieste
  • richiederanno i dati al livello dati
  • restituiranno il risultato al successivo livello


Livello esterno (livello di presentazione - interfaccia utente web/shell/ftp/etc)
  • fornirà l'interfaccia utente al cliente



ti ripeto, non mi intendo di queste cose, ma tipicamente una architettura client/server multi-thier rappresenta quanto di più flessibile e distribuito.

poi l'organizzazione dei vari thier va ovviamente vista nel dettaglio, ogni livello potrebbe a sua volta celare una struttura su più livelli.