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)
-   -   Experiencia con Firebird (https://www.clubdelphi.com/foros/showthread.php?t=76504)

Neeruu 05-11-2011 14:04:40

Experiencia con Firebird
 
Hola a todos!!!


Quería saber que experiencia tienen con firebird en referencia al volumen de datos de la DB???

Quisiera Saber:
Tamaño máximo de DB que hayan trabajado?
Rendimiento de la misma?
Tamaño máximo de tablas?
Tamaño máximo de Columnas?

Saluda Atte Neeruu!!!:)

Casimiro Notevi 05-11-2011 14:21:13

Pues te copio un comentario que hice en nuestro foro amigo:

Cita:

Uso Firebird (antes Interbase, cuando no existía) desde 1998, todos los días, centenares de clientes y mi experiencia en mi trabajo es que firebird es estupenda, todos nuestros clientes tienen instalados servidores linux con firebird, todos usan la versión classic porque la superserver está más pensada para windows y una sola cpu.
Los clientes más grandes oscilan entre las 50 y 300 conexiones simultáneas.
Las bases de datos tienen una media de 1,5 GB, con varios de ellos que han soprepasado los 10, 20 e incluso los 30 GB.
Los servidores (en los clientes más grandes) son todos de varias cpu, lo normal 4 u 8.
Desde que empezamos a usar Firebird, (y antes Interbase), los únicos problemas han sido por roturas físicas de disco duro, incendios en la sala de ordenadores, robos de los equipos, etc. pero nunca, jamás, repito lo de nunca jamás (hasta ahora, toco madera) hemos tenido ningún problema con ninguna base de datos.
Permite backups en caliente, sin que tenga que desconectarse nadie. Escala estupendamente, con consumo mínimo de memoria, NO necesita mantenimiento alguno, es ultra rápida, increiblemente rápida. Permite replicación con utilidades de terceros o mediante la opción propia "shadow", que crea y mantiene una base de datos copia de la original en tiempo real en cualquier otro disco de la red (en linux).
Tiene versiones para windows, linux, solaris, macosx, hp-ux, etc. preparada para funcionar tanto en 32 como en 64 bits.
Hay versiones también "embebidas" que no necesitan instalación. Incluso se puede crear bases de datos en modo "sólo lectura" para instalarlas en cds, por ejemplo.
Además es libre, tienes todo el código fuente, y por si fuese poco, gratis.

Neeruu 05-11-2011 15:04:34

Experiencia con Firebird
 
Gracias Casimiro!!!

Te consulto:
Cita:

todos nuestros clientes tienen instalados servidores linux con firebird, todos usan la versión classic porque la superserver está más pensada para windows y una sola cpu.
Cuando pones que superserver esta mas pensada para windows y una SOLA CPU... A que te referís con una sola cpu?

Por lo que leo, en todos los clientes, tenes corriendo firebird sobre Linux... Es por el rendimiento con firebird o por una cuestión de S.O.?


Saluda Atte!!! :)

Delphius 05-11-2011 16:01:54

Cita:

Empezado por Neeruu (Mensaje 417693)
Gracias Casimiro!!!

Te consulto:


Cuando pones que superserver esta mas pensada para windows y una SOLA CPU... A que te referís con una sola cpu?

Se refiere a equipos con más de un procesador. Hoy en día está "de modé", al punto en que quizá ya ningún equipo es de 1CPU. Y Justamente Firebird tiene parámetros de configuración, y un diseño, que le permiten sacarle jugo a estos equipos n-CPU.

Cita:

Empezado por Neeruu (Mensaje 417693)
Por lo que leo, en todos los clientes, tenes corriendo firebird sobre Linux... Es por el rendimiento con firebird o por una cuestión de S.O.?
Saluda Atte!!! :)

Yo diría que por ambas cosas ;)

Delphius 05-11-2011 16:07:00

Ha... por cierto, sobre el tamaño y cantidad de tablas y columnas está perfectamente documentado. ¡Hay que leer la documentación!

Saludos,

Casimiro Notevi 05-11-2011 17:21:46

Ya lo ha dicho todo Delphius :)

ecfisa 05-11-2011 21:40:22

Cita:

Empezado por Casimiro Notevi (Mensaje 417691)
Uso Firebird (antes Interbase, cuando no existía) desde 1998, todos los días, centenares de clientes y mi experiencia en mi trabajo es que firebird es estupenda, todos nuestros clientes tienen instalados servidores linux con firebird, todos usan la versión classic porque la superserver está más pensada para windows y una sola cpu.
Los clientes más grandes oscilan entre las 50 y 300 conexiones simultáneas.
Las bases de datos tienen una media de 1,5 GB, con varios de ellos que han soprepasado los 10, 20 e incluso los 30 GB.
Los servidores (en los clientes más grandes) son todos de varias cpu, lo normal 4 u 8.
Desde que empezamos a usar Firebird, (y antes Interbase), los únicos problemas han sido por roturas físicas de disco duro, incendios en la sala de ordenadores, robos de los equipos, etc. pero nunca, jamás, repito lo de nunca jamás (hasta ahora, toco madera) hemos tenido ningún problema con ninguna base de datos.
Permite backups en caliente, sin que tenga que desconectarse nadie. Escala estupendamente, con consumo mínimo de memoria, NO necesita mantenimiento alguno, es ultra rápida, increiblemente rápida. Permite replicación con utilidades de terceros o mediante la opción propia "shadow", que crea y mantiene una base de datos copia de la original en tiempo real en cualquier otro disco de la red (en linux).
Tiene versiones para windows, linux, solaris, macosx, hp-ux, etc. preparada para funcionar tanto en 32 como en 64 bits.
Hay versiones también "embebidas" que no necesitan instalación. Incluso se puede crear bases de datos en modo "sólo lectura" para instalarlas en cds, por ejemplo.
Además es libre, tienes todo el código fuente, y por si fuese poco, gratis.

¿ Que mejor carta de presentación que esa ? ;)

Un saludo :)

Neeruu 06-11-2011 04:17:11

Experiencia con Firebird
 
Gracias a todos por contestar!!!

Aclaro que, Sobre el tamaño y cantidad de tablas y columnas, lo que busco es experiencia real. En la teoría muchas cosas andan, pero en la practica no.

Otras Preguntas:
Con respecto al cliente Firebird:
Hay diferencia de rendimiento si esta instalado en windows o linux?
(Suponiendo que el Servidor Firebird este en linux)

Con respecto a la Arquitectura:
Hay diferencia de rendimiento entre 32 y 64 bit?
Puedo tener un Servidor Firebird de 64 bit con clientes de 32 bit?


Mas allá de la información teórica que puedan contener las respuestas, busco experiencia....

Desde ya gracias por la ayuda.
Saluda Atte Neeruu!!! :)

Casimiro Notevi 06-11-2011 11:00:49

Cita:

Empezado por Neeruu (Mensaje 417734)
Aclaro que, Sobre el tamaño y cantidad de tablas y columnas, lo que busco es experiencia real. En la teoría muchas cosas andan, pero en la practica no.

Lo que he contado es real, mi experiencia. En cuanto a columnas y tablas, pues ya te hemos indicado que en la documentación lo pone, pero tú ¿qué necesitas?, ¿qué estás buscando?, ¿qué requerimientos necesitas?

Cita:

Empezado por Neeruu
Con respecto al cliente Firebird:
Hay diferencia de rendimiento si esta instalado en windows o linux?
(Suponiendo que el Servidor Firebird este en linux)

Depende de tu programa, si está "bien hecho" cliente/servidor, entonces la diferencia es mínima porque el trabajo lo hace el servidor y el cliente se limita a hacer peticiones al mismo. Si usas como servidor el mismo cliente, entonces sí, linux ofrece más rendimiento que windows.

Cita:

Empezado por Neeruu
Con respecto a la Arquitectura:
Hay diferencia de rendimiento entre 32 y 64 bit?
Puedo tener un Servidor Firebird de 64 bit con clientes de 32 bit?

Firebird está preparado para funcionar en 32 o 64 bits, según el equipo/sistema operativo donde esté instalado. Lo que sí es necesario, obviamente, es que todos los equipos, tanto servidores como clientes, usen la misma versión de firebird. Si instalas FB2.1 classic server en el servidor, entonces todos los clientes deben tener la versión FB2.1 (no se diferencia 32/64 bits)
Linux ofrece mucho más rendimiento, muchas más estabilidad, mucha más escalabilidad, en resumen, bastante más prestaciones que windows. Es algo que todos saben, por algo todos los servidores de google, facebook, etc. son todos linux. Por algo casi todos los superordenadores más potentes del mundo usan linux, por eso la inmensa mayoría de servidores: web, datos, etc. son todos linux. Incluso microsoft ha recurrido en ocasiones a los servidores linux de akamai para ofrecer sus servicios.

Cita:

Empezado por Neeruu
Mas allá de la información teórica que puedan contener las respuestas, busco experiencia...

Pues te recomiendo que hagas preguntas concretas.[/quote]

Neeruu 06-11-2011 23:41:56

Haber....

Yo uso firebird... para mis aplicaciones.... pero nunca he tenido la posibilidad de trabajar con una base de datos de dimensiones considerables... que llamo considerable???
1 a 10 gb, mas de 300 tablas, 50 columnas por tabla, 200 usuarios conectados realizando consultas complejas y con la necesidad de respuesta rápida.


Y ahora se me presento la posibilidad de participar en un proyecto, que seguro tendrá una base de datos considerable!!!

Entonces como he comentado antes, no tengo experiencia con firebird como base de datos grandes.... Y quería escuchar sus experiencias, para convencerme de que mi elección por firebird es la correcta. La otra opción es oracle, y sacando el precio.... no tengo ni idea...

Por eso necesito escuchar sus experiencias, para saber si eligiendo firebird voy a poder esperar los resultados que necesito!!!!

Después de comentado esto... espero que puedan compartir alguna de sus experiencias reales con Firebird... para poder tener un conocimiento real de lo que puede hacer la Firebird...

Desde ya muchas gracias...

Saluda Atte Neeruu!!!:)

Neeruu 06-11-2011 23:44:43

Una pregunta.... capas algo tonta porque estamos en club delphi, que corre en windows!!!

Suponiendo que el desarrollo de la aplicación se realice con delphi....
En caso de los clientes, (Puestos de Trabajo)??? esta bajo windows o bajo linux con algún emulador????

Saluda Atte Neeruu!!!:)

Casimiro Notevi 07-11-2011 01:30:39

El programa delphi corriendo sobre windows, conectado a un servidor linux. Eso es lo ideal.

Tus requerimientos son nada para firebird, pero eso sí, tanto con firebird como con cualquier otro gestor de bases de datos, tú eres el programador, ¿qué quiero decir con esto?, pues que aunque te pongas unas zapatillas como las de Usain Bolt, no correrás los 100 metros en en 9.58 seg. Y si te dejan la raqueta de Rafa Nadal, no por ello ganarás el Roland Garros. Si te dejan la moto de Casey Stoner, no serás campeón de motogp, etc.
Aquí encontrarás unos comentarios sobre firebird que hice hace unos días.
La gestión comercial de donde trabajo tiene más de 300 tablas, más de 350 triggers, unos 200 store procedures, unos 40 generadores, casi 100 vistas, etc.
Y es una "simple" gestión: pedidos, facturas, fabricación, alquileres, clientes, proveedores, etc.

guillotmarc 07-11-2011 10:35:24

Hola.

Cita:

Empezado por Neeruu (Mensaje 417763)
Haber....

Yo uso firebird... para mis aplicaciones.... pero nunca he tenido la posibilidad de trabajar con una base de datos de dimensiones considerables... que llamo considerable???
1 a 10 gb, mas de 300 tablas, 50 columnas por tabla, 200 usuarios conectados realizando consultas complejas y con la necesidad de respuesta rápida.


Y ahora se me presento la posibilidad de participar en un proyecto, que seguro tendrá una base de datos considerable!!!

Entonces como he comentado antes, no tengo experiencia con firebird como base de datos grandes.... Y quería escuchar sus experiencias, para convencerme de que mi elección por firebird es la correcta. La otra opción es oracle, y sacando el precio.... no tengo ni idea...

Por eso necesito escuchar sus experiencias, para saber si eligiendo firebird voy a poder esperar los resultados que necesito!!!!

Después de comentado esto... espero que puedan compartir alguna de sus experiencias reales con Firebird... para poder tener un conocimiento real de lo que puede hacer la Firebird...

Desde ya muchas gracias...

Saluda Atte Neeruu!!!:)

Tus requerimientos no son nada exagerados, Firebird puede perfectamente con ellos. Yo trabajo habitualmente con una base de datos de ese tamaño y complejidad, solo que sin tantos usuarios simultáneos.

En una base de datos siempre es muy importante la creación de índices para acelerar las consultas, y cuando hablamos de este tamaño y concurrencia, se vuelve básico. Así que si la base de datos está bien estructurada y optimizada, no vas a tener ningún problema.

Léete este testimonio de un hospital en Moscú donde sustituyeron sus Servidores Oracle por Servidores Firebird.

http://www.firebirdsql.org/en/case-s...ital-31-12651/

Saludos.

guillotmarc 07-11-2011 10:39:24

Cita:

Empezado por Neeruu (Mensaje 417764)
Suponiendo que el desarrollo de la aplicación se realice con delphi....
En caso de los clientes, (Puestos de Trabajo)??? esta bajo windows o bajo linux con algún emulador????

Puedes utilizar Wine (emulador Windows) que permite ejecutar perfectamente en Linux las aplicaciones compiladas en Delphi, o bien, si programas en Delphi puro sin componentes comerciales de terceros, puedes utilizar Lazarus, un compilador para Linux/Mac/Windows que es un clon de Delphi, que te permetirá generar un ejecutable nativo de Linux.

Saludos.

Casimiro Notevi 07-11-2011 10:46:01

Por supuesto, confirmo lo comentado por guillotmarc, y cuando dije que:
Cita:

Empezado por Casimiro Notevi (Mensaje 417769)
El programa delphi corriendo sobre windows, conectado a un servidor linux. Eso es lo ideal.

Estaba diciendo que lo ideal es un servidor linux, y el cliente si está hecho en delphi, pues entonces windows, pero puede funcionar en linux tal y como ha explicado guillotmarc, o puedes hacer el programa con lazarus.
Si puedes hacer todo para linux, pues mejor que mejor.

Neeruu 08-11-2011 02:54:04

Siguiendo con las preguntas.... y ya me estoy yendo del tema inicial!!!!


Con que versión de linux recomiendan que use como base para mi servidor firebird???
Por lo que leí muchos sugieren debían.... aunque también encontré quien prefiere ubuntu versión server....


Saluda Atte Neeruu!!!:)

Casimiro Notevi 08-11-2011 10:39:14

El que quieras, debian, ubuntu, centos, suse, fedora, redhat, etc.
En mi trabajo montamos indistintamente ubuntu, suse, redhat, depende de quien haga la instalación, elije la que más le guste :)
La wikipedia está montada sobre ubuntu. Clubdelphi creo que va sobre centos. Los más grandes superordenadores del mundo montan suse.
Ten en cuenta que linux es "el núcleo" y el resto de programas. Quiere decir que si montas una distro linux con versión 2.6 (por ejemplo), es igual en todas las distribuciones, lo único que cambia es que cada uno monta "encima" los programas que le ha parecido más interesante: unos gnome y otros kde; unos openoffice y otros libreoffice, etc. pero el núcleo es el mismo.
Así que, simplemente, la que más te guste, todas son perfectamente válidas.

Neeruu 08-11-2011 12:46:08

Gracias a todos por sus respuestas....

Ya les comentare como me fue....

Saludos Atte Neeruu!!!:)

Delphius 08-11-2011 16:07:43

Es como decir, ¿oigan muchachos.. y que chasis le queda bien al motor de 10 válvulas y 500 caballos de fuerza? :D

Que carajos importa si es Ubuntu, Debian, MiDistroPersonalCutre.... si, muy cierto que quizá existan diferencias en algunos aspectos de rendimiento pero serán despreciables y a Firebird poco le hace, ni le afecta.

Ya de por sí corre... ¿o crees que habrá demasiada diferencia a que vaya a 105 km/h de a 100 km/h? ¡Sigue siendo veloz! O como me dijo mi viejo una vez cuando discutíamos de un accidente: que importa esos números igual se iba a hacer mierda el tipo. Si... quizá no es muy agradable el ejemplo pero espero que se entienda el punto.

Saludos,

cointec 12-11-2011 10:36:31

Hola, no suelo acceder a este foro y por casualidad he visto este Hilo y quiza puedo aportar algo.

Nosotros trabajamos con una base de datos con 1200 tablas, 2200 procedimientos almacenados, unos 3500 triggers. Algunas de las tablas tienen mas de 100000 millones de registros. Los campos de las tables varian, pero hay tables con 150 campos.

En cuanto ususarios, van desde 5 a mas de 150 usuarios simultaneos, dependiendo del cliente.

Nuestro sistema es critico y trabaja 24x7x365.

Las bases de datos mas activas crecen 5-6 gb año.

Tenemos medias de 300000 transacciones/dia, aunque hay días de mas.

La base de datos se ataca a traves de varias aplicaciones desarrolladas en Delphi y asp.net.



Nuestras instalaciones son principalmente windows

Casimiro Notevi 12-11-2011 11:50:17

Hola,. bienvenido a clubdelphi :)
Suponemos que la base de datos es firebird, cuéntanos algo más, si puedes, sobre el tipo de gestión, servidor/es, etc. es que soy muy curioso :)

Neeruu 13-11-2011 20:06:14

La verdad que una base de datos impresionante!!!!

No me imagino la cantidad de datos que pueden almacenarse en semejante DB....


Saluda Atte Neeruu!!!:)

cointec 13-11-2011 20:12:33

Hola:

Nosotros utilizamos tanto interbase como firebird. Las instalaciones son todas en windows, principalmente windows 2003, aunque las últimas se están haciendo en Windows 2008. Las instalaciones con más carga de trabajo funcionan sobre VMWare.

Para la próxima implantación, vamos a utilizar Windows 2008 R2 sobre VMWare. El servidor virtual de base de datos, va a contar con 8 cores y 24/32Gb RAM. La versión de Firebird es 2.5.1. Necesitamos tanta memoria, ya que el problema que tiene la versión classic, cuando el metadata es grande, es el uso de memoria. Nos hemos encontrado que con la versión 2.5.1, el uso de memoria ha incrementado por conexión. Mientras Firebird 2.1.X utilizaba por conexión a nuestra base de datos un mínimo de 54Mb, la versión 2.5 utiliza 80MB RAM. Preveemos que por conexión utilice un máximo de 110MB y que tengamos picos de 200 conexiones.

Un Saludo, Jesus

Neeruu 13-11-2011 21:36:56

Hola.... unas consultas...

Como mantienes una base de datos tan grande...???
Utilizas algún programa que supervise la DB....??? ( En este Link Mencionan que utilizan esta herramienta "IBSurgeon’s FBDataGuard" para mantenimiento)
Como haces el calculo de consumo de memoria???

No te convendría tener el servidor de firebird sobre linux??? Digo por lo que leí la versión clasic trabaja mejor sobre linux y aprovecha mejor los procesadores.... (Esto es si no entendí mal :confused:)



Saluda Atte Neeruu!!!:)

fjcg02 14-11-2011 17:06:48

Cita:

Empezado por cointec (Mensaje 418390)
Hola:

El servidor virtual de base de datos, va a contar con 8 cores y 24/32Gb RAM. La versión de Firebird es 2.5.1. Necesitamos tanta memoria, ya que el problema que tiene la versión classic, cuando el metadata es grande, es el uso de memoria. Nos hemos encontrado que con la versión 2.5.1, el uso de memoria ha incrementado por conexión. Mientras Firebird 2.1.X utilizaba por conexión a nuestra base de datos un mínimo de 54Mb, la versión 2.5 utiliza 80MB RAM. Preveemos que por conexión utilice un máximo de 110MB y que tengamos picos de 200 conexiones.

Dos preguntas:
1.- No es mejor no virtualizar para mejorar el rendimiento ? Nosotros virtualizamos los servidores de aplicación, pero no los de bbdd.
2.- Utilizais aplicaciones de 2 capas o de tres ? En el caso de aplciaciones de 3 capas podriais mantener el consumo de memoria reutilizando las conexiones a la bbdd, siempre y cuando el rendimiento sea bueno. No entiendo muy bien lo de atacar ví asp... en este caso no hay servidor de aplicaciones intermedio ?

Das poca información, pero me han llamado la atención estos dos aspectos.

Un saludo

cointec 14-11-2011 18:04:10

Cita:

Empezado por Neeruu (Mensaje 418391)
Como mantienes una base de datos tan grande...???

El mantenimiento es mínimo. Realizamos backups nocturnos, revisamos los logs y semanalmente hacemos restore. En cuanto al mantenimiento de versiones, lo hacemos mediante scripts de actualización de base de datos.

Cita:

Empezado por Neeruu (Mensaje 418391)
Utilizas algún programa que supervise la DB....??? ( En este Link Mencionan que utilizan esta herramienta "IBSurgeon’s FBDataGuard" para mantenimiento)

Nos hemos planteado empezar a utilizarlo a corto plazo, pero por ahora no utilzamos ninguno.

Cita:

Empezado por Neeruu (Mensaje 418391)
Como haces el calculo de consumo de memoria???

Realizamos conexiones a la base de datos y simulamos un trabajo normal, y comprobamos el uso de memoria que tiene la conexión.

Cita:

Empezado por Neeruu (Mensaje 418391)
No te convendría tener el servidor de firebird sobre linux??? Digo por lo que leí la versión clasic trabaja mejor sobre linux y aprovecha mejor los procesadores....

No tenemos experiencia con Linux, y por ahora no lo hemos necesitado.

cointec 14-11-2011 18:07:03

Cita:

Empezado por fjcg02 (Mensaje 418453)
Dos preguntas:
1.- No es mejor no virtualizar para mejorar el rendimiento ? Nosotros virtualizamos los servidores de aplicación, pero no los de bbdd.
2.- Utilizais aplicaciones de 2 capas o de tres ? En el caso de aplciaciones de 3 capas podriais mantener el consumo de memoria reutilizando las conexiones a la bbdd, siempre y cuando el rendimiento sea bueno. No entiendo muy bien lo de atacar ví asp... en este caso no hay servidor de aplicaciones intermedio ?

1. La virtualización es una imposición de nuestros clientes, no nuestra. Por supuesto el rendimiento es mejor sin virtualizar.
2. Hay usuarios de cliente pesado desarrollado en Delphi con 2 capas. Otros usuarios se conectan a través de una aplicación desarrollada en ASP.NET con 2 capas, pero utilizan pool de conexiones.

fjcg02 14-11-2011 18:17:16

Cita:

Empezado por cointec (Mensaje 418466)
1. La virtualización es una imposición de nuestros clientes, no nuestra. Por supuesto el rendimiento es mejor sin virtualizar.
2. Hay usuarios de cliente pesado desarrollado en Delphi con 2 capas. Otros usuarios se conectan a través de una aplicación desarrollada en ASP.NET con 2 capas, pero utilizan pool de conexiones.

1.- Ok, me lo figuraba.
2.- Os costaría mucho hacerlo en 3 capas y utilizar mínimo nº de conexiones ? me respondo y mismo que sí, pero bueno, es por aportar ideas.

Un saludo

cointec 14-11-2011 19:34:51

Cita:

Empezado por fjcg02 (Mensaje 418471)
2.- Os costaría mucho hacerlo en 3 capas y utilizar mínimo nº de conexiones ? me respondo y mismo que sí, pero bueno, es por aportar ideas.

Si que nos costaría bastante y por ahora no es necesario, salvo por el uso de classic server, y lo podemos solucionar con memoria.

Nuestra aplicación cliente utiliza intensamente la base de datos, y puede que minimizásemos las conexiones, pero seguirían siendo bastantes. También un problema que habría en dicha conversión, vendría derivado porque utilizamos para las conexiones de la aplicación cliente, un usuario de base de datos. Nuestros usuarios, se crean a nivel de base de datos y se utiliza el usuario desde el matadata para realizar logs, permisos para realizar acciones sobre tablas, etc.

Con 3 capas, tendríamos que abandonar todo este diseño, y es algo que aumentaría considerablemente el trabajo a realizar. Quizá firebird 3 nos lo resuelva antes :).

Un Saludo


La franja horaria es GMT +2. Ahora son las 09:14:45.

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