Ir al contenido


Foto

sobre mysql y firebird


  • Por favor identifícate para responder
9 respuestas en este tema

#1 JuanPalmaSoft

JuanPalmaSoft

    Advanced Member

  • Miembros
  • PipPipPip
  • 76 mensajes
  • LocationDistrito Federal

Escrito 23 mayo 2012 - 10:33

referencias de comparación entre las dos, conocen, la verdad me voy por firebird, que creen'
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 23 mayo 2012 - 10:39

Ambas bases de datos me permiten hacer cuaquier cosa, lo que no acabo de entender es el licenciamiento de MySQL, Firebird es mucho más claro, tal vez esa sea la única cosa que me condicione a elegir Firebird sobre MySQL.

Saludos

PD, por cierto como la mayoría de foros, DA utiliza MySQL.
  • 0

#3 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 mensajes
  • LocationOaxaca, México

Escrito 23 mayo 2012 - 10:57

Yo prefiero 100% firebird por varias razones, las que que vienen a la mente son:

-Modo de licenciamiento True Open Source.
-Modo embebbed.
-Instalación sencilla y rápida

MySQl es:

-Comercializarás tu desarrollo con MySQL entonces paga por MySQL

Para mí la única ventaja por sobre Firebird es que solo es un poco más popular y prácticamente incluida en cualquier servicio de hosting.

Saludos

  • 0

#4 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 23 mayo 2012 - 11:08

Si la idea es hacer una compración del tipo técnica quizá este artículo en wikipedia te sea de ayuda.

El mayor problema de MySQL es, como ya lo están comentando los otros compañeros, su licenciamiento. Posee una licencia dual muy confusa y no se comprende hasta que punto es libre.
Otro problema, relacionado con lo anterior, es que no se sabe de su futuro a largo plazo. Oracle a empezado a cerrar más a MySQL.
Firebird no tiene, ni podrá tenerlo, ese problema. Nació y es totalmente 100% Open Source.

Firebird es un motor muy potente y escalable, multiplataforma, requiere de poco mantenimiento, no consume demasiados recursos a diferencias de otros motores que chupan y chupan recursos y que requieren de mayor mantenimiento.
Naturalmente que hay cosas que le pueden ir faltando y mejorando pero para la gran mayoría de las cosas se puede hacer y sirve espectacularmente.
Aquí habemos mucho que apostamos y muy posiblemente seguiremos apostando por Firebird. Es que hay que tener en mente que como Firebird nació de un producto hermano a Delphi, la combinación Delphi + Firebird está de pelos, es muy estable.

Además hay que tener en cuenta para que y donde la vas a alojar... si es para algo web mucho nos duela, MySQL tiene mucha delantera en ese aspecto; aunque si hay soporte también para Firebird... en menor medida.

Saludos,
  • 0

#5 JuanPalmaSoft

JuanPalmaSoft

    Advanced Member

  • Miembros
  • PipPipPip
  • 76 mensajes
  • LocationDistrito Federal

Escrito 04 junio 2012 - 04:50

es para una aplicacion de escritorio, hace años que trabajo con firebird desde el 2001,  en el 2005 tuve que realizar por un pedido de un cliente una migracion a sql server 2000, creanme que tuve que progranmar el triple. y ahora trabajo en MYSQL 5.1 y trato de ver como puedo buscar similitudes y hay cosas que no las veo muy claras, programo todas las reglas de negocio en la BD, en el cliente muy pocas cosas, solo la interaccion usuario BD de datos, mis aplicaciones la mayor parte del codigo esta en triggers y procedimientos almacenados, y vistas con las llamadas vistas actualizables. y noto que MySQL en modo MyISAM, aun esta poble para estas cosas.  no he probado INNODB en MySQL 5.1.

pongo un ejemplo de una de mis BD, en firebird, para que vean todo lo que tiene dentro la BD.

gracias

Archivos adjuntos


  • 0

#6 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 mensajes
  • LocationOaxaca, México

Escrito 05 junio 2012 - 10:28

Wow, si que esta complejo tu desarrollo, creo esta por demás tratar abarcar más motores, ya que Firebird es OpenSource le veo más caso a que los demás desarrollos abran entradas en tablas o SP para que tu insertes datos a otros sistemas sin tener que rehacer todo tu proyecto, gran problema sería tener todo por decir en MS SQL Server y tratar de evitar el licenciamiento o MySQL que al final viene a lo mismo.

Ahora si insisten bueno eso tiene un alto costo por lo que veo en tu proyecto.

Saludos
  • 0

#7 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 05 junio 2012 - 12:03

MyISAM está creado precisamente para versiones WEB donde no se involucran las relaciones y SP y demanes, en cambio InnoDB es más para de escritorio y/o Intranet, aquí puedes crear las relaciones, triggers y SP.

Saludos.
  • 0

#8 JuanPalmaSoft

JuanPalmaSoft

    Advanced Member

  • Miembros
  • PipPipPip
  • 76 mensajes
  • LocationDistrito Federal

Escrito 05 junio 2012 - 09:30

migrare a innodb y te cuento, pero el ejemplo que puse no es que voy a migrar de firebird a mysql, con sql server 2000 casi lo pudimos todo. me refiero a que mysql, no me trae todas las herremientas de programacion en la bd que tienen las dos mencionadas con anterioridad. ejemplo, generar una excepcion en la BD en mysql no la he encontrado aun.  que pasa me he acostumbrado a trabajar mucho codigo en los servidores de BD, experiencia que me enseño el equipo de G2K de españa, que por cierto tiene muy buen ERP en firebird con delphi.

gracias


  • 0

#9 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 05 junio 2012 - 10:21

A ver... a ver... pongamos orden (¡Yo quiero una milanesa con papas fritas!  :D {son las 1:17 am y estoy muerto de hambre} )

Yo ya no entiendo cual es el objetivo de tu duda inicial ni el problema al que te enfrentas...  :(
Comenzaste pidiendo que te comentáramos de ambos motores a modo de comparación. Se te han dado respuestas (y me animaría a decir que todas dicen lo mismo :p  ;) ), pero ahora el hilo ha tomado un rumbo en el que metes a un tercero en discordia  *-) y se mezclan cosas como el tema de ¿una posible migración? de un motor a otro, de un ¿proyecto viejo o un proyecto nuevo en puerta?.

Como dirían mis compadres mexicanos... ya me hice bolas.  ^o|

Saludos,
  • 0

#10 JuanPalmaSoft

JuanPalmaSoft

    Advanced Member

  • Miembros
  • PipPipPip
  • 76 mensajes
  • LocationDistrito Federal

Escrito 20 junio 2012 - 10:23

Gracias por las respuestas, es que me inicio en MySQL, y queria saber criterios, porque he encontrado restricciones en el codigo de la BD con respecto a Firebird  y SQL Server, que es donde mas he trabajado.

Ahora me han surgido varias dudas en los store porcedure (sp) y triggers (tr). Si conocen de esto por favor, me pueden decir donde encontrar algunas indicaciones.

Ejemplo: estaba haciendo un sp, trate de insertar dentro de él, en dos tablas, la primera un insert sencillo y en la segunda, con un insert masivo, es decir un insert into ....... select. no me ejecutaba de ninguna forma la segunda sentencia.  tuve que cambiar a un cursor, esta segunda sentencia.

Que me paso al cambiar al cursor. puse los declare del cursor y el de la variable de control del ciclo. despues del primer insert,  y me daba error de compilación. Bueno, ya de paso les pongo un ejemplo de un cursor.

Ej. 

 DECLARE VarIdmaterial varchar(20);
DECLARE VarCantidad  double;
DECLARE VarNorow      double;
DECLARE done BOOLEAN DEFAULT FALSE;


  /* llenar la cabecera */
  insert into `log_orden_envio` (`Empresa`,  `OrdenEnvio`,  `Observacion`,  `Factura`,  `FechaSolicitud`)
  values( Empresa, OrdenEnvio, '', Factura, now());

DECLARE c1 cursor for SELECT idmaterial from `documentorenglon`;

DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = TRUE;


  /* cursor para llenar el detalle */
open c1;
c1_loop: LOOP
fetch c1 into VarIdmaterial;
        IF `done` THEN LEAVE c1_loop; END IF;
        insert into `log_orden_envio_renglon`
    (`Empresa`, `Orden_Envio`, `Producto`, `CantidadFacturada`, `Consecutivo`)
    values
    ( Empresa, OrdenEnvio, VarIdmaterial, 0, 0);
END LOOP c1_loop;
CLOSE c1;


Para que me compilara tuve que poner el primer insert, despues de todas las declaraciones.
  • 0




IP.Board spam blocked by CleanTalk.