Controlador SQLite
Esta documentación explica la implementación del controlador SQLite y cómo los parámetros de conexión se corresponden con los campos de la interfaz de usuario en la aplicación Gigantic.
Parámetros de Conexión
| Campo UI | Implementación Técnica | Descripción | Requerido | Valor por Defecto |
|---|---|---|---|---|
| Ruta de la Base de Datos | db en la configuración de sqlite | La ruta del archivo a la base de datos SQLite | Sí | Ninguno (debe ser especificado) |
Detalles Técnicos
La implementación del controlador SQLite utiliza la biblioteca Node.js sqlite3 con funcionalidad de envoltura asíncrona personalizada para las conexiones SQLite.
Aspectos técnicos clave:
- La conexión se realiza directamente a una ruta de archivo en lugar de a una base de datos en red
- Utiliza sentencias PRAGMA para la extracción de metadatos (table_info, foreign_key_list)
- La extracción de esquemas incluye nombres de tablas, información de columnas y tipos de datos
- La generación de DDL utiliza el campo sql de la tabla sqlite_master
- Las relaciones de clave foránea se detectan consultando PRAGMA foreign_key_list
- No se requiere autenticación para los archivos SQLite (acceso al sistema de archivos)
- Utiliza clases de envoltura asíncronas para proporcionar una interfaz basada en Promesas a sqlite3
Proceso de Conexión
Las conexiones SQLite se realizan utilizando una ruta de archivo:
- El controlador toma como entrada una ruta de archivo de base de datos
- Abre el archivo de base de datos SQLite utilizando la biblioteca sqlite3
- El agrupamiento de conexiones no es aplicable ya que SQLite utiliza bloqueo a nivel de archivo
Opciones de Autenticación
| Tipo de Autenticación | Mapeo UI | Descripción |
|---|---|---|
| Ninguna | Única opción disponible | No se necesita autenticación para los archivos SQLite |
Nota: El controlador SQLite no requiere autenticación ya que trabaja directamente con archivos en el sistema de archivos.
Endpoints de API Utilizados
Las conexiones SQLite se utilizan principalmente en:
- Creación de Tap (descubrimiento de fuente de datos desde archivos SQLite)
- Creación de Sink (destino de datos para datos anonimizados como archivos SQLite)
- Ejecución de Pipeline (extracción de datos desde y carga hacia archivos SQLite)
Dependencia de Controlador Node.js
El controlador SQLite depende de la biblioteca Node.js sqlite3:
- Biblioteca: sqlite3
- Propósito: Conectarse a archivos de base de datos SQLite
- Características: Acceso a bases de datos basado en archivos, soporte PRAGMA, sentencias preparadas
Parámetros Personalizados
El controlador SQLite soporta parámetros personalizados adicionales que pueden especificarse en formato YAML para ajustar finamente el comportamiento y las opciones de rendimiento de la conexión a la base de datos.
Parámetros de Conexión a la Base de Datos
Parámetros de Rendimiento y Optimización
Parámetros de Seguridad
La configuración de seguridad para SQLite se maneja principalmente a través del sistema de archivos del sistema operativo, ya que SQLite no tiene un mecanismo de autenticación integrado. Las configuraciones relevantes se centran en la validación de conexiones y manejo de archivos.