Esto es parte de una serie de dos artículos sobre Amazon QLDB
- Diferencias entre QLDB y una base de datos SQL tradicional
- Diferencias entre QLDB e Hyperledger Fabric
QLDB es una base de datos administrada o Base de Datos Ledger, que podría considerarse como una de las primeras en su categoría, aunque no estoy seguro de si es la primera. Para aquellos familiarizados con las plataformas de Tecnología de Libro Mayor Distribuido (DLT) o Blockchain, entenderán cómo funciona esta forma de persistencia de datos, con sus características clave, como la inmutabilidad y el cifrado de datos.
A continuación, detallaré sus características principales en comparación con sistemas RDBMS tal como Postgres, MySQL, MS SQL y Oracle DB, entre otros.
La característica principal que distingue a Amazon QLDB es el manejo de registro de transacciones, lo que en bases de datos SQL se conoce como «Redo Log» o “Audit log”. Este registro permite deshacer transacciones antes de ser confirmadas y, en algunos casos, recuperar la base de datos en caso de un fallo. En Amazon QLDB, este registro se llama «Journal» y es el núcleo central de todo el motor de la QLDB. Lo que lo hace especial es que este Journal es inmutable y verificable mediante técnicas criptográficas. En contraste, en las bases de datos SQL, el Redo Log no siempre es tan visible ni manipulable, ya que forma parte de la infraestructura de la base de datos y no está destinado al uso directo del usuario final.
El modelo de datos de Amazon QLDB es similar al de las bases de datos SQL tradicionales, con tablas, índices y campos que permiten una estructuración eficiente de la información. Sin embargo, aporta una versatilidad adicional al posibilitar el almacenamiento de documentos en formato Amazon ION. Además, cuenta con un catálogo del sistema que facilita la consulta de los objetos presentes en la base de datos, simplificando así la administración y exploración de los objetos de la base de datos.
Amazon QLDB se puede acceder de diversas formas, similar a como se accede a las bases de datos SQL tradicionales:
- Driver o Controlador: Amazon QLDB proporciona controladores o drivers para varios lenguajes de programación, como Java, .NET, Python, Node.js y Go. Estos controladores son de código abierto, lo que significa que están disponibles para su uso y personalización, permitiendo a los desarrolladores interactuar con la base de datos desde sus aplicaciones de manera eficiente y flexible.
- API: Amazon QLDB ofrece una API que permite a las aplicaciones conectarse y realizar operaciones en la base de datos. Esta API proporciona un conjunto de funciones y métodos que pueden ser utilizados para interactuar con la base de datos de manera programática, lo que facilita la automatización de tareas y la integración con otras aplicaciones.
- Consola: Amazon QLDB también ofrece una interfaz de consola web que permite a los usuarios administrar y consultar la base de datos de manera visual. A través de esta consola, los usuarios pueden ejecutar consultas, administrar esquemas de datos y supervisar el rendimiento de la base de datos sin necesidad de escribir código.
Cuando se debe considerar el uso de Amazon QLDB en lugar de una base de datos SQL depende de las necesidades específicas de tu aplicación. Amazon QLDB es una base de datos ledger, como mencioné anteriormente, que se destaca por su integridad e inmutabilidad transparente. Aquí hay algunos casos de uso en los que Amazon QLDB podría ser la elección adecuada:
- Registros de Aplicaciones Financieras: Amazon QLDB es especialmente útil en aplicaciones financieras donde la precisión y la seguridad de los registros son esenciales. Puede mantener un registro imborrable de todas las transacciones y cambios, lo que es fundamental en el sector financiero.
- Cadenas de Suministro y Seguimiento de Productos: Si necesitas rastrear la procedencia y la historia de productos o activos en una cadena de suministro.
- Sistemas de Votación: Para entornos que requieren la máxima seguridad y transparencia en los registros de votación y elecciones.
- Registros que Requieren Inmutabilidad y Capacidad de Auditoría: En sectores como la salud, las finanzas y el ámbito legal, donde la integridad de los datos y la capacidad de auditoría son cruciales.
Amazon QLDB puede tener una curva de aprendizaje más pronunciada en comparación con las bases de datos SQL o NoSQL convencionales. Por lo tanto, evalúa cuidadosamente tus necesidades y la importancia de la integridad de los datos antes de tomar una decisión sobre qué tipo de base de datos utilizar en tu aplicación.
Por Fabián Agüero, Certified Blockchain Expert. Morris & Opazo Consultor