Quick start with Exasol Personal

Learn how to quickly spin up an Exasol database using Exasol Personal.

Exasol Personal is a completely free, single-user edition of Exasol running in your own cloud environment, allowing you to quickly get started with Exasol. You deploy Exasol Personal using Exasol Launcher, a simple command-line tool running on your own computer in Linux, Windows, or macOS.

This tutorial explains how to install Exasol Personal with a default configuration on your preferred cloud platform and get started using your database.

Prerequisites

A cloud account on one of the supported platforms with permission to provision compute instances.

For more details see:

Quick start (macOS / Linux)

Copy
# 1. Download the launcher
curl https://downloads.exasol.com/exasol-personal/installer.sh | sh

# 2. Create a deployment directory
mkdir deployment && cd deployment

# 3. Install on your cloud of choice
exasol install aws        # Amazon Web Services
exasol install azure      # Microsoft Azure
exasol install exoscale   # Exoscale

Deploy Exasol Personal (full procedure)

  1. Download Exasol Launcher for your local platform.

    On Linux and macOS, run the following command:

    Copy
    curl https://downloads.exasol.com/exasol-personal/installer.sh | sh

    This installs the exasol binary to ~/.local/bin. On most Linux distributions this directory is already in your PATH. On macOS, or if the installer reports that ~/.local/bin is not in your PATH, follow the instructions in the installer.

    On Windows: download Exasol Launcher from the Exasol Download Portal. and copy the exasol binary to a directory in your PATH.

  2. Create a new directory deployment and change into the directory:

    Copy
    mkdir deployment
    cd deployment
  3. Configure authentication for your cloud provider. See the relevant account setup guide in Prerequisites for the environment variables and credentials required.

  4. To install Exasol Personal, run the exasol install command with the preset for your cloud provider:

    Copy
    exasol install aws                         # Amazon Web Services
    exasol install azure --location <region>   # Microsoft Azure
    exasol install exoscale [--zone <zone>]    # Exoscale

    The exasol install command does the following:

    • Generates OpenTofu files in the deployment directory

    • Provisions the necessary cloud infrastructure

    • Starts up the infrastructure

    • Downloads and installs Exasol Personal on that infrastructure

    The installation process normally takes about 10 to 20 minutes to complete.

Region and zone options for Azure and Exoscale

For deployments on Azure and Exoscale you can pass additional options with the exasol install <preset> command to explicitly choose a deployment region/zone.

For Azure the --location option is always required because the target region is not inferred automatically.

Examples:
Copy
exasol install azure --location westeurope
Copy
exasol install exoscale                     # deploy to ch-gva-2 (default)
exasol install exoscale --zone de-fra-1     # deploy to Frankfurt
exasol install exoscale --zone at-vie-1     # deploy to Vienna

Available zones for Exoscale are: ch-gva-2 (default), de-fra-1, de-muc-1, at-vie-1, at-vie-2, bg-sof-1.

When the deployment process has finished, the terminal output will show the connection details for the new database. You can also find this information at any time by using exasol info in the terminal.

Choosing cluster size and compute instance types

By default the launcher deploys a single-node cluster on a memory-optimized instance (for example, r6i.xlarge on AWS, Standard_E4s_v3 on Azure, standard.extra-large on Exoscale). To change the number of nodes or the instance type, use the --cluster-size and --instance-type options:

Copy
exasol install <preset> --cluster-size <number> --instance-type <string>

If the deployment process is interrupted, cloud resources that were already created will not be automatically removed and may continue to accrue cost. In that case, use exasol destroy to clean up the deployment, or remove the resources manually in your cloud provider’s console.

Connect to your Exasol database

Once the deployment process is complete, use exasol info for information about how to connect to your Exasol database. The credentials for connecting to the database from a client are stored in the file secrets.json in the deployment directory.

You can also use the built-in SQL client in Exasol Launcher to connect directly to the database from the command line:

Copy
exasol connect

Exasol Admin

Exasol Admin is an easy-to-use web interface that you can use to administer your new Exasol database.To learn more about how to use Exasol Admin, see Exasol Admin.

Instructions how to access Exasol Admin are shown in the terminal output at the end of the install process. To find the Exasol Admin URL after installation, use exasol info.

Credentials for connecting to Exasol Admin are stored in the file secrets-exasol-<play_id>.json in the deployment directory.

Your browser may show a security warning when connecting to Exasol Admin because of the self-signed certificate. Accept this warning and continue.

Connect using SSH

To connect with SSH to your deployment, use one of the following commands:

Copy
# Connect to the compute instance your database is running on:
exasol shell host
Copy
# Connect to the COS container your node is running on:
exasol shell container

To learn more about how to connect to your database and load data using various tools and integrations, see Connect to Exasol and Load data.

Load sample data

To get started quickly, Exasol provides two sample datasets hosted on S3 that you can import directly using SQL. You can load these datasets directly by executing the following command in the deployment directory:

Copy
exasol connect < sample.sql

Alternatively, connect with a SQL client of your choice and paste the following statements:

Copy
CREATE OR REPLACE TABLE PRODUCTS (
    PRODUCT_ID        DECIMAL(18,0),
    PRODUCT_CATEGORY  VARCHAR(100),
    PRODUCT_NAME      VARCHAR(2000000),
    PRICE_USD         DOUBLE,
    INVENTORY_COUNT   DECIMAL(10,0),
    MARGIN            DOUBLE,
    DISTRIBUTE BY PRODUCT_ID
);

IMPORT INTO PRODUCTS
  FROM PARQUET AT 'https://exasol-easy-data-access.s3.eu-central-1.amazonaws.com/sample-data/'
  FILE 'online_products.parquet';
Copy
CREATE OR REPLACE TABLE PRODUCT_REVIEWS (
    REVIEW_ID          DECIMAL(18,0),
    PRODUCT_ID         DECIMAL(18,0),
    PRODUCT_NAME       VARCHAR(2000000),
    PRODUCT_CATEGORY   VARCHAR(100),
    RATING             DECIMAL(2,0),
    REVIEW_TEXT        VARCHAR(100000),
    REVIEWER_NAME      VARCHAR(200),
    REVIEWER_PERSONA   VARCHAR(100),
    REVIEWER_AGE       DECIMAL(3,0),
    REVIEWER_LOCATION  VARCHAR(200),
    REVIEW_DATE       VARCHAR(200),
    DISTRIBUTE BY PRODUCT_ID
);

IMPORT INTO PRODUCT_REVIEWS
  FROM PARQUET AT 'https://exasol-easy-data-access.s3.eu-central-1.amazonaws.com/sample-data/'
  FILE 'product_reviews.parquet';
Table Rows Size
PRODUCTS 1,000,000 27.3 MiB
PRODUCT_REVIEWS 1,822,007 154.5 MiB

Both tables are distributed by PRODUCT_ID, enabling efficient joins between them.

Stop and start Exasol Personal

To save costs, you can temporarily stop Exasol Personal by using the following command (in the deployment directory):

Copy
exasol stop

This stops the compute instance(s) that Exasol Personal is running on.

Networking and data volumes that the database data is stored on will continue to incur costs when compute instances are stopped.

To start Exasol Personal again, use the following command:

Copy
exasol start

The IP addresses of the nodes will change when you stop and start Exasol Personal. Check the output of the start command to know how to connect to the deployment after a restart.

Remove Exasol Personal

To completely remove an Exasol Personal deployment, use exasol destroy. This command will terminate and delete the compute instances and all associated resources on your cloud platform.

To learn more about this command, use exasol destroy --help.

Deleting the deployment directory and Exasol Launcher will not remove the resources that were created in your cloud environment. To completely remove a deployment, you must use the exasol destroy command.

If you have already deleted the deployment directory and Exasol Launcher, you must remove the resources manually in your cloud provider’s console.

Presets

Exasol Personal uses presets — self-contained directories of templates and config files — to provision infrastructure and install Exasol. Each deployment combines two presets:

Infrastructure preset

  • Provisions cloud resources (compute, network, and storage).

  • Built-in presets: aws, azure, exoscale

Installation preset

  • Installs and configures Exasol on the provisioned nodes.

  • Built-in presets: ubuntu (used by default).

Copy
exasol install <infra-preset> [install-preset]

exasol install aws            # built-in preset by name
exasol install ./my-preset    # local preset by path (starts with . / ~ or contains /)
exasol install ./my-infra ./my-install   # both presets from local paths

To list all available built-in presets:

Copy
exasol presets

Local presets

You can store your own preset directories anywhere on your filesystem and pass the path directly to exasol install. This lets you target additional cloud platforms or customize provisioning without modifying the launcher.

Building your own presets

For the full preset contract: manifest schema, required output artifacts, variable channels, and the reference implementations in assets/infrastructure, see Preset development (infrastructure + installation) on GitHub.

Licensing

Exasol Launcher installs the Exasol database, which is proprietary software provided by Exasol AG, free for personal use. By deploying it with exasol install, you accept the Exasol Personal End User License Agreement (EULA).