Lanzamiento de la base de datos Firebird 5.0

Después de dos años y medio de desarrollo, se presenta el lanzamiento de la base de datos relacional Firebird 5.0. Firebird continúa el desarrollo del código de la base de datos InterBase 6.0, liberado en el año 2000 por la empresa Borland. Firebird se distribuye bajo la licencia libre MPL y soporta las normas ANSI SQL, incluyendo características como triggers, procedimientos almacenados y replicación. Las compilaciones binarias están disponibles para Linux, Windows, macOS y Android.

Novedades clave:

  • Se ha implementado la posibilidad de realizar operaciones en modo multihilo. La paralelización en varios hilos es aplicable al crear índices, recopilación de basura (operaciones automáticas y manuales de barrido), creación de copias de seguridad y recuperación de las mismas. gfix -sweep -parallel 4 dbname gbak -b -par 4 -user username -pass password dbname backupname
  • Se ha añadido soporte para índices parciales, que incluyen solo registros seleccionados que cumplen las condiciones especificadas al crear el índice. CREATE INDEX IT1_COL ON T1 (COL) WHERE COL < 100;
  • En las expresiones SELECT WITH LOCK, UPDATE y DELETE se ha implementado la sintaxis «SKIP LOCKED», que permite excluir registros para los cuales, en el momento de enviar la consulta, hay una bloquea (por ejemplo, para no esperar a que se libere la bloquea durante una intersección con otra transacción).
  • Se ha añadido la posibilidad de actualizar la base de datos a la versión intermedia actual del almacenamiento (ODS — On-Disk-Structure) de forma inmediata (inline update) sin crear y restaurar desde una copia de seguridad. Por ejemplo, ahora es posible convertir en vivo una base de datos en formato Firebird 4.0 (ODS 13.0) a formato Firebird 5.0 (ODS 13.1).
  • Se ha implementado un caché de expresiones SQL compiladas, administrado automáticamente (los registros obsoletos se eliminan según sea necesario). El tamaño del caché se determina mediante el parámetro MaxStatementCacheSize en firebird.conf.
  • Se ha añadido una interfaz para perfilado de SQL y PSQL, que permite evaluar el tiempo de ejecución de cada consulta, acumular estadísticas sobre el número de consultas y detectar problemas de rendimiento.
  • En la expresión MERGE se ha añadido soporte para el bloque condicional «WHEN NOT MATCHED BY SOURCE», que se activa cuando el registro original no coincide con ningún registro en el conjunto objetivo. MERGE INTO customers c USING new_customers nc ON (c.id = nc.id) WHEN MATCHED THEN UPDATE SET name = nc.name WHEN NOT MATCHED BY SOURCE THEN DELETE
  • Se ha garantizado la posibilidad de devolver múltiples filas con la expresión RETURNING, si la expresión DML proporcionada abarca varias filas (anteriormente, en tales situaciones, se mostraba el error «multiple rows in singleton select»).
  • Se han añadido nuevas funciones integradas: UNICODE_CHAR para devolver el símbolo unicode correspondiente al código especificado, y UNICODE_VAL para devolver el código del símbolo especificado. Se ha añadido el parámetro QUARTER en las funciones EXTRACT, FIRST_DAY y LAST_DAY para determinar el número del trimestre.
  • Se ha añadido un nuevo paquete del sistema RDB$BLOB_UTIL con una colección de operaciones para BLOBs en módulos PSQL.
  • Se ha mejorado el algoritmo de compresión de registros, que ahora aplica un contador de longitud variable para un empaquetado más eficiente de secuencias de datos repetitivas. Esta optimización ha aumentado significativamente el grado de compresión de campos VARCHAR largos que no están completamente llenos y que contienen datos en codificación UTF-8.
  • Se ha añadido la capacidad de trabajar con cursores bidireccionales (scrollable) al acceder a la base de datos de forma remota.
  • Se ha optimizado el rendimiento de la copia de BLOBs.
  • Se ha añadido soporte completo para la sintaxis de definición de cadenas, como se describe en el estándar SQL. Por ejemplo, las cadenas ahora pueden interrumpirse por comentarios o espacios: select ‘ab’ /* comment */ ‘cd’ from RDB$DATABASE; select ‘ab’ ‘cd’ from RDB$DATABASE;

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster