{"id":48672824,"url":"https://github.com/exasol/exasol-personal","last_synced_at":"2026-04-10T13:00:46.794Z","repository":{"id":341776254,"uuid":"1164833371","full_name":"exasol/exasol-personal","owner":"exasol","description":"The High-Performance Analytics Engine — Free for Personal Use","archived":false,"fork":false,"pushed_at":"2026-04-08T10:38:30.000Z","size":751,"stargazers_count":3,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-08T11:25:10.748Z","etag":null,"topics":["data-analytics","data-engineering","database","exasol","sql"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/exasol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-23T14:35:49.000Z","updated_at":"2026-04-08T10:38:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"f971e34f-4995-4f84-94a7-92a4ff1a6d20","html_url":"https://github.com/exasol/exasol-personal","commit_stats":null,"previous_names":["exasol/exasol-personal","exasol-labs/exasol-personal"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/exasol/exasol-personal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exasol%2Fexasol-personal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exasol%2Fexasol-personal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exasol%2Fexasol-personal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exasol%2Fexasol-personal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exasol","download_url":"https://codeload.github.com/exasol/exasol-personal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exasol%2Fexasol-personal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31643431,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-analytics","data-engineering","database","exasol","sql"],"created_at":"2026-04-10T13:00:26.475Z","updated_at":"2026-04-10T13:00:46.786Z","avatar_url":"https://github.com/exasol.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cpicture\u003e\n  \u003csource srcset=\"static/Exasol_Logo_2025_Bright.svg\" media=\"(prefers-color-scheme: dark)\"\u003e\n  \u003cimg src=\"static/Exasol_Logo_2025_Dark.svg\" alt=\"Exasol Logo\" width=\"300\"\u003e\n\u003c/picture\u003e\n\n# Exasol Personal\n\n**The High-Performance Analytics Engine — Free for Personal Use**\n\n*Deploy a full-scale Exasol cluster on your own AWS infrastructure in minutes*\n\n[![Documentation](https://img.shields.io/badge/docs-exasol.com-blue)](https://docs.exasol.com/db/latest/home.htm)\n[![Community](https://img.shields.io/badge/community-exasol-green)](https://community.exasol.com)\n[![Downloads](https://img.shields.io/badge/downloads-exasol.com-orange)](https://downloads.exasol.com/exasol-personal)\n\n\u003c/div\u003e\n\n## 🔥 Key Features\n\n- 🏎️ **In-Memory Performance** — Run complex analytics at in-memory speed with Exasol's industry-leading analytics engine\n- 🏢 **Full Enterprise Features** — Access all enterprise-scale capabilities of the Exasol database, completely free for personal use\n- ♾️ **Unlimited Data** — Store and analyze unlimited amounts of data with no artificial limits\n- 📈 **Scalable Architecture** — Scale up to any number of nodes using Exasol's MPP (Massively Parallel Processing) architecture\n- 🤖 **Built-in AI Functions** — Leverage native AI/ML capabilities with GPU acceleration\n- ⚙️ **Simple Deployment** — Spin up a distributed cluster on your own AWS infrastructure with just a few commands\n- 🖥️ **Cross-Platform CLI** — Install and manage your cluster using the Exasol Launcher on Linux, macOS, or Windows\n\n\n## ✅ Prerequisites\n\n- An AWS account that can provision large type instances. Exasol launcher by default uses the r6i.xlarge EC2 instance type.\n- An AWS user with enough permissions to create resources such as EC2 instances.\n\nTo learn how to set up an AWS account with an instance profile and configure your local environment to use that profile when installing Exasol Personal, see [Set up an AWS account for Exasol Personal](./HOWTO_SETUP_AWS_ACCOUNT.md).\nTo learn how to set up an Azure account and local authentication for the Azure preset, see [Set up an Azure account for Exasol Personal](./HOWTO_SETUP_AZURE_ACCOUNT.md).\n\n\n## 🏎️ Quick Start for macOS 🍎 and Linux 🐧\n\nDownload the Exasol launcher:\n```bash\ncurl https://downloads.exasol.com/exasol-personal/installer.sh | sh\n```\nCreate a deployment directory:\n```bash\nmkdir deployment \u0026\u0026 cd deployment\n```\nInstall Exasol Personal:\n```bash\n../exasol install aws\n```\nRead on for how to install on Windows and for more detailed instructions.\n\n\n## 🚀 Deploy Exasol Personal\n\n1. Download Exasol Launcher for your platform.\n\n   On Linux and macOS, run:\n   ```bash\n   curl https://downloads.exasol.com/exasol-personal/installer.sh | sh\n   ```\n\n   On all platforms including Windows:\n   Download Exasol Launcher from the [Exasol Download Portal](https://downloads.exasol.com/exasol-personal).\n\n   Copy the `exasol` binary into your PATH.\n\n\n2. Create a new directory “deployment” and change into the directory:\n   ```bash\n   mkdir deployment\n   cd deployment\n   ```\n3. Configure the `AWS_PROFILE` environment variable to use the instance profile that you created in your AWS account for Exasol Personal.\n\n   If the profile name is `exasol`:\n   ```bash\n   # Linux / macOS (Bash)\n   export AWS_PROFILE=exasol\n   ```\n   ```powershell\n   # Windows (PowerShell)\n   $env:AWS_PROFILE = \"exasol\"\n   ```\n      ```powershell\n   # Windows (cmd)\n   set AWS_PROFILE=exasol\n   ```\n\n4. To install Exasol Personal, run the following command:\n   ```bash\n   exasol install aws\n   ```\n   The `exasol install` command does the following:\n   - Generates Terraform files in the deployment directory\n   - Provisions the necessary AWS infrastructure with Terraform\n   - Starts up the AWS infrastructure\n   - Downloads and installs Exasol Personal on that infrastructure\n\n   The whole process normally takes about 10 to 20 minutes to complete.\n\n   When the deployment process has finished, you will see instructions on how to connect to your Exasol database using a client of your choice. You can also find this information at any time by using `exasol info` in the terminal.\n\nMost `exasol` commands must be run from the context of the deployment directory. Change into the deployment directory before you run any `exasol` commands, and prepend the command with the relative path to the binary. For example: `../exasol \u003ccommand\u003e`.\n\nTo avoid having to prepend all exasol commands with the path to the binary, you can add the path to your PATH environment variable. For more information about how to set environment variables, refer to the documentation for your operating system.\n\n## 📊 Load Sample Data\n\nTo get started quickly, Exasol provides two sample datasets hosted on S3 that you can import directly using SQL.\n\nYou can load it directly by executing this command in the deployment directory:\n\n```bash\nexasol connect \u003c sample.sql\n```\n\nAlternatively, connect with a SQL client of your choice and paste the statements below:\n\n```sql\nCREATE OR REPLACE TABLE PRODUCTS (\n    PRODUCT_ID        DECIMAL(18,0),\n    PRODUCT_CATEGORY  VARCHAR(100),\n    PRODUCT_NAME      VARCHAR(2000000),\n    PRICE_USD         DOUBLE,\n    INVENTORY_COUNT   DECIMAL(10,0),\n    MARGIN            DOUBLE,\n    DISTRIBUTE BY PRODUCT_ID);\n\nIMPORT INTO PRODUCTS\nFROM PARQUET AT 'https://exasol-easy-data-access.s3.eu-central-1.amazonaws.com/sample-data/'\nFILE 'online_products.parquet';\n```\n\n```sql\nCREATE OR REPLACE TABLE PRODUCT_REVIEWS (\n    REVIEW_ID          DECIMAL(18,0),\n    PRODUCT_ID         DECIMAL(18,0),\n    PRODUCT_NAME       VARCHAR(2000000),\n    PRODUCT_CATEGORY   VARCHAR(100),\n    RATING             DECIMAL(2,0),\n    REVIEW_TEXT        VARCHAR(100000),\n    REVIEWER_NAME      VARCHAR(200),\n    REVIEWER_PERSONA   VARCHAR(100),\n    REVIEWER_AGE       DECIMAL(3,0),\n    REVIEWER_LOCATION  VARCHAR(200),\n    REVIEW_DATE        VARCHAR(200),\n    DISTRIBUTE BY PRODUCT_ID);\n\nIMPORT INTO PRODUCT_REVIEWS\nFROM PARQUET AT 'https://exasol-easy-data-access.s3.eu-central-1.amazonaws.com/sample-data/'\nFILE 'product_reviews.parquet';\n```\n\n| Table | Rows | Size |\n|---|---|---|\n| `PRODUCTS` | 1,000,000 | 27.3 MiB |\n| `PRODUCT_REVIEWS` | 1,822,007 | 154.5 MiB |\n\nBoth tables are distributed by `PRODUCT_ID`, enabling efficient joins between them.\n\n\n## ⚙️ Choosing cluster size and instance types\n\nThe launcher will by default generate Terraform files to install one Exasol node on one Amazon EC2 instance of the type r6i.xlarge. To change the number of nodes and the EC2 instance type to use in the deployment, use the `--cluster-size` and `--instance-type` options:\n```bash\nexasol install aws --cluster-size \u003cnumber\u003e --instance-type \u003cstring\u003e\n```\nIf the deployment process is interrupted, EC2 instances that were created by the process will not be terminated and may therefore continue to accrue cost. In case of an aborted deployment you must log in to the AWS console and manually terminate those instances.\n\n## ⏯️ Start and stop Exasol Personal\n\nTo save costs, you can temporarily stop Exasol Personal by using the following command (in the deployment directory):\n```bash\nexasol stop\n```\nThis stops the EC2 instance(s) that Exasol Personal is running on.\n\nNetworking and data volumes that the database data is stored on will continue to incur costs when instances are stopped.\n\nTo start Exasol Personal again, use the following command:\n```bash\nexasol start\n```\nThe IP addresses of the nodes will change when you restart Exasol Personal. Check the output of the `start` command to know how to connect to the deployment after a restart.\n\n## 🗑️ Remove Exasol Personal\n\nTo completely remove an Exasol Personal deployment, use `exasol destroy`. This command will terminate the EC2 instance and delete it and all associated resources in AWS.\n\nTo learn more about this command, use `exasol destroy --help`.\n\nDeleting the deployment directory and the Exasol Launcher will not remove the resources that were created in your AWS account. To completely remove a deployment, you must use the `exasol destroy` command.\n\nIf you have already deleted the deployment directory and the exasol binary, you must log in to the AWS console and manually terminate the EC2 instances and associated resources.\n\n## 🔜 Next steps\n\nOnce 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.\n\nYou can also use the built-in SQL client in Exasol Launcher to connect directly to the database from the command line:\n```bash\n../exasol connect\n```\nSee also...\n- To learn more about how you can connect to your Exasol database and start loading data using the many supported tools and integrations, see [Connect to Exasol](https://docs.exasol.com/db/latest/connect_exasol.htm) and [Load Data](https://docs.exasol.com/db/latest/loading_data.htm).\n- To learn how to use the SQL statements, data types, functions, and other SQL language elements that are supported in Exasol, see [SQL reference](https://docs.exasol.com/db/latest/sql_reference.htm).\n\n## 🧑‍💻 Exasol Admin\n\nExasol Admin is an easy-to-use web interface that you can use to administer your new Exasol database. Instructions for how to access Exasol Admin is shown in the terminal output at the end of the install process.\n\n- To find the Exasol Admin URL after the installation has completed, use `exasol info`.\n- The credentials for connecting to Exasol Admin are stored in the file `secrets.json` in the deployment directory.\n\nYour browser may show a security warning when connecting to Exasol Admin because of the self-signed certificate. Accept this warning and continue.\n\n## 🔒 Connect using SSH\n\nTo connect with SSH to the EC2 instance that your Exasol database is running on, use `exasol diag shell`.\n\n## ☁️ Add Support for Additional Cloud Platforms\n\nExasol Personal can be deployed on cloud platforms beyond AWS through **infrastructure presets**. A preset is a self-contained directory of templates and configuration files that the launcher uses to provision infrastructure and install Exasol on it. The launcher ships with built-in presets, and you can also point it at a preset directory on your local filesystem.\n\n### Two preset types\n\nEach deployment uses two presets together:\n\n- **Infrastructure preset** — provisions cloud resources (nodes, disks, network) and prepares node bootstrap data. The built-in `aws` preset uses OpenTofu templates to manage AWS resources.\n- **Installation preset** — defines how Exasol is installed and configured on the provisioned nodes. The built-in `ubuntu` installation preset is used by default and works with any infrastructure preset that follows the same conventions.\n\n### Using presets on the command line\n\nThe `install` (and `init`) command takes the infrastructure preset as its first argument and an optional installation preset as its second argument:\n\n```\nexasol install \u003cinfra-preset\u003e [install-preset]\n```\n\n**Built-in presets** are selected by name:\n\n```bash\n# Use the built-in AWS infrastructure preset with the default installation preset\nexasol install aws\n\n# Explicitly specify both presets by name\nexasol install aws ubuntu\n```\n\n**External presets** on your local filesystem are selected by path. Any argument that looks like a path (starts with `.`, `~`, or contains `/` or `\\`) is treated as a directory path:\n\n```bash\n# Use a local infrastructure preset directory\nexasol install ./my-gcp-preset\n\n# Use local directories for both presets\nexasol install ./my-gcp-preset ./my-install-preset\n\n# Use a built-in installation preset with a local infrastructure preset\nexasol install /path/to/my-preset ubuntu\n```\n\nTo see the list of available built-in presets, run:\n\n```bash\nexasol presets\n```\n\n### Where built-in presets live\n\nBuilt-in presets are embedded in the launcher binary and sourced from:\n\n- `assets/infrastructure/\u003cpreset\u003e/` — infrastructure presets (OpenTofu templates + `infrastructure.yaml`)\n- `assets/installation/\u003cpreset\u003e/` — installation presets (scripts, cloud-init fragments + `installation.yaml`)\n\nWhen you run `exasol install`, the selected presets are extracted into the deployment directory under `infrastructure/` and `installation/`.\n\nExternal presets can live in any folder that you choose.\n\n### Creating a new infrastructure preset\n\nTo add support for a new cloud platform, create a preset directory with the following:\n\n1. **`infrastructure.yaml` manifest** — at minimum a `name`, `description`, and a `tofu` block pointing to your variables file.\n2. **OpenTofu templates** — to provision the required resources (compute instances, networking, storage).\n3. **Required deployment artifacts** written by the templates to the `infrastructure_artifact_dir` output directory:\n   - `deployment.json` — node details (IPs, SSH info, DB endpoints, TLS cert)\n   - `secrets.json` — credentials (`dbPassword`, `adminUiPassword`)\n   - `node_access.pem` — SSH private key for the launcher to use\n4. **Installation preset integration** — embed installation assets (from `installation/cloudconf/` and `installation/files/`) into your node bootstrap mechanism (e.g. cloud-init). The existing AWS preset at `assets/infrastructure/aws/` is the reference implementation.\n\nFor a detailed description of the preset contract, manifest schemas, variable channels, and compatibility guidelines, see [doc/presets.md](doc/presets.md).\n\n## ⚖️ Licensing\n\nThe Exasol Launcher source code in this repository is open-source software licensed under the [MIT License](./LICENSE). You are free to use, modify, and distribute it. Contributions are made under the same terms.\n\nThe 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)](https://www.exasol.com/terms-and-conditions/#h-exasol-personal-end-user-license-agreement).\n\n## 📚 Resources \u0026 Documentation\n\nGet the most out of Exasol with these resources:\n\n- [Exasol Documentation](https://docs.exasol.com/db/latest/home.htm) — Complete database documentation\n- [Connect to Exasol](https://docs.exasol.com/db/latest/connect_exasol.htm) — Driver downloads and client setup\n- [Load Data](https://docs.exasol.com/db/latest/loading_data.htm) — Import data into your database\n- [SQL Reference](https://docs.exasol.com/db/latest/sql_reference.htm) — Complete SQL syntax reference\n- [Exasol Community](https://community.exasol.com) — Ask questions and share knowledge (use tag `exasol-personal`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexasol%2Fexasol-personal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexasol%2Fexasol-personal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexasol%2Fexasol-personal/lists"}