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.
Table of Contents
¿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
o BOOLEAN
tipos.
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
- Archivo único para cada base de datos. Tenga en cuenta que, si lo desea, sus aplicaciones pueden usar varias bases de datos simultáneamente, lo hacemos con una para datos temporales locales y / o volátiles y otra para datos compartidos y en red.
- La base de datos absoluta viene en dos ‘sabores’: la edición personal es para que un solo usuario acceda a los datos; la versión multiusuario permite al desarrollador marcar una casilla que permite el acceso compartido multiusuario y multicliente al mismo archivo de base de datos con todo el tipo de mecanismos de bloqueo que cabría esperar.
- Está dirigido directamente como reemplazo de BDE y alternativa de SQLite sin necesidad de controladores o vinculación de bibliotecas estáticas de DLL.
- Completamente escrito en Delphi y todo lo necesario para acceder a la base de datos está integrado en su código, por lo que no hay nada que implementar con sus aplicaciones aparte de la base de datos.
- A diferencia de SQLite, admite TODOS los tipos de datos que esperaría, como
DATETIME
,BOOLEAN
y así sucesivamente (ambos faltantes en SQLite), así como claves, índices y, bueno, todo lo que realmente incluye campos de autoincremento y otras normas similares para una base de datos relacional. - Autorreparable. En caso de que se detecten daños, el sistema Absolute Database se repara y se recupera automáticamente.
- Es
TDatabase
,TDataSource
y otros datos de acceso compatible componente. Debido a esto, todo lo que pueda vincularse a unaTDatasource
voluntad funcionará, como componentes de informes, cuadrículas de terceros, etc. - Muy rentable sin regalías ni tarifas de implementación y tiene disponible el código fuente completo de Delphi. Pague una vez y listo.
- Funciona en casi todas las versiones de Delphi que pueda tener desde Delphi 4 hasta el día de hoy. También solo necesita la Professional Edition y también funciona en la actual Delphi Community Edition.
¿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.
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
- Sin BDE; sin DLL
- Base de datos de un solo archivo
- Compatibilidad con SQL’92 (DDL y DML)
- Compatible con controles de bases de datos estándar y de terceros
- Modo de usuario único y multiusuario (servidor de archivos)
- Funciona con todas las versiones de Windows y no requiere actualizaciones ni paquetes de servicio.
- Tablas en memoria ultrarrápidas
- Facilidad de uso incomparable
- Cifrado fuerte
- Compresión BLOB
- gratis para uso personal
- Código fuente completo disponible
- Distribución libre de regalías
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.
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.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition