Postgres vs MySQL: quale è più difficile da ridimensionare?


8

In base alla tua esperienza, quale database è più difficile da scalare? MySQL o Postgres? So che MySQL ha diverse funzionalità di ridimensionamento / cluster out-of-the-box, ma con Postgres non ne esiste nessuna pronta all'uso. CMIIW.

MODIFICA :

Ci scusiamo per la confusione qui, la mia domanda si riferisce al ridimensionamento (ridimensionamento orizzontale), vale a dire clustering, sharding, ecc. So che entrambi possono scalare in orizzontale, ma quale è più facile da implementare?

Grazie per aver condiviso.

Risposte:


1

MySQL è MOLTO più facile da ridimensionare, il clustering e la replica sono sia nativi che davvero facili da gestire e implementare (anche per qualcuno che non ha davvero conoscenza dei database).

PostgreSQL per ora supporta solo la replica di base e nulla di ufficiale sul clustering (tecnicamente è possibile tramite strumenti di terze parti, ma diventa un inferno da gestire).

Non avrei mai scelto Postgresql se avessi intenzione di ridimensionare.

Modifica: risposta molto vecchia con un granello di sale poiché postgres e mysql sono cambiati molto da quando è stata data risposta.


Quindi Postgres è buono solo per il database monolitico?
Joshua Partogi,

Sono entrambi validi nel database a server singolo, per vedere quali funzionalità specifiche di MySQL o PostgreSQL sono necessarie
Kedare,

2
MySQL è sicuramente molto più semplice, ma il problema con MySQL è che non controlla l'integrità dei dati. Inoltre, PostGreSQL supporta pienamente il clustering e la replica. Vedi: wiki.postgresql.org/wiki/Clustering e wiki.postgresql.org/wiki/…
Quandary

7
Esistono sicuramente molte soluzioni per ridimensionare PostgreSQL "out" e molti dei siti e sistemi più grandi là fuori usano proprio questo. MySQL sarà più facile da ridimensionare se conosci già mysql , e postgresql sarà più facile da ridimensionare se conosci già postgresql . Se non conosci nessuno dei due, probabilmente sono abbastanza uguali in quanto è difficile, e dovresti guardare le altre proprietà dei database per sceglierne uno.
Magnus Hagander,

Mi chiedo se questa risposta sia ancora pertinente a cui è stata data risposta quasi 8 anni fa
CommonSenseCode

8

Mentre questa domanda sembra andare contro il principio "Evita di porre domande soggettive o argomentative" del sito, non posso resistere a provare una risposta.

Dipende.

Stai parlando di una configurazione a server singolo che si adatta a set di dati molto grandi?
Entrambi possono funzionare in questa situazione a seconda del set di dati, ma nessuno dei due probabilmente funzionerà molto bene senza una configurazione personalizzata e una pianificazione adeguata. Nella mia esperienza quando ho lavorato su set di dati di grandi dimensioni con molte scritture, ho scoperto che Postgres ha meno condizioni che causano il blocco e le prestazioni complessive sono state migliori.

Stai parlando di configurazioni multi server che si adattano a molti slave per molti lettori?
MySQL è stato storicamente considerato il leader in questo spazio da quando è arrivato con la replica asincrona integrata. Questo non è più il caso se non ti opponi all'utilizzo del più recente software DB; Postgres ora ha anche questo integrato con la versione 9.0. Le mie esperienze con la replica di MySQL sono state più che adeguate a questo punto.

Stai parlando di configurazioni multi server che si adattano a molti master per molti scrittori?
Questo è di gran lunga il modo più difficile per ridimensionare entrambi i prodotti e molte volte possono essere evitate mediante l'uso di server di failover. Se hai davvero bisogno di ridimensionare per l'alta disponibilità di server master componenti aggiuntivi / installazioni alternative non può essere evitato. Per MySQL esiste MySQL Cluster NDB che ha un'opzione open source o una versione commerciale . Per Postgres ci sono molti componenti aggiuntivi che possono farti variare i livelli di HA e pooling

A lungo termine, il ridimensionamento del database si riduce in genere alla pianificazione del progetto. Se la tua applicazione è progettata pensando alla scala, il sistema db che si adatta meglio ai tuoi sviluppatori è spesso la scelta migliore.


3

PostGre ha più funzioni e opzioni di configurazione.

Quindi è probabile che sia più difficile ridimensionarlo, ma è anche probabile che ridimensionerà meglio, cioè se correttamente configurato.

In generale, MySQL probabilmente sarà ancora più veloce, d'altra parte, la vera domanda è quanto apprezzi l'integrità dei dati e quali funzionalità sono necessarie e vuoi dipendere da Oracle (ora possiede MySQL)?

Inoltre, ci sono domande sulla licenza, come se volessi davvero acquistare una licenza MySQL solo perché non vuoi pubblicare la tua applicazione sotto licenza GPL?
Con PostGreSQL, questo non è un problema, il che è un grande vantaggio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.