Starting from Exasol version 6.0 encryption is enabled in JDBC and ODBC drivers by default. Most people are not aware of this change and how it applies to
exajload. All traffic from
exajload process to Exasol node is encrypted by default.
It is possible to disable encryption by adding option
;encryption=0 to connection string. It is strongly advised to do so if you’re using a secured tunnel already, or if security is not a concern.
This change may largely improve performance of ETL jobs, but actual results may vary depending on CPU and network setup.
- Create table:
CREATE OR REPLACE TABLE users ( user_id DECIMAL(18,0), user_name VARCHAR(255), register_dt DATE, last_visit_ts TIMESTAMP, is_female BOOLEAN, user_rating DECIMAL(10,5), user_score DOUBLE, status VARCHAR(50) );
- Download Exasol JDBC driver from Download section and extract it to get
- Download file with test data: users.csv
- Import data with encryption being enabled (default):
time ./exajload \ -c 'exasol-dev:8563;encryption=1' \ -u 'SYS' \ -P 'exasol' \ -s 'EXASECRETS' \ -presql 'TRUNCATE TABLE users' \ -sql 'IMPORT INTO users FROM LOCAL CSV FILE '\''users.csv'\'' ROW SEPARATOR = '\''LF'\'''
- Import data with encryption being disabled:
time ./exajload \ -c 'exasol-dev:8563;encryption=0' \ -u 'SYS' \ -P 'exasol' \ -s 'EXASECRETS' \ -presql 'TRUNCATE TABLE users' \ -sql 'IMPORT INTO users FROM LOCAL CSV FILE '\''users.csv'\'' ROW SEPARATOR = '\''LF'\'''
- Compare execution time.
- Try to do the same test using your production data set.