Drivers
Database Drivers Overview
This document provides an overview of all database drivers currently supported by the Gigantic application for data anonymization processes.
Supported Database Drivers
Gigantic supports a wide range of database systems as both sources (taps) and destinations (sinks) for data anonymization:
Relational Databases
- MySQL - Connects to MySQL database servers
- PostgreSQL - Connects to PostgreSQL database servers
- Oracle - Connects to Oracle database servers, including support for Multitenant architectures
- Microsoft SQL Server - Connects to MSSQL database servers
- DB2 for z/OS - Connects to IBM DB2 for z/OS mainframe databases
- DB2 for i (AS/400) - Connects to IBM DB2 for i (AS/400) systems
- DB2x - Connects to IBM DB2 for i (AS/400) systems with SFTP-based write operations
- SQLite - Connects to local SQLite database files
NoSQL Databases
- MongoDB - Connects to MongoDB document databases
File-Based Systems
- CSV - Reads from and writes to CSV files in a specified directory
Connection Methods
Each driver supports different connection methods:
- Direct Connections - Most relational databases support direct TCP/IP connections with standard authentication
- File-Based Access - SQLite and CSV drivers work directly with files in the file system
- SSH Tunneling - Most database drivers support SSH tunneling for secure connections through bastion hosts
- Specialized Approaches - DB2x uses a unique template-based shell script execution system for write operations
Authentication Options
Drivers support various authentication methods:
- Username/Password - Traditional database authentication
- Windows Authentication - For MSSQL (Integrated Security)
- Password Managers - Integration with external password management systems
- No Authentication - For file-based systems like SQLite and CSV
Technical Implementation
Each driver is implemented as a Node.js class that follows a common interface, with specific implementations for:
- Connection management
- Schema extraction
- Metadata retrieval
- Data reading
- Data writing
For detailed information about each driver's parameters, authentication options, and technical implementation, please refer to the individual driver documentation pages.
Driver Dependencies
For information about Node.js library dependencies for each driver, see the Driver Dependencies document.