2 milioni di database? Suppongo che tu intendessi "righe".
In ogni caso, per quanto riguarda le limitazioni: una delle cose più importanti da tenere a mente è che NDB/MySQL Cluster non è un database di uso generale. In particolare, le operazioni di join, ma anche le subquery e le operazioni di intervallo (query come: ordini creati tra ora e una settimana fa), possono essere notevolmente più lente di quanto ci si potrebbe aspettare. Ciò è in parte dovuto al fatto che i dati sono distribuiti su più nodi. Sebbene siano stati apportati alcuni miglioramenti, le performance di Join possono ancora essere molto deludenti.
D'altra parte, se è necessario gestire molte transazioni simultanee (preferibilmente di piccole dimensioni) (in genere aggiornamenti/inserimenti/eliminazione di una riga singola per chiave primaria) e il proprio personale per conservare tutti i dati in memoria, quindi può essere una soluzione molto scalabile e performante.
Dovresti chiederti perché vuoi il cluster. Se vuoi semplicemente il tuo database ordinario che hai ora, eccetto con una disponibilità del 99,999%, potresti essere deluso. Certamente, il cluster MySQL può offrire grande disponibilità e tempo di attività, ma il carico di lavoro della vostra app potrebbe non essere molto adatto per il funzionamento del cluster. Inoltre, potresti essere in grado di utilizzare un'altra soluzione ad alta disponibilità per aumentare il tempo di attività del tuo database altrimenti tradizionale.
BTW - ecco una lista di limitazioni come da doc: http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-limitations.html
Ma qualunque cosa tu faccia, provare cluster, vedere se il suo bene per voi. Il cluster MySQL non è "MySQL + 5 nines". Lo scoprirai quando ci proverai.
fonte
2009-12-30 14:43:59