2010-03-15 13 views
18

Come molti di voi sanno, Sun ha acquisito MySQL (e in seguito Oracle ha acquisito Sun), e durante queste acquisizioni, ci sono stati molti FUD nella comunità MySQL che hanno portato alla creazione di varie forcelle.Quale fork/versione di MySQL scegliere?

Oggi abbiamo MySQL da MySQL, Percona (XtraDB) MySQL, OurDelta MySQL, MariaDB, Drizzle per citarne alcuni. Il che ci porta alla fonte del problema.

Siamo in procinto di aggiornare i nostri database (hardware/software) e vorrei sapere con quale delle forche dovrei andare. Ognuno ha il proprio set di pro/contro. Attualmente stiamo usando MySQL 5.0.x da MySQL/Linux su una macchina a 8 core. Il nostro nuovo hardware è un mostro con 32 core e 32 GB di memoria che si connettono a un veloce NetApp Storage tramite FC.

Mi piacerebbe restare con MySQL da MySQL ma ho sentito storie horror su come MySQL 5.1 funziona su molti core. Ho anche sentito che MySQL 5.4 ha prestazioni migliori su macchine multi-core, ma non è ancora pronto per la produzione. Inoltre, ho anche sentito molte cose positive sulle build di Percona.

Questo è quello che so finora:

MySQL 5.1 da MySQL: scelta affidabile, ma non scala bene su una grande macchina

Percona: scala bene, buona compagnia supporto . Non ho molta esperienza con esso

MariaDB: Non so molto su di esso, oltre che sia stata fondata dagli sviluppatori di MySQL originali (tra cui Monty)

OurDelta: Non so molto

Drizzle: per lo più ottimizzata per il cloud computing

Vorrei sapere qual è la nozione generale su questo problema. Con quale build/versione dovrei andare? Come state scegliendo i vostri build/versioni?

Grazie!

risposta

4

Solo un aggiornamento su questo. Abbiamo scelto di andare con Percona e non possiamo essere più felici. I ragazzi di Percona sicuramente conoscono le loro cose e tengono il passo con le nuove tecnologie. Basta effettuare il check-out http://www.mysqlperformanceblog.com/ Il software di prim'ordine e le persone di prim'ordine e un ottimo supporto, non puoi sbagliare.

2

Penso che sia ancora troppo presto per cancellare completamente MySQL. Non sono entusiasta del fatto che Sun/Oracle stia guadagnando le redini, ma non ho la chiara idea di quale direzione prenderanno con esso. Indipendentemente da ciò, aspetterei un altro anno prima di pensare seriamente al passaggio a una biforcazione. Il tempo dirà quale progetto ha le risorse e la motivazione per sopravvivere, o se è addirittura necessario un fork.

2

Utilizzare MariaDB. Hanno just released a version ultimamente. Il motore di Maria è anche molto meglio di MyISAM. Con il progetto opensource, vai dove va il fondatore.

+1

Penso che tu ti stia confondendo qui. MariaDB è il fork di MySQL. Maria è un motore di archiviazione che è una versione migliore di MyISAM, ma non ancora stabile: http://askmonty.org/wiki/Rename_Maria –

+1

Solo perché un prodotto non è stabile! = L'OP è 'confuso'. –

1

Google ha una patch di libreria di memoria che presumibilmente migliora le prestazioni su installazioni mysql multi-thread/core. Presumibilmente, il collo di bottiglia delle prestazioni era nelle routine di allocazione della memoria e si manifestava a partire da 4 core. Attualmente sto eseguendo una scatola dual proc con 4 core ciascuno e non ho problemi con 5.1.x senza la patch della libreria di memoria.

Il mio più grande suggerimento per voi sarebbe di installare 5.4 ed eseguire una suite di benchmark contro di esso. Se fa il lavoro, vai con esso. La frammentazione delle varie forcelle fa schifo, ma forse sarà per il meglio.Almeno i fondatori hanno ora soldi per finanziare la loro stessa direzione ... Non prenderei il consiglio di seguirli ciecamente però ... Ci è voluto un sacco di tempo e di conforto per impostare inizialmente l'infrastruttura mysql, e mentre non lo avrebbe Mi fa male sostenere la squadra che l'ha fatto la prima volta, non c'è alcuna garanzia che ci riusciranno la seconda volta. Quindi ... supportali, ma non fare affidamento su di loro fino a quando non ti accorgi che lo può contare su di essi.

13

Tutte le "biforcazioni" che hai menzionato (eccetto Drizzle) si basano sulle nuove versioni ufficiali di MySQL. Penso che la parola fork possa portarti sulla strada sbagliata, poiché l'intenzione è solo quella di fornire modifiche post-mercato. Ho scritto su questo qui:

http://mtocker.livejournal.com/50931.html

Dal momento che ri-base di MySQL, e MySQL 5.0 è in "manutenzione estesa", solo le principali vulnerabilità sono da fissare. Ciò significa che vuoi passare a 5.1. Se lavoriamo con questa ipotesi, allora elimina OurDelta dalle tue decisioni - dal momento che sono solo i partner di compilazione/confezionamento MariaDB 5.1.

Penso che si possa escludere anche Drizzle, dato che al momento è pre-beta. Stanno pianificando una beta entro la fine dell'estate - ma è ancora molto prima di quello che vorrai. Veramente non penso che tu usi un database non pronto per la produzione, quindi questo esclude anche MySQL 5.5.

Quindi questo lascia Percona Server, Official MySQL 5.1 e MariaDB. È vero che 5.1 ha una scarsa scalabilità con molti core, ma se si abilita il plugin InnoDB è meglio.

Il resto della mia risposta da qui in poi è di parte - Io lavoro per Percona:

Percona XtraDB ha correzioni di scalabilità CPU aggiuntive rispetto a MySQL 5.1 + InnoDB plugin. Quelli che stanno per materia sono coperti qui:

http://www.percona.com/docs/wiki/percona-xtradb:features:start

Una posso commentare in particolare, che la materia è questa: http://www.percona.com/docs/wiki/percona-xtradb:patch:innodb_split_buf_pool_mutex

+0

Questo è divertente perché è esattamente quello che abbiamo deciso decidendo con l'aiuto di Aurimas (di Percona). Siamo un cliente felice. Mantenere il buon lavoro. Grazie, Drew – Drew

+0

Morgan Sto cercando di provare Percona su Windows ma non vedo alcun download di Windows. Pubblichi solo Percona per Linux? –

+0

Non lavoro più per Percona;) La loro politica ufficiale è "contattare le vendite per discutere". http://www.percona.com/mysql-support/policies/supported-platforms/ –

7

Personalmente, penso che tutti coloro che hanno bisogno di impostare una nuova installazione MySQL oggi dovrebbe usare MariaDB. MariaDB è basato sull'ultimo MySQL 5.1, mantenuto attivamente (comprese correzioni per bug segnalati contro MySQL) e pacchetti Percona XtraDB/InnoDB plugin.

Non so nemmeno se "fork" descrive con precisione Maria, dal momento che sono impegnati a stare al passo con current releases of MySQL.

In breve: MariaDB 5.1 = MySQL 5.1 + Percona XtraDB + additional useful patches + attivo sviluppo e manutenzione

Aggiornamento fine 2011- maggio 2012: sono passato da MariaDB a Percona server per ottenere a MySQL 5.5, ma ho intenzione al passaggio indietro una volta che il team Maria ha una versione stabile basata su 5.5. Penso che chiunque abbia bisogno di installare una nuova installazione MySQL oggi debba eseguire Percona Server. Se si utilizzano SSD, è necessario * eseguire Percona Server.

+1

Doh. Pensavo di essere su Serverfault. Come mai questa domanda arriva qui? ;) – casey

0

Se si aggiornano i database in ogni caso, è necessario prendere in considerazione altri DBMS FOSS o sistemi software di gestione dati, non solo MySQL.

Ad esempio, se il carico di lavoro DB è più analitico delle transazioni e i dati vengono principalmente aggiunti in lotti, è consigliabile utilizzare MonetDB, un DBMS colonnare che è di circa 1,5-2 ordini di grandezza più veloce di MySQL quando si esegue analisi- solo.

Un'altra opzione è PostgreSQL. È più orientato alle transazioni, come MySQL; infatti, sono similar sufficienti per essere concorrenti adeguati. Ci sono arguments for preferring PostgreSQL e arguments for preferring a MySQL variant.

Su DB-engines.com è possibile trovare altri DBMSes, FOSS e closed-source/commerciali potenzialmente rilevanti.

Problemi correlati