Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Interbase como gestor BD de un sistema (https://www.clubdelphi.com/foros/showthread.php?t=82613)

ginkaku 24-03-2013 04:56:27

Interbase como gestor BD de un sistema
 
Hola, siempre he trabajado con SQL Server como gestor de bases de datos para desarrollar una que otra aplicacion. Trabaja muy bien con delphi y c++, pero me gustaría incursionar en el mundo de Interbase, he investigado y en la web dan las características. El tema del post es que me gustaría saber la opinión de ustedes que ya han trabajado con este gestor, quisiera saber sus limitaciones y alcances, si tuviera algún problema de confiabilidad y la eficiencia para ser el gestor de un sistema de información. Aclaro que no pido tutoriales ni cosas asi, simplemente escuchar la vos de la experiencia.

Al González 24-03-2013 05:03:43

En mi caso, llevo ya algunos años usando Firebird (la versión libre y moderna de InterBase). No me arrepiento en absoluto de haber escogido este motor. He experimentado un poco con Microsoft SQL Server, pero Firebird me resulta más fácil de manejar y sin problemas de ningún tipo.

Saludos.

cointec 24-03-2013 12:13:54

Hola, desde hace un año y medio empezamos a mover todos nuestros clientes de interbase a Firebird. Puede decirte que estamos muy contentos con Firebird y de cara a futuro lo veo como una solución con más perspectivas de evolución.

¿Porqué hemos cambiado a Firebird?

No por el coste de licencia, simplemente por la estabilidad y el rendimiento. Aunque interbase se comportaba bien, con volúmenes altos de transacciones y usuarios, ante una caída del motor, hemos tenido problemas de corrupción con bases de datos, cosa que no nos podemos permitir en entornos 24x7x365. Tambien, hemos probado con interbase XE y XE2, y en test sencillos de mover grandes volumenes de datos entre bases de datos, hemos obtenido muchos problemas de estabilidad, de hecho hasta hace 6 meses se corrompian las bases de datos dejandolas inservibles e irrecuperables. También parece ser, que embarcadero no tiene interbase como un producto a evolucionar, ya que el roadmap del producto es bastante pobre y en los últimos 6 años han añadido más parches que funcionalidades de producto. Si te fijas, desde interbase 2007 las mejoras introducidas en el motor son pocas. Por otro lado, Firebird es todo lo contrario, aunque le falta SMP y es algo que estará disponible en fb3.0.

En cuanto a rendimiento, pude decirte que Firebird 2.5 e interbase 2009, tenemos procesos que en Firebird se ejecutan 10 veces más rápidos en Firebird, sobre todo cuando se actualizan tablas que contienen triggers que a su vez llaman procedimientos almacenados. Como ejemplo, hay procesos que ejecutamos a diario, que mientras que Firebird los hacen el 20 -100 milisegundos interbase los ejecutaba entre 1 y 2 segundos. En instalaciones con 50-70 usuarios simultáneos, el rendimiento de Firebird superserver, es bastante superior a interbase SMP. En instalaciones de 70 a 200 usuarios, utilizamos Firebird classic y superclassic y por supuesto con rendimientos superiores que con interbase SMP.

Por otro lado está la resolución de bugs. Cuando hemos detectado problemas graves en interbase, han tardado meses en solucionarlo, por no decir que primero han pedido siempre dinero para poder hacerlo. Al final, les ponía la frase, este es el error, si queréis solucionarlo lo hacéis, pero no me pidáis dinero. En Firebird, cuando he subido un but grave, en 1 o 2 días he tenido la solución.

En cuanto al lenguaje, Firebird es más rico. Hasta ahora hemos mantenido compatibilidad en las bases de datos, ya que teníamos clientes con interbase y clientes con Firebird, lo que no nos permitía usar características de Firebird que interbase no dispone.

Como ves aunque has preguntado por interbase, por ahora te dirigimos a Firebird, algo que te deberías plantear. Si al final optas por Firebird, comentarte que aunque es un producto "gratuito", es importante para el proyecto que la comunidad lo soporte, bien convirtiéndote en sponsor o en miembro de Firebird Foundation.

ginkaku 24-03-2013 16:13:14

Muchas gracias, todo lo que en realidad necesitaba me han dicho, esa es la información que en la web no llegas a encontrar. Como bien me han dicho este post lo inicie con el tema de Interbase ya que dispongo de las licencias respectivas y ademas el único Gestor BD libre que maneje fue MySQL Workbench. Leí en este foro sobre Firebird y no imaginaba el alcance que tiene, si bien pensaba manejar un nuevo gestor sera Firebird y una ves mas gracias por la ayuda.

lbuelvas 24-03-2013 19:05:53

Hola trabajé con Interbase hasta hace unos 10 años siendo a mi parecer un buen excelente motor de bases de datos, lo trabajamos para atender unas 20 estaciones de trabajao en una red de area local con un aplicativo orientado al sector salud era un desarrollo interno para la empreas que trabajaba, su integración con Delphi muy buena gracias a sus componentes específicos IBX.

Borland / Inprise liberaron el código fuente de Interbase bajo una licecia GPL lo que dió nacimiento a Firebird y este producto a crecido a unos pasos increibles, a los pcoos meses el código fuente fue nuevamente cerrado. Creo que Interbase se ha desacelerado en cuanto a carcterísticas, rendimiento y muchas cosas más. El asunto es que Firebird tiene una base de usuarios mucho mayor que Interbase.

En lo personal hice el salto de Interbase 6.0 a Firebird 1.0 pues ahora trabajo de manera independiente y debido a las caracterpitiscas de mis cleintes una base de datos que no les genere costos adicionales les va muy bien.

Firebird los instalas en menos de dos minutos, es estable y en cuanto ha pérdidas de datos en todos estos años solo he tenido dos eventos con una pérdida de aproximadamente 5.000 registros en total y esas pérdidas se han debido a que se han apagado los servidores por caídas electricas debido a que no se contaba con un sistema ininterrumpido de potencia.

Otro detallito, definitivamente toca cambiar de los IBX a los nuevos componentes Firedac pues en lo personal ya tuve problemas de incompatibilidad de los IBX con un tipo de dato numerico con más de dos decimales. Una opción son los DBX pero veo como como posible paso en la estrategia de Embarcadero orientar los esfuerzos hacia Firedac, es una opinión personal.

ginkaku 24-03-2013 20:10:11

Precisamente por el motivo de Tiempo en Instalación es que he decidido mudarme de Gestor de Bases de Datos. El SQL SERVER tarda mucho en instalación y es voluminoso. Eso si no en funcionamiento no hay nada que me queje. Y aparte ya tengo años de experiencia y uno ya tiene códigos re-utilizables. Pero nunca esta demás aprender algo nuevo y quien sabe, podría resultar mejor.

Gallosuarez 25-03-2013 20:56:09

Recomendación ...
 
ginkaku:

¡Que tal, un saludo a todos los foristas!

En base a mi experiencia, totalmente recomiendo a Firebird como un motor de base de datos estable y muy seguro (entre otras muchas ventajas). Por mi parte, de facto, utilizo este motor en todas mis aplicaciones (a excepción de alguna restricciones impuestas por el cliente debido a políticas corporativas en cuanto al uso de SO o BD). Anteriormente, mis desarrollos lo hacía en Delphi 2006, con IBObject como biblioteca de conexión (un par realmente bueno, me ha dejado una grata impresión).

Últimamente (hace poco más de 3 meses), debido a los requerimientos por parte de algunos clientes en el desarrollo de aplicaciones web, me he visto en la necesidad de aprender Java2EE para cumplir este requisito, y obviamente sigo utilizando a Firebird en el "BackEnd". Esto ha resultado en una gran experiencia (¡mmmh!, quien lo iba a decir), además estoy ansioso por ver la primera versión de Firebird 3.0 en la cual vas a poder realizar disparadores y procedimientos almacenados en otros lenguajes de programación como C++ y Java. Por cierto, cosa rara :eek: , la integración que existe de algunas bibliotecas de clases ("Frameworks") en Java es totalmente una delicia (desde el punto de vista de desarrollo), puesto que puedes utilizar las nuevas características de Firebird 2.5 de forma natural (como si se hubieran puesto de acuerdo ambas empresas de desarrollo). Menciono un par de ejemplos: puedes utilizar UUID de forma integrada, hacer consultas SQL de forma dinámica, además de ejecutar procedimientos almacenados, ya sea que te devuelvan o no, un conjunto de resultados.

Otra cosa, me ha funcionando mucho mejor si Firebird lo instalo sobre Linux (CENTOS es la distro que uso), y utilizo Fedora 17 para mi entorno de desarrollo.

Saludos,
Gerardo Suárez

Casimiro Notevi 25-03-2013 21:42:03

Cita:

Empezado por Gallosuarez (Mensaje 457596)
me ha funcionando mucho mejor si Firebird lo instalo sobre Linux

Por supuesto ^\||/

lbuelvas 26-03-2013 01:07:24

Hola pregunto en especial a ginkaku si puedera explicarnos que herrmaientas, bibliotecas y entornos utiliza para programar para entorno web con Firebird.

Gracias.

ginkaku 27-03-2013 00:40:17

Holaaa!
Muchas gracias a todos nuevamente. en verdad que he encontrado todo lo que necesitaba que me digan respecto a estos gestores. Inclusive con respecto a linux y java :D thk.
Amigo Ibuelvas, no he desarrollado nada con firebird, de hecho mi post era para ver las opiniones de aquellos que saben mas sobre este gestor antes de meterme de lleno a aprenderlo. He desarrollado aplicaciones de escritorio con C++builder y Delphi con Gestores de Bases como SQl server 2008 y mysql workbench de ves en cuando, respecto a esos temas si puedo colaborar con respuestas u opiniones.
Un gran saludo a todos

lbuelvas 27-03-2013 01:00:48

Gracias ginkaku, copie mal el nombre del forista, la pregunta va dirigida a Gallosuarez.

Gallosuarez 28-03-2013 01:26:46

Firebird para proyectos en la Web ...
 
Ibuelvas:

¿Ah, la pregunta iba para mi? ... Muy bien, trataré de ser lo más específico que se pueda:

Computadora: Laptop Dell INSPIRON N5050, Intel Core i3 CPU @ 2.40GHz x 4, RAM 4 GB.
Sistema Operativo: GNU/Linux Distrio Fedora 17 (64 bits).
Caja Virtual: Windows 7 Home Basic (el que traía de fábrica ... la verdad que no desperdicio la licencia... aunque solo me sirve para hacer pruebas).
Software: JDK 7u17 Oracle, IDE NetBeans Bundle (Soporte para JavaSE, Java FX, Java EE y HTML5, + Servidor Tomcat 7.0.34 + Servidor GlassFish Open Source Edition 3.1.2.2)
Bibliotecas de Desarrollo: Jaybird-2.2.2JDK1.7 (controlador JDBC para Firebird), MyBatis (biblioteca que elimina la necesidad de utilizar directamente el API de JDCB [la verdad es que es toda una bendición, te permite ahorrar muchísimas líneas de código utilizando solamente un par de clases y archivos xml donde está tu configuración de conexión y todas tus sentencias SQL]), JSF 2.1 (tecnología y "framework" que utilisa JSP para aplicaciones Java basadas en Web) y finalmente Primefaces 3.6 (este es el conjunto de componentes que te permiten hacer propiamente las aplicaciones de Internet Enriquecidas [RIA]).

Breve explicación: todo el desarrollo lo hago desde GNU/Linux, como te mencioné antes Windows solo lo utilizo para hacer pruebas (ver si se despliegan correctamente las páginas web). Otra cosa, tengo un poco mas de 3 meses que empecé en el aprendizaje de todo esto, y aunque al principio es muy duro (todo esta cantidad de "frameworks" resultan ser muy intimidantes y la verdad es que uno no sabe bien como unir todo esto para tener algo funcional). Por otro lado, si haces una búsqueda en Internet no encuentras ningún ejemplo que utilice Firebird como "backend", así que tuve que revisar toda la documentación para otros motores de base de datos (MySQL, PostgreSQL, etc), y hacer una que funcionara para Firebird. Lo más difícil que encontré fué como hacer la conexión para que soportara diferentes "character set encodings" y al mismo tiempo conectarme con diferentes usuarios y roles (pienso que el no hacerlo le amputas una de las grandes ventajas que tiene Firebird). Es increíble la forma que tienes para manejar cosas muy especificas de cada motor de base de datos como los son procedimientos almacenados, UUID y SQL dinámicas.

Por último, he estado revisando un documente que me envió Adriano Dos Santos Fernandes (Brasileño que está desarrollando las bibliotecas para poder ejecutar disparadores y procedimientos almacenados en lenguaje Java), y aunque está en portugués se entiende bastante. Por lo que alcanzo a ver, en una sola clase y con unas cuantas lineas se va a poder hacer un disparador que nos haga un log de las inserciones, actualizaciones y borrado de un registro (es decir, se va a poder hacer una herramienta de replicación en ambas vías y con diferentes bases de datos :eek:).

Bueno, es todo por el momento. Espero que todo esto te sirva de ayuda...
Saludos,
Gerardo Suárez Trejo

ricardouzcategu 03-10-2013 23:24:21

Hola..

Quisiera preguntarte como compararias lo relacionado a la seguridad de la base de datos (evitar robo o alteracion de informacion malintencionada) entre Firebird e Interbase?...

Actualmente estamos buscando algo que ofrezca mejor seguridad en los datos, bien sea evitando intrusos, encriptando datos, evitando que conozcan el usuario SYSDBA (aunque uno cambie la clave, pueden cambiar el archivo secutiry2.fdb y listo).. En fin. que puedes ayudarme a entender en cuanto a la seguridad que ofrece firebird en relación a interbase..

Gracias!


Cita:

Empezado por cointec (Mensaje 457529)
Hola, desde hace un año y medio empezamos a mover todos nuestros clientes de interbase a Firebird. Puede decirte que estamos muy contentos con Firebird y de cara a futuro lo veo como una solución con más perspectivas de evolución.

¿Porqué hemos cambiado a Firebird?

No por el coste de licencia, simplemente por la estabilidad y el rendimiento. Aunque interbase se comportaba bien, con volúmenes altos de transacciones y usuarios, ante una caída del motor, hemos tenido problemas de corrupción con bases de datos, cosa que no nos podemos permitir en entornos 24x7x365. Tambien, hemos probado con interbase XE y XE2, y en test sencillos de mover grandes volumenes de datos entre bases de datos, hemos obtenido muchos problemas de estabilidad, de hecho hasta hace 6 meses se corrompian las bases de datos dejandolas inservibles e irrecuperables. También parece ser, que embarcadero no tiene interbase como un producto a evolucionar, ya que el roadmap del producto es bastante pobre y en los últimos 6 años han añadido más parches que funcionalidades de producto. Si te fijas, desde interbase 2007 las mejoras introducidas en el motor son pocas. Por otro lado, Firebird es todo lo contrario, aunque le falta SMP y es algo que estará disponible en fb3.0.

En cuanto a rendimiento, pude decirte que Firebird 2.5 e interbase 2009, tenemos procesos que en Firebird se ejecutan 10 veces más rápidos en Firebird, sobre todo cuando se actualizan tablas que contienen triggers que a su vez llaman procedimientos almacenados. Como ejemplo, hay procesos que ejecutamos a diario, que mientras que Firebird los hacen el 20 -100 milisegundos interbase los ejecutaba entre 1 y 2 segundos. En instalaciones con 50-70 usuarios simultáneos, el rendimiento de Firebird superserver, es bastante superior a interbase SMP. En instalaciones de 70 a 200 usuarios, utilizamos Firebird classic y superclassic y por supuesto con rendimientos superiores que con interbase SMP.

Por otro lado está la resolución de bugs. Cuando hemos detectado problemas graves en interbase, han tardado meses en solucionarlo, por no decir que primero han pedido siempre dinero para poder hacerlo. Al final, les ponía la frase, este es el error, si queréis solucionarlo lo hacéis, pero no me pidáis dinero. En Firebird, cuando he subido un but grave, en 1 o 2 días he tenido la solución.

En cuanto al lenguaje, Firebird es más rico. Hasta ahora hemos mantenido compatibilidad en las bases de datos, ya que teníamos clientes con interbase y clientes con Firebird, lo que no nos permitía usar características de Firebird que interbase no dispone.

Como ves aunque has preguntado por interbase, por ahora te dirigimos a Firebird, algo que te deberías plantear. Si al final optas por Firebird, comentarte que aunque es un producto "gratuito", es importante para el proyecto que la comunidad lo soporte, bien convirtiéndote en sponsor o en miembro de Firebird Foundation.



La franja horaria es GMT +2. Ahora son las 11:57:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi