Documentación Firebird → Base de Datos Firebird → Firebird 1.5 - Guía de arranque rápido → ¿Classic o Superserver? |
Firebird viene en dos sabores, llamados arquitecturas: Classic Server y Superserver. ¿Cuál de ellos debería instalar? Bueno, eso depende de su situación. A continuación se ofrece un resumen de las diferencias más importantes.
Tabla 1. Firebird 1.5 Classic Server vs. Superserver
Classic Server |
Superserver |
---|---|
Completamente maduro en Linux; todavía 'experimental' en cierta forma, en Windows. |
Completamente maduro tanto en Windows como en Linux. |
Crea un proceso por cada conexión cliente, cada uno con su propio caché. Utiliza menos recursos si la cantidad de conexiones es baja. |
Proceso único con un hilo de ejecución (thread) separado para cada conexión. Se comparte el espacio de caché. Más eficiente si crece el número de conexiones simultáneas. |
Permite E/S directa, rápida, a archivos de bases de datos para conexiones locales (sólo Linux). |
Las conexiones locales deben hacerse con la forma de acceso remoto, conectando a localhost. En Windows se pueden hacer conexiones locales, pero no son tan veloces como las de la versión “Classic” en Linux, y también son menos seguras. |
Windows: implementados parcialmente Services Manager (Administrador de Servicios), tareas de soporte como backup/restore, database shutdown (sacar de línea la base de datos) etc. a través de la red. Otras tareas de servicio tienen que ser realizadas localmente usando las herramientas cliente (pequeños ejecutables independientes) que vienen con Firebird. Linux: Administrador de Servicios completo. |
Administrador de Servicios completo (en Windows y Linux) que le permite realizar tareas de administración (backup/restore, database shutdown, manejo de usuarios, estadísticas, etc.) programáticamente. Se puede conectar al Administrador de Servicios a través de la red y por lo tanto realizar estas tareas en forma remota. |
Soporte para SMP (multi-procesador). Mejor rendimiento en caso de un pequeño número de conexiones simultáneas que no se influencian entre sí. |
No hay soporte para SMP. En máquinas multiprocesador con Windows, el rendimiento puede incluso caer dramáticamente cuando el SO cambia el proceso entre las CPUs. Para prevenir esto, fije el parámetro CpuAffinityMask en el archivo de configuración firebird.conf. |
Como puede ver, ninguna de las arquitecturas es mejor en todos los aspectos. Esto no es una sorpresa: no estaríamos manteniendo dos arquitecturas si una de ellas fuera perdedora en todos los frentes.
Si todavía no está seguro de cuál elegir (tal vez encuentre toda esta charla técnica un poco excesiva), utilice esta regla práctica:
En Windows, elija Superserver.
En Linux, elija cualquiera de los dos. En la mayoría de los casos, no notará una diferencia de rendimiento.
Note que Ud. puede cambiar en cualquier momento de una arquitectura a otra; sus aplicaciones y bases de datos seguirán funcionando (salvo que sus aplicaciones llamen a funciones no soportadas o no completadas del Administrador de Servicios en Classic).
Para Linux, los paquetes Superserver comienzan con FirebirdSS, los paquetes Classic con FirebirdCS. Para Windows, hay un paquete de instalación combinado; se selecciona la arquitectura durante el proceso de instalación.
No hemos sido completamente honestos con Ud. Firebird tiene una tercera variante: Embedded Server (Servidor embebido), pero esta es una bestia completamente distinta y no está orientada a sus instalaciones cliente-servidor típicas. Consulte las notas de versión por detalles.
Documentación Firebird → Base de Datos Firebird → Firebird 1.5 - Guía de arranque rápido → ¿Classic o Superserver? |