2010-03-15 16 views
18

Como la mayoría de ustedes saben, Sun adquirió MySQL (y más tarde Oracle adquirió Sun), y durante estas adquisiciones, hubo una gran cantidad de FUD en la comunidad MySQL que dio como resultado la creación de varias horquillas.¿Qué horquilla/versión de MySQL elegir?

Hoy tenemos MySQL de MySQL, Percona (XtraDB) MySQL, OurDelta MySQL, MariaDB, Drizzle por nombrar algunos. Lo que nos lleva a la fuente del problema.

Estamos en el proceso de actualizar nuestras bases de datos (hardware/software) y me gustaría saber a cuál de las bifurcaciones debería ir. Cada uno tiene su propio conjunto de pros/contras. Actualmente estamos utilizando MySQL 5.0.x de MySQL/Linux en una máquina de 8 núcleos. Nuestro nuevo hardware es un monstruo con 32 núcleos y 32 GB de memoria que se conectan a un almacenamiento rápido de NetApp a través de FC.

Me gustaría seguir con MySQL desde MySQL, pero he escuchado historias de terror sobre el mal desempeño de MySQL 5.1 en muchos núcleos. También he escuchado que MySQL 5.4 funciona mejor en máquinas multi-core, pero aún no está lista para producción. Además, también he escuchado muchas cosas buenas sobre las versiones de Percona.

Esto es lo que sé hasta ahora:

MySQL 5.1 de MySQL: elección fiable, pero no escala bien en una gran máquina

Percona: escala bien, buena compañía respaldo . No tengo mucha experiencia con él

MariaDB: No sabe mucho sobre él, además de que fue fundada por los desarrolladores de MySQL original (incluyendo Monty)

OurDelta: no sabe mucho

llovizna: Parcialmente optimizado para la computación en nube

me gustaría saber cuál es la idea general acerca de este problema. ¿Con qué versión/versión debería ir? ¿Cómo están ustedes escogiendo sus compilaciones/versiones?

Gracias!

Respuesta

4

Solo una actualización sobre esto. Elegimos ir con Percona y no podemos estar más felices. Los chicos de Percona definitivamente conocen sus cosas y se mantienen actualizados con las nuevas tecnologías. Solo pago http://www.mysqlperformanceblog.com/ software de primera categoría, además de gente de primera clase y un gran apoyo, no se puede equivocar.

2

Creo que es demasiado pronto para descartar por completo MySQL. No me entusiasma que Sun/Oracle tome las riendas, pero no tengo una idea clara de qué dirección tomarán. De todos modos, esperaría otro año antes de pensar seriamente en cambiar a un tenedor. El tiempo dirá qué proyecto tiene los recursos y la motivación para sobrevivir, o si un tenedor es necesario.

2

Utilice MariaDB. Tienen just released a version últimamente. Maria Engine también es mucho mejor que MyISAM. Con el proyecto opensource, vas a donde va el fundador.

+1

Creo que te confundes aquí. MariaDB es la bifurcación de MySQL. Maria es un motor de almacenamiento que es una mejor versión de MyISAM, pero aún no es estable: http://askmonty.org/wiki/Rename_Maria –

+1

¡Solo porque un producto no es estable! = El OP está "confundido". –

1

Google tiene un parche de biblioteca de memoria que supuestamente mejora el rendimiento en instalaciones mysql multihilo/núcleo. Supuestamente, el cuello de botella de rendimiento estaba en las rutinas de asignación de memoria, y se manifestaría a partir de 4 núcleos. Actualmente estoy ejecutando un cuadro de doble proceso con 4 núcleos cada uno, y no tengo problemas con 5.1.x sin el parche de la biblioteca de memoria.

Mi mayor sugerencia para usted sería instalar 5.4 y ejecutar una suite de referencia en su contra. Si hace el trabajo, ve con eso. La fragmentación de los diferentes tenedores es una mierda, pero tal vez sea lo mejor.Al menos los fundadores tienen dinero ahora para financiar su propia dirección ... No tomaría el consejo de seguirlos a ciegas ... Tomó mucho tiempo y esfuerzo establecer la infraestructura de mysql inicialmente, y mientras no lo haría No me duele apoyar al equipo que lo hizo la primera vez, no hay garantía de que lo logren la segunda vez. Así que ... apóyelos, pero no confíe en ellos hasta que sepa puede confíe en ellos.

13

Todos los 'horquillas' que mencionas (excepto la llovizna) se basan en las versiones oficiales más recientes de MySQL. Creo que la palabra fork puede llevarlo por el camino equivocado, ya que la intención es solo proporcionar modificaciones posteriores al mercado. Escribí sobre esto aquí:

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

Desde que re-base de MySQL y MySQL 5.0 se encuentra en "mantenimiento extendido", sólo las principales vulnerabilidades deben ser fijados. Esto significa que quieres moverte a 5.1. Si trabajamos con esta suposición, recorta a OurDelta de sus decisiones, ya que son solo los socios de construcción/empaque de MariaDB 5.1.

Creo que también se puede descartar la llovizna, ya que actualmente es pre-beta. Están planeando una versión beta para el final del verano, pero aún es mucho antes de lo que querrás. Realmente no creo que use una base de datos no lista para producción, por lo que esto excluye también MySQL 5.5.

Esto deja el Servidor Percona, MySQL 5.1 oficial y MariaDB. Es cierto que 5.1 tiene una escalabilidad pobre con muchos núcleos, pero si habilita el complemento InnoDB, es mejor.

El resto de mi respuesta de aquí en adelante es sesgada - Yo trabajo para Percona:

Percona XtraDB tiene arreglos adicionales CPU escalabilidad de MySQL 5.1 InnoDB + plugin. Los que se van a importar se cubren aquí:

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

Uno que puedo comentar en particular, que la materia es ésta: http://www.percona.com/docs/wiki/percona-xtradb:patch:innodb_split_buf_pool_mutex

+0

Eso es gracioso porque eso es exactamente lo que terminamos decidiendo con la ayuda de Aurimas (de Percona). Somos un cliente feliz Continúa con el buen trabajo. Gracias, Drew – Drew

+0

Morgan Estoy tratando de probar Percona en Windows pero no veo ninguna descarga de Windows. ¿Solo lanzas Percona para Linux? –

+0

Ya no trabajo para Percona;) Su política oficial es "contactar a Ventas para discutir". http://www.percona.com/mysql-support/policies/supported-platforms/ –

7

En lo personal, creo que todos los que necesitan para establecer una nueva instalación de MySQL hoy debería estar usando MariaDB. MariaDB se basa en el último MySQL 5.1, mantenido activamente (incluidas las correcciones para errores reportados contra MySQL) y paquetes Percona XtraDB/InnoDB plugin.

Ni siquiera sé si "tenedor" describe exactamente a María, ya que están comprometidos a mantenerse al día con current releases of MySQL.

En resumen: MariaDB 5,1 = 5,1 + MySQL + Percona XtraDB additional useful patches + activo desarrollo y mantenimiento

actualización finales de mayo de 2011- 2012: Cambié de MariaDB a Percona servidor para llegar a MySQL 5.5, pero tengo la intención al regresar una vez que el equipo María tenga una versión estable basada en 5.5. Creo que todos los que necesiten instalar una nueva instalación de MySQL hoy deben ejecutar Percona Server. Si está usando SSDs, * debe * ejecutar Percona Server.

+1

Doh. Pensé que estaba en Serverfault. ¿Cómo llegó esta pregunta aquí de todos modos? ;) – casey

0

Si está actualizando sus bases de datos de todos modos, debe considerar otros sistemas de gestión de datos FOSS DBMSes, además de MySQL.

Por ejemplo, si la carga de trabajo de su DB es analítica más que transacciones y los datos se agregan principalmente en lotes, debería considerar usar MonetDB, un DBMS columnar que es aproximadamente 1.5-2 órdenes de magnitud más rápido que MySQL al realizar análisis solamente.

Otra opción es PostgreSQL. Está más orientado a las transacciones, como MySQL; de hecho, son similar lo suficiente como para ser competidores adecuados. Hay arguments for preferring PostgreSQL y arguments for preferring a MySQL variant.

En DB-engines.com puede encontrar otros DBMS potencialmente relevantes, FOSS y de fuente cerrada/comercial.

Cuestiones relacionadas