InterBase
# 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 por Embarcadero Technologies.

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.

## Tamaño Pequeño

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

InterBase ofrece la opción de ejecutarse como un servidor de base de datos integrada o regular.

## Una administración mínima

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 1000 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 o 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 este 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 cuota y luego cambinarlo. 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 1000 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

Control de concurrencia multiversión antes de InterBase

