Ícono del sitio Embarcadero RAD Studio, Delphi, & C++Builder Blogs

¿Está utilizando la alternativa secreta a SQLite?

pexels cottonbro 4709289

Conozco la mejor manera de traumatizar a un desarrollador de software que ha estado usando Delphi durante algún tiempo. Solo muéstrales esta imagen:

El Gerente de Administración de BDE. Tantas ‘horas felices’ tratando de resolver mensajes de “PDOXUSERS.NET está en uso” y aprendiendo todo sobre el propósito de configuraciones arcanas como SharedDir y NETDIR. Estremecimiento. Si desea almacenar una base de datos a la que se accede a través del BDE en una unidad de red, debe hacer un montón de cosas para asegurarse de que no se dañe. A pesar de esto, los desarrolladores se convirtieron en expertos en reparar la corrupción de la base de datos de Paradox. Las cosas eran bastante sombrías, aunque su defensa fue un momento en el que casi todo lo que hemos llegado a dar por sentado hoy todavía estaba en sus etapas iniciales; el acceso telefónico era común (y errático) y casi todos tenían al menos un CD de AOL como posavasos.

¿Por qué la gente usaba el BDE si tenía tantos problemas?

Bueno, la respuesta corta fue: funcionó. De hecho, una vez que lo configuró, funcionó bastante bien y fue extremadamente fácil de usar. Le permitió vincularse a varias bases de datos como DBase y Paradox de una manera sencilla. Tan simple que Paradox se convirtió en una tecnología de base de datos no SQL de facto junto con DBase, que tenía sus propios problemas.

SQLite el kit de herramientas universal

A lo largo de esa arena anterior a Windows se deslizó SQLite. Fue diseñado desde sus inicios como una base de datos simple que permitiría ejecutar comandos similares a SQL en un conjunto de tablas contenidas en un solo archivo ‘plano’. Tenía, y todavía tiene, limitaciones y peculiaridades, como que las AUTOINC columnas no son iguales a las ROWID columnas, o el hecho de que no tiene nativos DATETIME BOOLEANtipos.


Ah, y como PostgreSQL, un nombre que todavía me hace tropezar cuando tengo que decirlo en voz alta, el nombre SQLite es molesto. Seequal luz; ¿No debería pronunciarse “seequal ite”?

A pesar de esto, se ha vuelto enormemente popular.

¿Cuál es la alternativa nativa secreta de Delphi a SQLite?

Escondido a simple vista hay un sistema de base de datos bastante impresionante que reemplaza casi por completo a SQLite para aplicaciones de escritorio escritas en Delphi y C ++ Builder. Esta base de datos es Absolute Database de Technology Partner Component Ace.

 

¿Por qué Absolute Database no es más conocido?


Por alguna razón, Absolute Database no ha capturado la imaginación de los desarrolladores de Delphi de la misma manera que otros sistemas. No estoy del todo seguro de por qué es así.

En mi ‘trabajo diario’ utilizamos Absolute Database para un producto de escritorio, que también puede ser multiusuario y con los datos almacenados en un servidor de red. Ese producto de escritorio tiene cerca de 10,000 instalaciones individuales. Como cualquier base de datos de archivos planos, la gente hace cosas locas, como experimentar cortes de energía en medio de la escritura de datos o alguna malevolencia maliciosa llamada “Actualizaciones de Windows” golpea el servidor y se reinicia con menos gracia de lo que sugiere la documentación de la API de Windows. Al iniciar la aplicación, la base de datos Absolute Database se recupera silenciosamente y repara automáticamente cualquier daño, sin necesidad de la intervención del usuario.

Está probado y probado para nosotros. Nuestro perfil de cliente típico para la versión de escritorio de nuestros productos son las pequeñas y medianas empresas y la omnipresente “tienda familiar”. También tenemos productos cliente-servidor que usan RDBMS de pura sangre como MySQL y PostgreSQL, pero la línea de productos que usa Absolute Database está diseñada para que los usuarios ‘habituales’ puedan instalar y usar fácilmente sin la necesidad de administradores de bases de datos, personal técnico o, en muchos casos, no existe la red adecuada ni el personal de TI encargado.

Mi lista de características clave de Absolute Database

¿Existe un escritorio de base de datos equivalente a Absolute Database?


No solo existe un equivalente del venerable Database Desktop, sino que Component Ace también proporciona el código fuente completo. Esta aplicación sirve como una gran herramienta para crear, consultar y mantener bases de datos basadas en el formato Absolute Database, pero también es una gran herramienta de referencia sobre cómo acceder a los datos y realizar varias funciones no obvias como crear o reparar tablas DB en tiempo de ejecución.

Base de datos absoluta: herramienta Administrador de base de datos

 

Dónde obtener la base de datos absoluta

Puede encontrar Absolute Database en el sitio web oficial de Component Ace aquí: https://www.componentace.com/bde_replacement_database_delphi_absolute_database.html

¿Cuáles son las características clave de Absolute Database y por qué es como SQLite?


Al igual que SQLite, Absolute Database almacena todas las tablas en un solo archivo. Este archivo puede residir en su disco duro local o en un recurso compartido de red. Por defecto, los archivos de la base de datos Absolute terminan con una extensión de archivo “.abs”, aunque en realidad podrían llamarse como desee.

Las características clave de Absolute Database enumeradas por Component Ace son las siguientes

Absolute Database evita el infierno de las DLL

Para mí, el beneficio fue la falta de cualquier tipo de controladores o archivos adicionales para implementar con la aplicación mientras se conserva la TDatasource compatibilidad total . La funcionalidad de la base de datos se compila directamente en su aplicación y, en lo que a mí respecta, esto tiene la ventaja adicional de hacer que sus programas sean inmunes a lo que solíamos llamar “infierno de DLL”, donde los dlls de controladores compartidos y los SDK en la computadora host fueron actualizados por otra aplicación que utilizó el mismo SDK de base de datos y dlls o mediante una actualización o parche del sistema operativo.

Con el enfoque de “todo en su exe” utilizado por Absolute Database, la pequeña cantidad de sobrecarga del código de acceso a la base de datos compilado se ve fácilmente superada por la ventaja de que significa que su aplicación tiene inmunidad a prueba de balas contra ese tipo de catástrofes ambientales informáticas que aún persisten. hasta el día de hoy para situaciones como aplicaciones que acceden a MySQL; donde las cosas van inexplicablemente mal al intentar conectarse al servidor MySQL y después de muchos tirones de pelo y alquilar ropa, resulta que hay más de un “libmysql.dll” en el sistema y, además, su aplicación de 32 bits está intentando cargar un Biblioteca de 64 bits o viceversa.

Base de datos absoluta en RAD Studio Delphi IDE

Pruébalo gratis

La versión personal, no multiusuario de Absolute Database es gratuita para uso personal, por lo que no tiene que creer en mi palabra (aunque Component Ace no tiene una conexión directa conmigo y no he tenido comentarios sobre este artículo; mis puntos de vista son mío). Intente comparar Absolute Database usted mismo con SQLite y vea cómo se lleva. Si desea llevar las cosas más lejos, probablemente tendrá que pagar por la versión comercial que agrega cosas como acceso al código fuente completo y la capacidad de ejecutar multiusuario, pero en ese momento usted, como yo, se estará preguntando por qué es la base de datos secreta mejor guardada de Internet.

Salir de la versión móvil