2011-06-14 22 views
20

Estoy buscando algo de trabajo alrededor de mysql y node.js y he encontrado algunos módulos diferentes pero no puedo obtener una buena información sobre su estabilidad/madurez. Sé que cada autor pone mucho trabajo en cada uno, pero para el trabajo que estamos haciendo necesito saber que tengo una sólida base de MySQL. Los módulos que he encontrado que parecen bastante buenos son:¿Cuál es el módulo mysql node.js más maduro/estable

  1. db-mysql Parece bastante activo.
  2. node-mysql Este es un módulo bastante omnipresente que he visto hasta ahora, parece estar en una fase de mantenimiento y parece sólido.
  3. node-mysql-native Me gusta el trabajo asincrónico que se realiza aquí, pero no estoy seguro de qué tan bien funciona todavía.
  4. node-mysql-libmysqlclient No estoy seguro acerca de esto, pero parece estar activo también.

No tengo muchas necesidades que sean demasiado fuera de lo normal. Necesito un soporte de consulta regular, los extras serían buenos, solo necesito una buena base para empezar. Cualquier entrada en cuanto a las fortalezas y debilidades de estos módulos sería genial. Si hay otro contendiente de calidad que no he encontrado, no estoy en contra de considerar otra opción.

Respuesta

16

I' m el autor de conductor nodo-mysql-nativo, desde mi punto de vista las diferencias son

  1. ningún apoyo declaraciones preparada (aún) en el nodo-mysql
  2. según mis puntos de referencia de nodo-mysql es de 10-20 % más lento que node-mysql-native
  3. node-mysql tiene una adopción mucho más amplia, más pruebas y usuarios. Si necesita estabilidad, mejor úsela
  4. node-mysql-libmysqlclient es de 2 a 3 veces más rápido en consultas rápidas. Sin embargo, si tiene muchas consultas lentas y utiliza pools de conexión, podría ser incluso más lento que el controlador JS nativo porque las llamadas async libmysqlclient se basan en el grupo de subprocesos nodejs y no en el bucle de eventos.

actualización

A partir del 11/07/2013

  • (2). ya no es válido (mysql-native es un poco más lento que node-mysql)
  • tiene this alternative para node-mysql, en algunos benchmarks es 2-3 veces más rápido, tiene el mismo soporte API + para declaraciones preparadas, SSL y compresión. También implementa un subconjunto simple del protocolo del lado del servidor; consulte, por ejemplo, MySQL -> Postgres proxy.
  • node-mariasql es también una muy buena opción (si está bien usar el complemento binario) - rápido, estable, asíncrono, soporte de sentencias preparadas, compresión y SSL.
+0

Gracias por la información Andrey, esto me da un poco más en qué pensar. –

+0

Dos años después, ¿esta información aún se mantiene? – Druska

+0

1 - verdadero, 2 - ya no es cierto (node-mysql más rápido que mysql-native), 3 - verdadero, 4 - verdadero (pero ahora es más fácil cambiar el tamaño del grupo de subprocesos - https://groups.google.com/d/msg/nodejs/U06-jUFlvW4/_3T-kqrqIagJ) 5 - copule de hace un mes que creé https://github.com/sidorares/node-mysql2 que es API compatible con node-mysql + speed & extras como compression, prepared declaraciones y SSL. 6) Vale la pena echarle un vistazo a https://github.com/mscdex/node-mariasql/ (declaraciones binarias, rápidas y preparadas) –

7

Pasé por una búsqueda similar y terminé asentándome en node-mysql. Me gusta su simplicidad, el hecho de que es pura js, y que está bien soportado. Era más lento en las pruebas que hice que algunos de los módulos mixtos (aquellos que utilicé no js libs), pero lo hice un parche de menor importancia que ayudó considerablemente con la de mis casos:

https://github.com/geochap/node-mysql

+0

Gracias Geoff, gracias por la información sobre su tenedor, tendré que echarle un vistazo. –

+1

Tenga en cuenta que la página de github @Geoff se refiere a que está desactualizada (más de 1000 confirmaciones). Uso: https://github.com/mysqljs/mysql – Ismail

Cuestiones relacionadas