Btrieve es un software de base de datos transaccional ( base de datos de navegación ). Se basa en el Método de Acceso Secuencial Indexado (ISAM), un método para almacenar datos y facilitar su recuperación rápida. Existen varias versiones del producto para DOS , Linux , versiones antiguas de Microsoft Windows , IBM OS/2 de 32 bits y Novell NetWare .
Originalmente, Btrieve era un gestor de registros publicado por SoftCraft. Fue creado por Doug Woodward y Nancy Woodward, y la financiación inicial provino en parte del hermano de Doug, Loyd Woodward. Casi al mismo tiempo que se lanzaron los primeros PC de IBM , Doug recibió el 50% de la empresa como regalo de bodas y posteriormente compró el resto a su hermano. Tras ganar cuota de mercado y popularidad, Novell lo adquirió de Doug y Nancy Woodward en 1987 para integrarlo en su sistema operativo NetWare, además de continuar con la versión para DOS. El producto obtuvo una importante cuota de mercado como base de datos integrada en aplicaciones de gama media, además de estar integrado en todas las copias de NetWare 2.x , 3.x y 4.x, ya que estaba disponible en todas las redes NetWare. Tras una reorganización interna en Novell, en 1994 se decidió escindir el producto y la tecnología a Doug y Nancy Woodward, junto con Ron Harris, para que fueran desarrollados por una nueva empresa conocida como Btrieve Technologies, Inc. (BTI).
Btrieve se modularizó a partir de la versión 6.15 y se convirtió en uno de los dos front-ends de bases de datos que se integraban en una interfaz de software estándar llamada MicroKernel Database Engine ( MKDE ). El front-end de Btrieve era compatible con la API de Btrieve, mientras que el otro front-end se llamaba Scalable SQL , un producto de base de datos relacional basado en MKDE que utilizaba su propia variante de lenguaje de consulta estructurado (SQL). Tras el lanzamiento de estas versiones (Btrieve 6.15 y ScalableSQL v4), la empresa cambió su nombre a Pervasive Software antes de su salida a bolsa. Poco después, los productos Btrieve y ScalableSQL se combinaron en los productos comercializados como Pervasive.SQL o PSQL , y posteriormente como Actian Zen. Btrieve se mantuvo durante algunos años, mientras que ScalableSQL se descontinuó rápidamente. Se recomendó a los clientes que actualizaran a Pervasive.SQL, que era compatible con aplicaciones SQL y Btrieve.
Arquitectura

Btrieve no es un sistema de gestión de bases de datos relacionales (RDBMS). Las primeras descripciones de Btrieve lo denominaban gestor de registros (aunque Pervasive inicialmente utilizó el término base de datos de navegación, pero posteriormente lo cambió a base de datos transaccional) porque solo se ocupa de las primitivas subyacentes de creación, recuperación, actualización y eliminación de registros. Utiliza ISAM como mecanismo subyacente de indexación y almacenamiento. Una parte fundamental de la arquitectura de Pervasive es el uso de un motor de base de datos MicroKernel , que permite modularizar e integrar fácilmente diferentes backends de bases de datos en su paquete DBMS, Pervasive.SQL. Esto les ha permitido dar soporte tanto a su motor de base de datos de navegación Btrieve como a un motor basado en SQL, Scalable SQL.
Las versiones actuales de Btrieve admiten transacciones del sistema y transacciones de usuario . Las transacciones del sistema son un conjunto de operaciones no transaccionales y/o transacciones de usuario, mientras que las transacciones de usuario son aquellas que operan directamente sobre los datos de la base de datos. Las transacciones del sistema se desarrollaron para permitir la ejecución de múltiples transacciones en lote y facilitar la recuperación de datos .
El formato de archivo de Btrieve se compone exclusivamente de páginas , que son los datos que se mueven entre la memoria y el almacenamiento cuando el motor realiza una operación de entrada/salida. Las versiones anteriores a la 6.0 solo utilizaban páginas de datos, páginas de índice y un registro de control de archivo . El archivo tenía un índice para la búsqueda que enlazaba con páginas físicas. A partir de la versión 6.0, se utilizaron páginas lógicas. Las páginas lógicas se asignan a páginas físicas (páginas en una ubicación fija del archivo) en el disco mediante tablas de asignación de páginas . El registro de control de archivo contiene información importante sobre los archivos de Btrieve, como el número de páginas en uso. Para evitar la corrupción de la base de datos, Btrieve utiliza dos métodos de actualización de registros: paginación de preimagen en las versiones de Btrieve anteriores a la 6.0 y paginación de sombra en las versiones posteriores. Fue principalmente el cambio de la paginación de preimagen a la paginación de sombra, que requirió cambios radicales en el formato de archivo, lo que causó problemas de compatibilidad entre la versión 6 y las versiones anteriores.
Historia
Btrieve ha sido propiedad de cuatro empresas diferentes, que también se han dedicado a su desarrollo: SoftCraft, Novell, Btrieve Technologies, Inc. (posteriormente renombrada Pervasive Software) y Actian Corporation. Cuentan con una base de desarrolladores comprometida y leal, y según la documentación de la empresa, mantienen un compromiso total con el producto. Pervasive Software creó la "Sociedad Btrieve" para reconocer a los desarrolladores existentes. [ 1 ]
En DOS, Btrieve, hasta la versión 5, era un programa residente (TSR) que funcionaba como un motor de base de datos de interfaz de programación de aplicaciones (API) , proporcionando a los programas de aplicación llamadas a funciones para implementar una base de datos multiusuario con bloqueo de registros . La versión de red funcionaba de forma similar.
En los primeros años, las versiones de DOS hasta la versión 5 se vendían a un precio de alrededor de 1000 dólares estadounidenses , pero el archivo ejecutable del motor de base de datos TSR podía distribuirse con las aplicaciones de forma gratuita.
Años de SoftCraft
El producto fue lanzado en febrero de 1982 por SoftCraft, una empresa ubicada en Austin , Texas, por Doug y Nancy Woodward. Doug se convirtió en vicepresidente y se encargó del desarrollo de software, mientras que Nancy pasó a ser la presidenta de la compañía. Lanzaron varias versiones durante los años siguientes: en febrero de 1983 lanzaron la serie Btrieve 2.x, y cuando MS-DOS 2.0 desarrolló soporte para identificadores de archivos y directorios, lanzaron Btrieve 3.0. Cuando MS-DOS 3.1 estandarizó sus interfaces internas en marzo de 1985, lanzaron Btrieve 3.1 C/S un mes después, que incluía soporte para redes y cliente/servidor . En febrero de 1986 se lanzó Btrieve 4.0, y cuando se lanzó la actualización 4.1, se incorporó soporte para tipos de clave extendidos e índices suplementarios.
Aunque Btrieve era bastante popular, era un motor de base de datos API. El gestor de bases de datos estrella para PC, dBase II y sus sucesores, eran sistemas de gestión de bases de datos (DBMS) que podían utilizarse como una aplicación independiente de propósito general o como un lenguaje de programación de bases de datos. Btrieve también era más caro que dBase, aunque la licencia de ejecución era gratuita. Btrieve llegó a tener una base de desarrolladores de más de 5000 usuarios y se utilizó ampliamente en el sector financiero. [ 2 ] La empresa tardó un tiempo en crear una interfaz de usuario para el producto; sin embargo, en 1984 lanzaron Xtrieve , un programa con menú que utilizaba un nuevo diccionario de datos .DDF para aplicar reglas de bases de datos relacionales .
Adquisición de Novell

En 1987, Novell comenzó a diversificarse y a comprar empresas para agregarlas a su sistema operativo NetWare . Una de las empresas que compraron fue SoftCraft. Nancy Woodward se convirtió en vicepresidenta y gerente general de las operaciones de Novell en Austin, mientras que Doug Woodward se convirtió en vicepresidente de Advanced Database Technologies. A principios del año siguiente, se lanzó Btrieve 5.0 para ejecutarse como una aplicación nativa de NetWare, o Value Added Process. Según Jim Kyle, "tenía tipos de clave de autoincremento, el servidor de procesos de red BROUTER, archivos solo de datos y solo de claves, y compresión de datos opcional ". [ 2 ] La versión 5.1 se lanzó en 1990 con mayor capacidad de transacciones de manejo de archivos, registro y operaciones de avance, junto con varias mejoras de API. Se crearon varias versiones para DOS , OS/2 y Microsoft Windows . La versión 6.0 se lanzó en junio de 1992. Sin embargo, Novell no la promocionó ampliamente y, debido a algunas mejoras (como el cambio de la preimagen a la paginación en sombra), resultó incompatible con versiones anteriores de Btrieve. Por estos motivos, el mercado de Btrieve no creció significativamente y su adopción no se generalizó.
Cuando Novell adquirió la empresa, SoftCraft estaba trabajando en un producto llamado XQL , un intérprete SQL diseñado para gestionar mejor el estándar SQL de la industria, con el que el paquete Xtrieve no era totalmente compatible. Esto se convirtió en la base de NetWare SQL , que se lanzó inicialmente en 1989 y era un intérprete SQL básico que implementaba la versión básica de SQL de IBM.
Btrieve tuvo una buena acogida entre el software basado en LAN. Una reseña de software de contabilidad publicada por PC Magazine en 1993 informó que siete de los once paquetes analizados se basaban en él —frente a los tres de 1991— y que otro proveedor planeaba lanzar una versión de Btrieve. La revista citó el alto rendimiento de la red y las numerosas herramientas de generación de informes como las principales ventajas de la base de datos. [ 3 ]
Btrieve Technologies, Inc.
Para 1994, Novell había renunciado en gran medida a intentar convertir NetWare en un sistema operativo alternativo completo y comenzó a vender muchas de las empresas que había adquirido solo unos años antes. Habían promocionado mínimamente Btrieve, principalmente debido al retraso (24 meses) en el lanzamiento de la versión 6. Se iniciaron negociaciones entre los Woodward y Novell, y después de dos años, Novell anunció el 26 de enero de 1994 que iba a transferir la propiedad de Btrieve a Btrieve Technologies, Incorporated (también conocida como BTI). El 29 de abril de 1994, se completó la transferencia y Nancy Woodward se convirtió en la presidenta de BTI y Doug Woodward en el director técnico . El puesto de director ejecutivo se le otorgó a Ron Harris, un antiguo empleado de Texas Instruments y uno de los empleados fundadores de Citrix Systems, Inc., donde trabajó primero como director de planificación estratégica, luego como vicepresidente de marketing y finalmente como vicepresidente del grupo de productos.
Btrieve fue completamente reescrito y, el 1 de julio de 1994, se lanzó Btrieve 6.15 para DOS, Windows y OS/2. Novell SQL pasó a llamarse Scalable SQL, reflejando el cambio de propietario de la empresa. En 1995, se lanzó la versión 6.15 para Novell NetWare, Windows NT Server y Windows NT/ 95 , convirtiéndose así en un producto de base de datos multiplataforma . En esta versión se introdujo el concepto de Motor de Base de Datos de Micronúcleo (MKDE).
Software omnipresente
En 1996, la empresa cambió su nombre a Pervasive Software y el de su producto a Pervasive.SQL. En 1997, salió a bolsa. Lo hicieron para lograr una mayor penetración en el mercado de bases de datos relacionales y para reposicionarse como proveedor de SQL, aunque seguían comercializando y desarrollando Btrieve. Pervasive completó su salida a bolsa en septiembre. La empresa continuó utilizando MKDE en su versión 6.30. En 1997, Pervasive lanzó ScalableSQL 4.0, un producto de base de datos relacional, y Btrieve 7.0.
En 2000, Novell fue criticada después de que dejara de incluir Pervasive.SQL con NetWare a partir de la versión 5.1; en su lugar, lo distribuyó con una versión de prueba que se desactivaba después de 90 días. [ 4 ] La última versión, Pervasive PSQL Summit v11, se lanzó en septiembre de 2010.
Corporación Actiana
En 2013, Actian Corporation adquirió Pervasive Software. [ 5 ] En febrero de 2016, Actian lanzó Btrieve 12.
Versiones
Btrieve para DOS
SoftCraft creó una configuración de Btrieve basada en cliente DOS. La definición de SoftCraft para una versión basada en cliente era un "motor Btrieve ejecutándose en una estación de trabajo específica". [ 6 ] Esto significaba que el motor de gestión de registros se conectaba directamente a los archivos mediante funciones del sistema operativo y modificaba los registros según correspondiera, ya fueran archivos locales o en red. El motor basado en cliente permitía que cinco usuarios concurrentes accedieran a la base de datos simultáneamente. Todo el procesamiento de registros se realizaba en la estación de trabajo donde estaba instalado el motor. En versiones posteriores, Btrieve para DOS podía utilizar dos modos: lo que denominaron SEFS (Compartición de archivos de un solo motor) o MEFS (Compartición de archivos de varios motores).
Btrieve para NetWare
Btrieve para NetWare era esencialmente igual que Btrieve para DOS con algunas características adicionales disponibles solo en NetWare en ese momento. Ejecutaba un proceso de servidor, llamado BSERVER, en el servidor de compartición de archivos y este administraba la entrada/salida de datos junto con el sistema de archivos de red. El proceso de servidor se implementó por primera vez para NetWare 2.x como un NetWare Value-Added Process (VAP) llamado BSERVER.VAP, luego como un NetWare Loadable Module (NLM) para NetWare 3.x (y versiones posteriores). BSERVERera el motor de base de datos que manejaba el acceso a los registros, sin embargo, también aceptaba solicitudes para la transmisión de datos solicitados a otro servidor a través del BROUTERproceso.
Btrieve utilizaba solicitantes para realizar solicitudes de entrada/salida de la base de datos desde la estación de trabajo del cliente. Los solicitantes estaban disponibles para DOS, OS/2, Microsoft Windows y UnixWare . El programa BREQUEST.EXEaceptaba las solicitudes de entrada/salida a través de la API de Btrieve y las reenviaba BSERVER. A continuación, procesaba las respuestas BSERVERy las devolvía a la aplicación correspondiente.
El BROUTERproceso permitía que las solicitudes entrantes se "enrutaran" a una copia de la base de datos en otro servidor. Se cargaba en el servidor NetWare y gestionaba la comunicación entre múltiples procesos de servidor que se ejecutaban en el servidor de archivos mediante el uso de dos tablas de servidor de archivos . Según Pervasive, estas proporcionan una lista de "nombres y direcciones de servidores, y la tabla de enrutamiento de servidores ". [ 7 ] BROUTER también permitía que las solicitudes de comunicación se enrutaran al servidor correcto a través de SPX consultando el BSPXCOMmódulo cargable de NetWare y coordinaba bloqueos y otros mecanismos que controlaban el acceso a los datos en la base de datos Btrieve.
Btrieve para DOS utilizaba los modos SEFS y MEFS para compartir archivos, y como podía ejecutarse en una red, podía utilizar transacciones exclusivas y concurrentes.
Btrieve para Windows
Btrieve para Windows se creó antes de que la empresa reescribiera el código fuente para usar MKDE. Incorporaba mecanismos de compartición de archivos SEFS y MEFS; utilizaba paginación en la sombra y permitía bloqueos exclusivos y concurrentes. Gestionaba los archivos de las versiones 6.x y 6.1 de forma diferente. Los archivos de la versión 6.x podían gestionar operaciones en parte de un registro en lugar de bloquear el registro completo. Gestionaba registros de más de 64 KB, implementaba VATS, ACS, nuevos tipos de datos, permitía operaciones porcentuales (donde el registro podía localizarse y manipularse por su ubicación física en el archivo) y gestionaba claves duplicadas. La versión 6.x era capaz de eliminar o añadir cualquier índice sobre la marcha (la versión 6.0 y anteriores solo podían eliminar índices suplementarios). Los archivos de la versión 6.1 permitían transacciones concurrentes y del sistema, la renumeración opcional de claves, tablas ACS insensibles a mayúsculas y minúsculas, y operaciones de bloqueo mejoradas.
Btrieve para Windows podía ejecutarse como cliente de la base de datos que utilizaba los modos SEFS o MEFS, o podía acceder directamente al servidor Btrieve.
Btrieve basado en el cliente

La versión de Btrieve basada en cliente tiene todos los archivos de la base de datos directamente en el ordenador local o a través de una unidad de red asignada (configurada mediante el NET USEcomando de DOS).
Las aplicaciones realizan una llamada a WBTRCALL.DLLuna función que actúa como interfaz de carga y solicitud. El módulo de carga y solicitud verifica que el BTI.INIarchivo de configuración esté correctamente configurado para cargar el motor Btrieve del cliente. A su vez, esto carga la interfaz local del motor Btrieve ( WBTRLOCL.DLL). Si es necesario, esta interfaz local carga el motor Btrieve ( WBTR32.EXE) en memoria y le envía las solicitudes de base de datos necesarias. El motor de base de datos llama entonces a varias bibliotecas del sistema Win32 para realizar operaciones de archivo en los archivos de la base de datos. [ 8 ]
Btrieve basado en cliente accede a Btrieve basado en servidor.
La versión de Btrieve para Windows basada en cliente podía acceder a las versiones de Btrieve basadas en servidor mediante un "solicitante" basado en DOS. El solicitante requería el uso de la Interfaz de Modo Protegido de DOS (DPMI), que permitía el acceso del programa a la memoria extendida de DOS accesible únicamente a través del Modo Protegido de la CPU .
Al igual que con la interfaz del cliente, la aplicación basada en Btrieve llama a la WBTRCALL.DLLbiblioteca de interfaz del cargador y del solicitante. Esta biblioteca comprueba BTI.INIsi el archivo necesita acceder a datos del sistema local o de un servidor remoto. Si necesita acceder al servidor, utiliza la versión de Windows de DPMI para acceder a un solicitante basado en DOS BREQUEST.EXE. El solicitante establece una conexión de red con el servidor, que procesa la solicitud y devuelve un mensaje al solicitante cuando se completa la consulta a la base de datos.
Btrieve para Windows NT/Windows 95
Btrieve para Windows NT y Windows 95 se lanzó en 1995, junto con Btrieve para Netware y Btrieve para Windows NT Server. Alcanzó la versión 6.15 y comenzó a utilizar MKDE . Los mecanismos de compartición de archivos se mantuvieron iguales, ya que seguía utilizando los modos de compartición de archivos SEFS y MEFS, paginación en la sombra y permitía bloqueos exclusivos y concurrentes. Esta versión de Btrieve permitía valores nulos en las claves, lo que significaba que se podía introducir un registro en la base de datos aunque no hubiera información disponible sobre la clave. Esto implicaba que la clave no se incluiría en el índice, lo que ayudó a reducir las búsquedas innecesarias en la base de datos a través del índice. También introdujo el concepto de transacción del sistema y transacción de usuario (véase Transacciones del sistema y de usuario ). MKDE también permitía espacios entre claves autoincrementables. Las tablas de asignación de cola variable se introdujeron en la versión 6.15, por lo que se incluyeron en la compilación de Btrieve para Windows NT/95.
Btrieve para Windows NT/95 ofrece dos configuraciones: estación de trabajo independiente y cliente/servidor.
Estación de trabajo independiente

Al usar la configuración de estación de trabajo independiente de Btrieve, todo el procesamiento de registros se realiza en la estación de trabajo local . La estación de trabajo se basa en los mecanismos subyacentes de Windows para permitir que MKDE (programa W32MKDE.EXE) acceda directamente a los archivos de la base de datos y utiliza archivos de bloqueo para gestionar los problemas de concurrencia.
En esta configuración, la aplicación realiza llamadas a la API Btrieve o a la interfaz del microkernel ( WBTRV32.DLL). La interfaz procesa la llamada y la pasa a MKDE ( ), que utiliza el sistema de archivosW32MKDE.EXE del sistema operativo subyacente (ya sea de red o local) para acceder directamente a los archivos de la base de datos. [ 9 ]
Esto genera algunos problemas peculiares. Si Btrieve utiliza el uso compartido de archivos de Windows y el motor de la base de datos abre los archivos directamente en un recurso compartido, por ejemplo, y se produce inestabilidad en la red (por ejemplo, se desconecta un cable de red) durante una actualización, los campos utilizados para vincular un archivo de Btrieve con otro pueden desincronizarse (en la práctica, los datos pierden sus relaciones o vínculos con otros datos) y el propio archivo de la base de datos puede corromperse (aunque la probabilidad de que esto ocurra se reduce gracias a la paginación previa a la imagen).
Cliente/Servidor

Al usar la configuración cliente/servidor (o edición de servidor ) de Btrieve, el procesamiento de registros generalmente se realiza en un servidor de archivos de Windows a través de una unidad asignada (una forma de asignar un recurso compartido de archivos a una unidad de disco "virtual" en Windows mediante el NET USEcomando). Utiliza los permisos que se le asignan al autenticarse, ya sean permisos de inicio de sesión o permisos otorgados cuando NET USEse utiliza. [ 10 ]
En Windows 95, la interfaz MKDE (una biblioteca de vínculos dinámicos (DLL) de Windows llamada WBTRV32.DLL) determina qué método de acceso a la base de datos se está utilizando a través del archivo de configuración. Si detecta que tanto el motor cliente/servidor como el motor de estación de trabajo están instalados en la misma máquina, comprueba si el destino está configurado como estación de trabajo o servidor. Si se ejecuta en Windows NT y el proceso del servidor NTMKDE.EXEse ejecuta junto con el proceso de estación de trabajo independiente, W32MKDE.EXEbusca en el registro para determinar si el destino es un servidor o una estación de trabajo. En ambos casos, si la interfaz MKDE está configurada como estación de trabajo (la configuración "Estación de trabajo independiente"), utiliza MKDE ( W32MKDE.EXE) para acceder al archivo directamente. Si está configurada como servidor, la interfaz MKDE en el cliente utiliza un módulo de comunicaciones (en Windows 95 este es W32BTICM.DLL, en Windows NT este es NTBTICM.DLL) que "se comunica" con el servidor . El propio servidor tiene su propio módulo de comunicaciones correspondiente (de nuevo W32BTICM.DLLo NTBTICM.DLL) que reside en la unidad asignada. La DLL del servidor se comunica con el MKDE del servidor ( NTMKDE.EXE) que actualiza los registros y luego envía una confirmación de que la operación se realizó correctamente, de vuelta al cliente a través del módulo de comunicaciones. [ 11 ]
La ventaja de este sistema es que, si se produce un fallo en la conexión de red, el MKDE del servidor podrá detectarlo y recuperarse de una manera más eficaz que la que permite la configuración de la estación de trabajo.
Configuración
Btrieve incluía una utilidad de configuración para modificar los ajustes de MKDE. Los ajustes que se podían cambiar eran:
- Configuración de archivos: esta categoría contiene ajustes relacionados con archivos, identificadores de archivos, bloqueos de registros, índices y archivos de registro. Aquí se configuraba el número de archivos abiertos y de identificadores de archivos lógicos, así como el número de bloqueos de registros por cliente; el balanceo de índices y una opción para crear archivos en formato anterior a la versión 6.x se encuentran en esta categoría. También controlaba si el microkernel mantenía un registro de las operaciones ejecutadas en los archivos seleccionados. En esta sección, el método de compartición de archivos podía configurarse como MEFS o SEFS. El límite de retención de transacciones del sistema establece el número de transacciones del sistema realizadas durante las operaciones de escritura para archivos compartidos.
- Organización de la memoria: esta categoría contenía ajustes relacionados con el tamaño de los búferes que el microkernel necesitaba asignar para diversos fines.
- Transacciones de cliente/sistema: esta categoría contiene configuraciones relacionadas con las transacciones, incluido el número admitido y cómo y cuándo se registrarán.
- Recursos/directorios del sistema: esta categoría contiene configuraciones relacionadas con la cantidad de clientes e hilos admitidos, así como la ubicación de varios archivos del sistema.
- Operaciones de rastreo: esta categoría contiene configuraciones relacionadas con el rastreo de diversas operaciones de Btrieve. El rastreo es una función avanzada que se utiliza principalmente para la depuración .
Pervasive.SQL 7
Pervasive.SQL 7 se lanzó en marzo de 1998 e incluía Scalable SQL 4 y Btrieve 7.0. Btrieve 7.0 se ejecutaba en las mismas plataformas que Btrieve 6.x: Windows 95, Windows NT 3.51 y 4, Netware y DOS. Sin embargo, la empresa cambió a una arquitectura basada en componentes llamada SmartComponents para resolver problemas de compatibilidad con las actualizaciones. Esta utilizaba un esquema de identificación de componentes incrustado en el archivo y codificado en el nombre del archivo, junto con la vinculación dinámica de "archivos de pegamento" ( DLL cargadas en memoria solo cuando era necesario). La vinculación dinámica de componentes se realizaba utilizando una nueva "DLL de servicios del sistema operativo abstracto" que buscaba la última versión del componente necesario apropiado a través de la codificación del nombre del archivo. Este "módulo de pegamento" se cargaba en la memoria y se utilizaba. [ 12 ] El antiguo formato de archivo de registro de Btrieve 6.x también se reemplazó con un nuevo registro centralizado llamado PVSW.LOGy que tenía un formato de archivo de registro unificado y mejorado. También mejoraron sus mensajes de error y los mecanismos para informar sobre ellos.
El MKDE se mantuvo en Pervasive.SQL 7. Sin embargo, debido al enlace dinámico de la nueva arquitectura de componentes, la arquitectura interna se modificó. La aplicación que utiliza Btrieve llama a un administrador de servicios que luego busca en varios directorios configurados un nombre de archivo codificado específico. El nombre de archivo cargado para los archivos Btrieve en formato Backus-Naur es:
< nombre de archivo > ::= < código de plataforma > "BIF" < nivel funcional principal > < nivel funcional secundario > < código de plataforma > ::= "W1" | "W2" | "W3" | "W9" | "WT" | "NW" | "O3" < nivel funcional principal > ::= < número > < nivel funcional secundario > ::= < número > < número > < número > ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" El módulo "glue", que es una DLL, se carga en la memoria y se convierte en la interfaz con MKDE. MKDE determina entonces si está configurado como una configuración de estación de trabajo o de servidor. A continuación, transmite las solicitudes a través de su módulo de comunicaciones "requester" al servidor de base de datos , o modifica directamente los archivos de la base de datos si está configurado en modo estación de trabajo.
Pervasive.SQL 2000/2000i
Pervasive.SQL 2000 y Pervasive.SQL 2000i utilizan prácticamente la misma arquitectura que Pervasive.SQL 7, aunque 2000i incluye el servidor i*Net. Utiliza el mismo modelo de componentes, admite los motores Btrieve o Scalable SQL y continúa utilizando MKDE. Esta versión incluía compatibilidad con Red Hat Linux , Caldera OpenLinux , SUSE y Solaris . Además, ofrecía una mejor integración con Terminal Services , si bien solo se puede ejecutar una instancia del motor de base de datos en cada plataforma de servidor de terminal. No es posible ejecutar copias independientes del motor de base de datos en dos o más sesiones de terminal.
Pervasive.SQL V8
Presentado en diciembre de 2002, Pervasive.SQL V8 mejora el rendimiento de las aplicaciones Btrieve y SQL mediante una serie de nuevas tecnologías.
- El almacenamiento en caché del lado del cliente mejora enormemente el rendimiento de lectura al mantener una parte del contenido de la base de datos en el PC local.
- La tecnología Turbo Write Acceleration (TWA) agrupa las escrituras en disco, minimizando así las interacciones con el disco.
- El registro de transacciones proporciona una protección contra fallos ligeramente inferior a la durabilidad de las transacciones, pero mejora el rendimiento general.
El paquete de funciones de seguridad V8 (una actualización de producto intermedia, designada como 8.5) añadió importantes funciones de seguridad diseñadas para proteger los archivos de datos de Pervasive.SQL. Antes de la versión 8.5, el acceso a los datos de Btrieve estaba controlado por el mecanismo de seguridad del sistema operativo. Esto significaba que cualquier usuario que necesitara acceso de lectura/escritura a la base de datos, también necesitaba acceso de lectura/escritura a los archivos de datos subyacentes. La versión 8.5 introdujo nuevos modelos de seguridad que permiten a los administradores controlar el acceso a los datos de Btrieve mediante la seguridad de la base de datos. Una vez activada, la seguridad de la base de datos ya no requiere que el usuario tenga acceso a los archivos subyacentes. Además, las configuraciones cliente/servidor ya no requieren el uso de recursos compartidos de red ni unidades de red asignadas. Las aplicaciones pueden hacer referencia a datos seguros de Btrieve mediante una cadena de conexión URI.
PSQL v9 generalizado
PSQL v9, ampliamente implementado, incluye nuevas interfaces gráficas de usuario (GUI) basadas en Java, desarrolladas sobre el marco de trabajo Eclipse. Estas GUI están disponibles para Microsoft Windows y Linux. Además, v9 incorpora numerosas actualizaciones de rendimiento y sintaxis SQL, mejorando la velocidad y la flexibilidad de todas las interfaces SQL: ADO.Net, JDBC, ODBC y OLE DB . Por último, PSQL v9 amplía el tamaño máximo de archivo de Btrieve de 64 GB en formatos 8.x y anteriores a 128 GB en formato 9.0, y nuevamente a 256 GB para archivos en formato 9.5.
En conjunto con PSQL v9, Pervasive reintrodujo la utilidad DDF Builder y agregó compatibilidad con la búsqueda de texto mediante el complemento Full Text Search (FTS), que posteriormente se eliminó de la línea de productos. DDF Builder proporciona un mecanismo para que los usuarios de Btrieve definan los metadatos de los archivos Btrieve existentes, lo que permite acceder a los datos de Btrieve mediante herramientas y utilidades SQL.
Todas las versiones de MKDE conservan la compatibilidad total de lectura con versiones anteriores de Btrieve, incluidas aquellas anteriores a la introducción del propio MKDE, y no modifican la versión del archivo a menos que se solicite específicamente. Los archivos de Btrieve con formato 5.x o anterior DEBEN reconstruirse (mediante la interfaz gráfica o las utilidades de reconstrucción de línea de comandos) al formato 6.x o posterior para admitir la escritura en la base de datos desde el motor de base de datos 9.0 o posterior.
PSQL v10 generalizado
Pervasive PSQL v10 se lanzó en septiembre de 2007 y fue la primera versión de Pervasive PSQL Server y Client en ofrecer compatibilidad con sistemas operativos de 64 bits. Tanto la API Btrieve como la interfaz de ajuste de distribución (DTI) se mejoraron para admitir 64 bits. Pervasive PSQL Workgroup y otros componentes del SDK no se mejoraron para admitir 64 bits. [ 13 ]
El lanzamiento de Pervasive PSQL v10 coincidió con la compatibilidad con Windows Vista, que por entonces estaba recién disponible, y con Windows Server 2008, que pronto llegaría. Pervasive PSQL v10 Server, Workgroup y Client son compatibles con Windows Vista. Pervasive PSQL v10 Server cuenta con la certificación para Windows Server 2008.
Pervasive PSQL v10 también incluía Xtreme input/output (XIO), un acelerador de bases de datos de Windows de 32 bits que permitía el acceso a memoria extendida para ampliar la caché de la base de datos más allá del límite normal de 2 GB en sistemas Windows de 32 bits. Xtreme input/output también incluía algoritmos de compresión de actualizaciones y técnicas de escritura optimizadas para mejorar el rendimiento de entrada/salida de la base de datos. [ 14 ]
La aplicación de licencias digitales, denominada Autorización de Producto, se introdujo en la línea de productos Pervasive PSQL con la versión 10. Inicialmente, la Autorización de Producto se implementó con descargas de prueba y pedidos de comercio electrónico. Los productos vendidos a través del distribuidor de Pervasive y los socios ISV se actualizaron para incluir la Autorización de Producto con el lanzamiento de Pervasive PSQL v10 SP3 en noviembre de 2009. Pervasive PSQL v10 SP3 también se lanzó como una aplicación compatible con Windows 7 .
Pervasive PSQL v10 mantuvo la compatibilidad con versiones anteriores al utilizar el formato de archivo 9.5, con un aumento en el tamaño máximo del archivo de datos a 256 GB y un aumento en el tamaño máximo de página a 16.384 bytes.
Con Pervasive PSQL v10 se eliminó la compatibilidad con NetWare, Windows NT, Windows 98, Windows ME, DOS 6.22 y aplicaciones de 16 bits. Si bien las versiones para Windows y Linux de los productos Pervasive PSQL v9 ya no se comercializan, Pervasive sigue vendiendo y ofreciendo soporte para Pervasive PSQL v9 para NetWare.
En 2010, Pervasive Software lanzó Pervasive PSQL v11, que permite a los usuarios aprovechar al máximo el procesamiento multihilo para un procesamiento de bases de datos más rápido.
PSQL v11 generalizado
Pervasive PSQL v11 se lanzó en septiembre de 2010. Uno de los principales impulsores del desarrollo de Pervasive PSQL v11 fue el rediseño del motor de base de datos para aumentar el rendimiento y la escalabilidad en CPU multinúcleo. Pervasive PSQL v11 optimiza los subprocesos paralelos que realizan actividades similares, lo que permite que la base de datos utilice varios núcleos durante la ejecución de tareas. PSQL v11 también proporciona mejoras en los mecanismos de sincronización de bajo nivel en la interfaz de navegación. Varios usuarios pueden leer las mismas páginas de archivos en caché simultáneamente y sus operaciones pueden ejecutarse en núcleos independientes. Las actividades que no son de usuario, como los puntos de control y la gestión de registros, pueden ejecutarse en núcleos separados, y varios usuarios que acceden a archivos independientes pueden hacerlo en diferentes núcleos. [ 15 ]
La compatibilidad con procesadores multinúcleo está disponible en todas las versiones de PSQL v11: servidores Windows y Linux de 32 y 64 bits, y Workgroup de 32 bits. Las pruebas internas realizadas en Pervasive documentaron aumentos de rendimiento del 300 % al comparar PSQL v10 con PSQL v11 en un servidor de 8 núcleos con Microsoft 2008 Enterprise Server SP2 (64 bits). [ 16 ]
Pervasive PSQL v11 incluye compatibilidad con IPv6 en Windows, manteniendo la compatibilidad con entornos IPv4. Pervasive PSQL v11 admite IPv6 mediante los métodos de acceso Btrieve y DTI (Distributed Tuning Interface).
Las versiones de servidor de 64 bits de PSQL v11 incluyen un motor relacional/SQL de 64 bits, así como un motor de navegación/Btrieve de 64 bits y un controlador ODBC de 64 bits. El controlador se instala con las versiones de 64 bits de PSQL Server y PSQL Client.
Pervasive actualizó el kit de desarrollo de software PSQL con la adición del proveedor de datos ADO.NET 3.5 de Pervasive PSQL. El proveedor de datos 3.5 es compatible con las versiones 2.0, 3.0, 3.5, 3.5 SP1 y 4.0 de .NET Framework, y se ejecuta bajo .NET Framework 4.0 con soporte para las características de Entity Framework 1.0. [ 15 ] Pervasive PSQL v11 también actualizó el método de acceso PDAC (Pervasive Direct Access Components) con soporte para RAD Studio 2009 y RAD Studio 2010 de Embardacero.
En Pervasive PSQL v11, la autorización de productos se amplió para incluir a los clientes OEM, junto con la introducción de un portal web para que los OEM generen claves y administren licencias para PSQL v11. La autorización telefónica (un método para autorizar Pervasive PSQL sin necesidad de conexión a Internet) se introdujo por primera vez con PSQL v11 y se puso a disposición de todos los clientes de Pervasive.
Pervasive PSQL v11 continúa utilizando el formato de archivo 9.5, manteniendo la compatibilidad con versiones anteriores.
Se dejó de ofrecer soporte para Windows 2000 con Pervasive PSQL v11.
Ecosistema PSQL generalizado
Pervasive ofrece ahora varios productos complementarios que amplían las funcionalidades básicas del sistema de gestión de bases de datos PSQL. Las últimas versiones de cada uno de estos productos, AuditMaster v7, Backup Agent v3 y DataExchange v4, se lanzaron en diciembre de 2010.
- Pervasive AuditMaster ofrece auditoría en tiempo real de todas las interacciones con la base de datos, ya sea Btrieve o SQL. Se pueden consultar los registros de eventos de datos para rastrear los cambios en datos confidenciales. También se pueden crear alertas para notificar al personal correspondiente o iniciar el proceso asociado.
- Pervasive Backup Agent gestiona el modo de operaciones continuas de PSQL y permite que el software de copia de seguridad copie de forma fiable las bases de datos en línea.
- Pervasive DataExchange proporciona sincronización y replicación de datos entre dos o más motores PSQL, lo que garantiza que los datos críticos estén siempre disponibles.
Btrieve 12
En febrero de 2016, Actian anunció Btrieve 12. [ 17 ] Actian afirma que Btrieve 12 tiene nuevas características, es compatible con Microsoft Windows Vista a 10 y Windows Server 2008 y 2012 , y es compatible en formato de archivo y API con Btrieve 6.15, lo que le permite leer y escribir archivos Btrieve 6.15 desde aplicaciones anteriores de 16 bits y DOS. [ 18 ]
Véase también
- Arquitectura de Btrieve
- Motor de base de datos Access (ACE y anteriormente JET)
Notas
- ↑ "Btrieve" . Archivado del original el 11 de diciembre de 2004. Consultado el 22 de diciembre de 2004 .
- 1 2 Kyle, Jim (1995). Btrieve complete: una guía para desarrolladores y administradores de sistemas . Reading, Massachusetts: Addison-Wesley Publishing Company. pág. 7. ISBN 0-201-48326-2.
- ↑ Stevenson, Ted; White, Thomas (1993-10-26). "Contabilidad basada en LAN en la encrucijada" . PC . Vol. 12, n.º 18, págs. 223–282 . Consultado el 29 de enero de 2026 .
- ↑ Foster, Ed (2000). "¿Oyes el sonido de succión? Esa actualización de Novell podría costar más de lo esperado" . Infoworld. Archivado del original el 30 de noviembre de 2004. Recuperado el 12 de diciembre de 2004 .
- ↑ "Actian Corporation y Pervasive Software se unen para tomar medidas sobre el Big Data" .
- ↑ Pervasive (1997). Manual de instalación y funcionamiento de Btrieve para DOS (PDF) . pág. 1. Archivado del original (PDF) el 19 de junio de 2004.
- ↑ Pervasive (1998). "Estado 96 de una aplicación de módulo cargable de NetWare (ID de artículo: BTRTT-97070801)" . Base de conocimientos de Pervasive . Archivado del original el 27 de octubre de 2004. Consultado el 12 de diciembre de 2004 .
- ↑ Pervasive (noviembre de 1996). Instalación y funcionamiento de Btrieve para Windows (PDF) . págs. 2–5 , 2–6 . Archivado del original (PDF) el 2 de octubre de 2005. Consultado el 23 de diciembre de 2004 .
- ↑ Pervasive (noviembre de 1996). Instalación y funcionamiento de Btrieve para Windows NT/Windows 95 (PDF) . págs. 2–3 . Archivado del original (PDF) el 4 de julio de 2008.
- ↑ Instalación y funcionamiento de Btrieve para Windows 95/NT , 2–5
- ↑ Instalación y funcionamiento de Btrieve para Windows 95/NT , 2–4
- ↑ Pervasive (febrero de 1998). Guía del usuario de Pervasive.SQL 7 (PDF) . págs. 22–28 .
- ↑ Pervasive (2007). "Novedades de Pervasive PSQL v10" . Documentación de Pervasive . Consultado el 30 de julio de 2010 .
- ↑ Pervasive (marzo de 1998). Pervasive PSQL Xtreme I/O: Rendimiento optimizado para aplicaciones de 32 bits (PDF) . págs. 3–5 . Archivado del original (PDF) el 21 de octubre de 2007.
- 1 2 Pervasive (2010). "Novedades de Pervasive PSQL v11" (PDF) . Documentación de Pervasive . Consultado el 30 de septiembre de 2010 .
- ↑ Pervasive (2010). "Resultados de rendimiento de referencia para Pervasive PSQL v11" (PDF) . Documentación de Pervasive . Consultado el 29 de septiembre de 2010 .
- ↑ "Actian lanza Btrieve 12 para permitir que los usuarios existentes migren a las plataformas de hardware y sistemas operativos más recientes" . Actian.com . 8 de febrero de 2016. Consultado el 2 de marzo de 2016 .
- ↑ "Btrieve 12 - Actian – Actúa sobre Big Data" . Actian.com . Consultado el 2 de marzo de 2016 .
Fuentes
- Trocino, Richard B. (1994). Guía ilustrada de NetWare Btrieve 6.x. Golden West Products International. págs. 19–24.
- Novell. Componentes de NetWare Btrieve . Consultado el 12 de diciembre de 2004.
- Pervasive (2004). Btrieve: pasado, presente y futuro: ¿Recuerdas cuando Btrieve revolucionó el mundo de las bases de datos? Página web con la historia de la empresa.
- Pervasive (marzo de 2001). Pervasive.SQL 2000i: Primeros pasos (Edición para servidor) . Manual del producto.
Enlaces externos
- Pervasive Software Inc. — creadores de Btrieve y PSQL
- Sociedad Btrieve
- comp.databases.btrieve — Grupo de noticias de Btrieve
- Manuales en línea de Pervasive Software
- Sistemas de gestión de bases de datos propietarios
- Software para DOS
- Software relacionado con bases de datos de Windows
- NetWare
- Software de 1982