InterBase
Interbase es un sistema de gestión de bases de datos relacionales (RDBMS) desarrollado y comercializado por la compañía Borland Software Corporation y actualmente desarrollado por su ex-filial CodeGear.
Interbase se destaca de otros DBMS's por su bajo consumo de recursos, su casi nula necesidad de administración y su arquitectura multi-generacional. InterBase corre en plataformas Linux, Microsoft Windows y Solaris.
Índice |
Tecnología [editar]
En muchos aspectos, InterBase es bastante convencional, es un SQL-92 compatible con bases de datos relacionales y soporta interfaces estándar como JDBC , ODBC y ADO.NET. Sin embargo, ciertas características técnicas distinguen InterBase de otros productos.
Tamaño Pequeño [editar]
Una instalación total del servidor InterBase 2009 requiere alrededor de 40 MB en el disco. Esto es significativamente menor que la instalación del cliente de muchos servidores de base de datos de la competencia. El servidor utiliza muy poca memoria cuando está inactivo. La instalación mínima de InterBase cliente requiere alrededor de 400 KB de espacio en disco.
Embedded or server [editar]
InterBase ofrece la opción de ejecutarse como un servidor de base de datos integrada o regular.
Una administración mínima [editar]
Normalmente los servidores InterBase no requieren administradores de bases de datos a tiempo completo.
El control de concurrencia
Considere la posibilidad de una simple aplicación bancaria en la que dos usuarios tienen acceso a los fondos en una cuenta particular. Bob lee la cuenta y encuentra que hay 1.000 dólares en ella, por lo que retira 500. Jane utiliza la misma cuenta pero antes de que Bob haya aplicado los cambios, considera que hay 1000 dólares y retira 800. La cuenta debería tener 300 dólares en descubierto, sin embargo (asumiendo que no puede haber descubierto) dependiendo de la transacción que se procese primero, tendrá 500 ó 200 dólares. Esto plantea un grave problema ante el cual cualquier sistema de bases de datos con acceso multiusuario debe responder ofreciendo un sistema con el que gestionar estas situaciones.
Las técnicas utilizadas para resolver este y otros problemas relacionados, son conocidos como control de concurrencia .
Los productos tradicionales utilizan bloqueos cuando una determinada transacción va a modificar un registro. Una vez que el bloqueo se aplica, nadie más puede leer o modificar los datos hasta que éste se levante. El bloqueo se puede aplicar sobre un único registro, una página (un grupo de registros almacenados juntos en el disco) de registros o todos los registros examinados por una transacción en particular, dependiendo de la resolución de bloqueo. El bloqueo de resolución es una solución de compromiso entre rendimiento y precisión mediante la aplicación de bloqueo de actualizaciones a nivel de página. Algunos registros serán bloqueados a pesar de no entrar en conflicto con aquellos que sí van a ser actualizados por transacciones, sin embargo el rendimiento es mayor en comparación con el bloqueo a nivel de registro.
El bloqueo se convierte en un problema aún mayor cuando se combina con otra característica común a todos estos sistemas, el aislamiento. Esto se debe a que generalmente están relacionadas con las operaciones de lectura y una escritura. En este ejemplo, para leer el valor de la cuenta y luego cambiarla. Con el fin de mostrar una visión aislada de los datos de toda la transacción, incluyendo los registros que se van a leer pero no a escribir, debe ser bloqueado en los servidores de base de datos de muchos.
En InterBase, los lectores no ven el del escritor. Por ejemplo, cuando Bob y Jane leen los datos a ambos se les mostrará "versión 1", la lectura de 1.000 dólares. Cuando Bob haga cambios en la cuenta al hacer su retiro, los datos no se sobrescriben sino que una nueva "versión 2", esta vez con 500 dólares aparecerá. El intento de Jane de retirar 800 dólares fallará al encontrar que hay una nueva versión.
A este enfoque del control de concurrencia se le llama control de concurrencia multiversión. La aplicación InterBase de control de concurrencia multiversión comúnmente llama a su arquitectura multi-generacional. InterBase fue la segunda base de datos comercial en utilizar esta técnica, la primera fue diciembre 's Rdb / ELN.
El control de concurrencia multiversión también hace el aislamiento instantáneo de transacciones relativamente fácil de implementar. Una transacción con aislamiento instantáneo en InterBase muestra el estado de la base de datos precisamente en el instante en que la operación comenzó. Esto es muy útil para copias de seguridad de una base de datos activa , procesos de larga duración por lotes, etc.
Historia [editar]
Control de concurrencia multiversión antes de InterBase
El control de concurrencia multiversión se describe con cierto detalle en las secciones 4.3 y 5.5 del artículo de 1981 "Concurrency Control in Distributed Database Systems"[1] de Philip Bernstein y Nathan Goodman, entonces empleados por la Computer Corporation de América. Los documentos de Bernstein y Goodman citan una charla de 1978 de DP Reed[2] , que describe claramente el CCMV y lo establece como obra original.
Primeros años
Jim Starkey trabajaba en diciembre en su Datatrieve base de datos de red del producto cuando se le ocurrió una idea para un sistema de gestión de cambios concurrentes por muchos usuarios. La idea simplifica dramáticamente los actuales problemas de bloqueo que estaban demostrando ser un serio problema para la nueva base de datos relacional sistemas se están desarrollando en ese momento. Comenzó a trabajar en el sistema en diciembre, pero a la vez diciembre había comenzado un esfuerzo de base de datos relacional que conducen a la Rdb / VMS producto. Cuando se enteraron de su proyecto de una guerra territorial estalló (aunque el producto fue lanzado como Rdb / ELN), y Starkey eventualmente decidió dejar de fumar.
Aunque la implementación de InterBase es mucho más similar al sistema descrito por Reed en su tesis de MIT que cualquier otra base de datos que existía en el momento y Starkey sabía Bernstein de su posición anterior en el Computer Corporation de América y más tarde en diciembre, Starkey ha declarado que . llegó a la idea de control de concurrencia multiversión independiente En el mismo comentario, Starkey dice:
La inspiración para el control de concurrencia multi-generacional era un sistema de base de datos realizada por el primer apoyo que las instantáneas a nivel de página. La intención de la función era dar a un lector de un consistente punto de vista de la base de datos sin el bloqueo de los escritores. La idea me intrigó como una característica muy útil de un sistema de base de datos.
El camino a Borland
Entre 1986 y 1991 el producto fue vendido poco a poco a Ashton-Tate , creadores de la famosa dBASE que estaban en el momento de comprar varias empresas de bases de datos con el fin de llenar su cartera. La empresa fue pronto en problemas, y Borland adquirió Ashton-Tate en 1991, adquiriendo Interbase como parte de la oferta.
El código abierto
A principios de 2000, Borland anunció que Interbase sería liberado bajo código abierto , y comenzaron las negociaciones para escindir una empresa separada para manejar el producto. Cuando las personas que iban a dirigir la nueva empresa y Borland no pudieron ponerse de acuerdo sobre los términos de la separación, InterBase sigue siendo un producto de Borland, y el código fuente de InterBase versión 6 fue lanzado bajo una variante de la licencia pública de Mozilla a mediados de 2000 .
Con la división de Borland InterBase bajo una nueva administración, la compañía lanzó una propiedad de versión InterBase versión 6 y 6,5. Borland publicado varias actualizaciones al código de fuente abierta antes de anunciar que dejaría de desarrollar activamente el proyecto de código abierto. Firebird , una fuente abierta tenedor del código de InterBase 6, sin embargo, sigue en desarrollo activo.
En 2001, una puerta trasera fue descubierto (y fija) en el software que había estado presente en todas las versiones desde 1994.
Code Gear
El 8 de febrero de 2006, Borland anunció la intención de vender su línea de productos de herramienta de desarrollo, incluyendo InterBase, Delphi , JBuilder , y otras herramientas. Sin embargo, en lugar de vender las divisiones, Borland que se salió como una filial el 14 de noviembre 2006. InterBase, junto con herramientas IDE como Delphi y JBuilder se incluyen en la línea de productos de la nueva compañía. Luego, el 7 de mayo de 2008, Borland y Embarcadero Technologies anunció que había Embarcadero "firmaron un acuerdo de compra de activos definitivo para la compra de CodeGear". La adquisición, por aproximadamente US $ 24,5 millones, cerró el 30 de junio de 2008.
Lanzamientos recientes
A finales de 2002, Borland lanzó InterBase versión 7, con soporte para SMP , soporte mejorado para la vigilancia y el control del servidor por los administradores, y más. Borland InterBase 7.1 liberado en junio de 2003, 7,5 en diciembre de 2004, y 7.5.1 el 1 de junio de 2005.
En septiembre de 2006, Borland anunció de la disponibilidad de InterBase 2007. Sus nuevas características incluyen el punto en el tiempo de recuperación a través de diario (que también permite la capacidad de recuperación sin la penalización en el rendimiento de escritura sincrónica), copia de seguridad incremental , las operaciones por lotes declaración, nuevos Unicode codificación de caracteres , y un nuevo ODBC driver.
En septiembre de 2008, anunció Embarcadero de la disponibilidad de InterBase 2009. Sus nuevas características incluyen cifrado de base de datos completa, selectiva a nivel de columna y cifrado de datos sobre el alambre que ofrecen encriptación segura de comunicación TCP / IP a través de SSL.
En septiembre de 2010, Embarcadero anunció de la disponibilidad de InterBase XE. Sus nuevas características incluyen un cliente de 64 bits y el servidor, una mayor seguridad, escalabilidad mejorada, soporte para SQL dinámico en procedimientos almacenados, y un rendimiento optimizado de los objetos de gran tamaño con los métodos de Stream.
Véase también [editar]
- DBMS Firebird
soporta PL/SQL
Referencias [editar]
- ↑ Bernstein, Philip A. and Goodman, Nathan. «Concurrency Control in Distributed Database Systems». ACM Computing Surveys. Consultado el 21 de septiembre de 2005.
- ↑ Reed, D.P.. «Naming and Synchronization in a Decentralized Computer System». MIT dissertation. Consultado el 21 de septiembre de 2005.