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:

  1. Direct Connections - Most relational databases support direct TCP/IP connections with standard authentication
  2. File-Based Access - SQLite and CSV drivers work directly with files in the file system
  3. SSH Tunneling - Most database drivers support SSH tunneling for secure connections through bastion hosts
  4. 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.