Download ¿Por qué InSoft seleccionó a FireBird como la base de datos para
Document related concepts
Transcript
¿Por qué InSoft seleccionó a FireBird como la base de datos para ContaPyme y AgroWin versión 4.0? Realmente todas las bases de datos cliente/servidor se basan en SQL (Standar Query Languaje). Hay muchas como MS-SQL (de Microsoft), ORACLE, FIREBIRD, POSTGRESS, MySQL, Interbase y otras más. Unas son mas estándar al ANSI SQL-92 que otras y unas tienen más capacidades que otras, pero realmente todas son excelentes. InSoft hizo un análisis entre los manejadores de bases de datos relacionales (RDBMS) que enumeré anteriormente. Qué es FireBird? FireBird es una base de datos relacional que ofrece muchas características de SQL ANSI estándar y que funciona en Linux, Windows, MacOSX y una variedad de plataformas UNIX. FireBird ofrece una concurrencia excelente, alto rendimiento y un poderoso lenguaje de procedimientos almacenados y disparadores. Ha estado usándose en producción bajo varios nombres desde 1981. Información muy completa se puede obtener en: FireBird en Wiki: FireBird: FireBird en español: Aprenda FireBird en 2 minutos: Qué es FireBird: http://es.wikipedia.org/wiki/Firebird http://www.firebirdsql.org/ http://www.firebird.com.mx/modules/news/ http://www.firebirdnews.org/docs/fb2min_es.html http://www.firebirdmanual.com/firebird/es/firebird-manual/... Comparativo con otros manejadores de bases de datos: http://es.wikipedia.org/wiki/Anexo:Comparaci%C3%B3n_de_sistemas_administradores... Características: Es multiplataforma, y actualmente puede ejecutarse en los sistemas operativos: Linux, HP-UX, FreeBSD, Mac OS, Solaris y Microsoft Windows. Ejecutable pequeño, con requerimientos de hardware bajos. Arquitectura Cliente/Servidor sobre protocolo TCP/IP y otros (embedded). Soporte de transacciones ACID y claves foráneas. Buena seguridad basada en usuarios/roles. Diferentes arquitecturas, entre ellas el FireBird incrustado (embedded server) que permite ejecutar aplicaciones monousuario en ordenadores sin instalar el software FireBird. Soporta también Bases de datos de sólo lectura, para aplicaciones que corran desde dispositivos sin capacidad de escritura, como cd-roms. Existencia de controladores ODBC, OLEDB, JDBC, PHP, Perl, .NET, etc. Requisitos de administración bajos, siendo considerada como una base de datos libre de mantenimiento, al margen de la realización de copias de seguridad. Pleno soporte del estándar SQL-92, tanto de sintaxis como de tipos de datos. Completo lenguaje para la escritura de disparadores y procedimientos almacenados denominado PSQL. Capacidad de almacenar elementos BLOB (Binary Large Objects). Soporte de User-Defined Functions (UDFs). Versión autoejecutable, sin instalación, excelente para la creación de catálogos en CD-Rom y para crear versiones de evaluación de algunas aplicaciones. FireBird es una base de datos ligera y sencilla de instalar. Solo un ejecutable autoinstalable o un script según plataforma. No consume grandes recursos en el servidor. Es rápida y potente. (Ver Límites FireBird). Se pueden usar librerías externas que mejoran la operativa de FireBird. Existen multitud de componentes para distintos lenguajes de programación para conectar con FireBird de forma nativa o indirecta. Capacidades de FireBird. FireBird está siendo usado para grandes bases de datos con muchas conexiones. Encontrarás un buen ejemplo de esto en Softool'06, donde Avarda (Un ERP Ruso) se ejecuta con FireBird 2.0 Classic server y un promedio de 100 conexiones simultáneas contra una base de datos de 120Gb con ¡700 millones de registros! El servidor es una máquina SMP (2 CPUs - Dell PowerEdge 2950) con 6GB de RAM. Para más información: http://www.firebirdmanual.com/firebird/es/firebird-manual/2/limites... ¿Por qué FireBird y no otros? Se tuvieron en cuenta muchos aspectos, especificaciones y propiedades de cada sistema. A continuación se destacan algunos y no se entra en los aspectos meramente técnicos por no ser de público entendimiento. El tipo de licencia: FireBird es el único con licencia realmente Libre para uso comercial. Otros que dicen tener licencia libre, lo es mientras su uso no sea comercial. Por tanto para usarlo en producción en las empresas, ellas deben pagar por el uso de las licencias del manejador de bases de datos a su fabricante, además del pago por el uso de las licencias del software. Otros como Microsoft permiten el uso del sistema en las empresas sin costo, pero totalmente limitadas. Por ejemplo, en el servidor no se direcciona más de 1 GB de memoria. Por tanto se desperdician las características del servidor. Se puede adquirir paquetes de licencias en aproximadamente US$200 por cliente. Tiene un tipo de licencia similar a MPL (Mozilla Public License), que permite su uso de forma gratuita y con una distribución muy poco restrictiva. Ejemplo: Permite su utilización en nuestras aplicaciones sin la obligación de tener que publicar el código fuente, de las misma. El Tamaño: El tamaño del sistema es muy importante para efectos de distribución e instalación. Mientras que por ejemplo el FireBird es un instalable de aproximadamente 13 MB (incluidas las utilidades y documentación), el instalable de MS-SQL puede ser de 60MB. Los sistemas cliente de FireBird, tales como ContaPyme y AgroWin no requerirán sino de un driver de aproximadamente 400K. La instalación: FireBird lo instala en unos segundos el mismo ContaPyme o AgroWin, siendo su instalación prácticamente oculta para el usuario. El sistema queda instalado como un servicio de Windows. Otros sistemas implican instalaciones aparte, más complejas, es necesario instalar frameworks, hacer configuraciones, etc. La administración: FireBird es uno de los sistemas que se considera cero administración. Es decir, una vez que se instala, el usuario difícilmente se tiene que percatar de que éste existe y no tiene que hacerle ningún tipo de administración. Este se instala como un servicio de Windows (Bajo Windows) de tal forma que FireBird arranca automáticamente cuando se inicia Windows y se cierra cuando se cierra Windows. Otros sistemas necesitan una administración permanente, son aplicaciones separadas y requieren cursos especiales por parte del usuario para su manejo. FireBird, a través de administradores de RDBMS permite ser administrado por los usuarios cuando esto se requiera. Historia: FireBird se viene desarrollando desde el año de 1981. Inicialmente con el nombre de INTERBASE de la firma BORLAND INC. En el año 2000 el código de Interbase 6.0 fue liberado y con base en ese código se desarrolló FireBird, completamente en lenguaje C y C++. Actualmente FireBird se encuentra a punto de lanzarse la versión 2.5 y cuenta con más de 30 años de experiencia. Estabilidad: FireBird es una base de datos altamente estable, compacta y que trabaja muy bien en ambientes mono y multiusuario. Es una base de datos con excelente integridad referencial y permite el manejo de transacciones. Esto es, si un proceso empieza y termina completamente, el proceso lo asume la base de datos, de lo contrario se descarta. Esto facilita el desarrollo y garantiza que los procesos se apliquen completos y no que por algún motivo pueda llegar a quedar algún proceso incompleto. Multiplataforma: FireBird trabaja bajo: Linux, HP-UX, FreeBSD, Mac OS, Solaris , Windows y Windows servers. Las versiones 4 de ContaPyme y AgroWin trabajarán bajo Windows, pero el servidor de bases de datos podrá estar en cualquiera de estos servidores. Controladores (drivers): FireBird cuenta con todo tipo de controladores que lo hacen compatible con todos los lenguajes y bases de datos. Por ejemplo con el controlador ODBC se puede tener acceso a FireBird directamente desde otra base de datos como MS-SQL o desde ACCESS o bien desde Visual Basic. También hay controladores para .NET, para Java, para PHP, etc. INTERNET: FireBird trabaja bajo el protocolo TCP/IP y otros, lo cual significa que puede trabajar directamente sobre internet, lo cual garantiza que ContaPyme y AgroWin versión 4 trabajarán bajo internet a unas velocidades razonablemente buenas sobre redes lentas. Experiencia: InSoft lleva más de 4 años trabajando con FireBird como el sistema servidor de bases de datos del sistema de clientes que hoy en día tiene más de 1 GB y su comportamiento ha sido impecable en todos los cuatro años. Nunca un error, nunca un problema con el server. Futuro: InSoft planea soportar además de FireBird, otros sistemas servidores de bases de datos como MS-SQL en el futuro, ya que la tecnología que se está utilizando para hacer la conexión con el server de FireBird es la misma que se utiliza con sistemas como MS-SQL y otros. Esta adaptación aunque es relativamente fácil, tiene un costo de ingeniería para InSoft y por eso aun no se desarrollará.