WordPress sharding: quale plugin multi-DB utilizzare?

12 ott 2010, 18:29:54
Visualizzazioni: 10K
Voti: 8

Ho un'installazione WordPress multisite che ospita così tanti blog da necessitare dello sharding del database. Ho visto che ci sono tre plugin disponibili per distribuire WordPress su più database:

Sto cercando di decidere quale utilizzare, ma non ho trovato molte informazioni che li confrontino.

Qualcuno ha esperienza nell'implementazione di uno di questi tre strumenti? O meglio ancora, esperienza con più di uno e una panoramica sul perché avete cambiato?

Grazie, Bethany

3
Commenti

Bee, per favore seleziona una risposta come "la risposta" :)

hakre hakre
10 gen 2011 14:35:28

Essendo nuovo/a alla configurazione dei "database", penso che dovrò provare prima con quello più semplice, dato che sarò l'unico/a a lavorare su tutti i 24 siti e la velocità è un fattore importante. Vi ringrazio tanto tutti! Davvero non pensavo di ricevere risposte, figuriamoci così veloci. Grazie. Spero che funzioni, incrociamo le dita :) Faith

User User
10 gen 2011 10:33:22

@Faith: Sei la stessa persona di "Bee", che ha fatto la domanda? C'è un motivo per cui non puoi più usare quel login? Questo non è lo stesso sistema di un forum, quindi non dovresti scrivere un messaggio di ringraziamento in una risposta, ma usare il sistema di voto (una volta che avrai abbastanza "reputazione" per farlo).

Jan Fabry Jan Fabry
10 gen 2011 12:45:07
Tutte le risposte alla domanda 3
1

Personalmente, non uso nessuno di questi. E invece utilizzo un cluster NDB. NDB è il motore di replica master-master integrato in MySQL.

L'unica limitazione pratica di NDB è la mancanza di un indice full text. Ma puoi sempre utilizzare le API di Yahoo o Google per le ricerche all'interno del tuo sito. Ho trovato che valga la pena avere la ridondanza extra, soprattutto considerando che nessun server finisce per essere un collo di bottiglia per le scritture nel database.

Se hai bisogno di una replica master-slave con un collo di bottiglia per le scritture, hyperdb è sviluppato da Automattic, quindi è la scelta più sicura tra i plugin che hai evidenziato. Detto questo, nota che parte del codice di hyperdb è stato effettivamente integrato in WordPress dalla versione 3.0 e dalla fusione con WPMU. (Vedi il file wp-db.php in wp-includes, noterai che gran parte di esso può gestire più server di database già di default.)

14 ott 2010 02:58:43
Commenti

Per aggiungere a questo approccio (per risolvere il problema a livello di database): puoi anche fare da proxy ai server MySQL. E c'è un ulteriore vantaggio nel sostituire la classe WPDB con una che utilizzi mysqli o addirittura mysqlnd per ottenere maggiori prestazioni sul lato PHP.

hakre hakre
10 gen 2011 14:32:53
1

Opterei per HyperDB.

È sviluppato dagli sviluppatori core di WordPress e basato sul codice utilizzato su Wordpress.com.

http://wordpress.org/support/topic/shardb-or-hyperdb

SharDB potrebbe essere un po' più semplice da configurare ma probabilmente ha meno funzionalità rispetto a HyperDB. Direi di dare un'occhiata a entrambi e valutare quale si adatta meglio alle tue esigenze.

12 ott 2010 19:56:18
Commenti

Ehi, grazie mille per il feedback! HyperDB è sicuramente flessibile e ricco di funzionalità.. forse più di quanto mi serva.

Bee Bee
13 ott 2010 06:03:05
2

Matt ha parlato nella nostra azienda qualche mese fa. Ha raccomandato una configurazione master-slave per il database con molti slave in sola lettura. La sua logica era che le operazioni di scrittura sono costose e le letture - molto più numerose! - non lo sono, quindi era meglio avere più capacità di lettura. Lo stesso vale per i server applicativi: utilizzare hardware economico per risolvere il problema e dimenticarsi della supercache.

15 ott 2010 03:02:16
Commenti

Sembra un'ottima opzione, ma potresti spiegare un po' di più su come procederesti per realizzarlo? (cioè come configurare WP in modo che le scritture vadano al master e le letture a uno degli slave) Esiste un plugin che può aiutare in questo? O è una configurazione a livello di DB/qualche altro strumento?

rinogo rinogo
11 ago 2015 05:30:22

Forse questo? "HyperDB ti permette di dividere le scritture e letture del database e assegnare ciascuna a un array di server."(https://codex.wordpress.org/HyperDB#Replication)

rinogo rinogo
11 ago 2015 05:33:03