Skip to content

Create a source

A source can be created from different origins.

File source

Data can be uploaded directly from a file (CSV, XLSX, …). A source imported in this manner is referred to as a file source. The file source must be encoded in UTF-8, use commas ,, semicolons ; or tab \t as column separators, and start with a single header line, containing the column names.

Attention! Ensure that each row contains the same number of columns.

To create a file source we must upload the relative files in the designated modal: create file source modal upload file example

Table relations

Note that when uploading multiple files, the primary key and the relations between columns should be specified by the user through the configuration stepper.

Column type inference

When uploading a file, the column type will be inferred automatically. Users can manually adjust column types through the configurator stepper.

Size requirements

  • Each file must be less than 100MB in size.
  • Each file must correspond to a single table, except for Excel and OpenOffice formats, where each sheet corresponds to a single table. So the only way to import relational DB file sources is as separate files, which have to be linked manually in the configurator stepper.

File format requirements

Aindo’s platform supports the following formats for file sources:

  • .csv
  • .parquet
  • .tsv
  • .xls
  • .xlsx
  • .xlsm
  • .xlsb
  • .ods
  • .odf
  • .odt

Every file that is not format compliant will be rejected. upload file rejected

Remote database source

A remote database can be used as a source (note that the database must have at least read permissions). Aindo’s platform is compatible with the following database systems:

  • PostgreSQL
  • MySQL
  • MariaDB
  • Google Big Query
  • Microsoft SQL Server
  • Oracle Database

database settings list database settings source

To verify that you have entered the correct settings, you can use the “Test Connection” button to check if the remote database accepts the connection.

database settings source test

Supported versions

We support all active and maintained versions of the databases listed above. For a detailed list of supported versions, please refer to the table below:

DatabaseSupported versions
PostgreSQL17 (current), 16, 15, 14, 13, 12
MySQL8.4 (current), 8.0, 5.7
MariaDB11.5 (current), 11.4, 11.2, 10.11, 10.6, 10.5
Google Big Querycurrent
Microsoft SQL Server2022 (current), 2019
Oracle Database23ai (current), 21c, 19c, 18c, 12c (R2)

Supported data types

This section lists the SQL data types fully or partially supported for each database system you can connect to from Aindo’s platform. Notes clarify partial support, and any types not listed are considered unsupported.

DatabaseSupportedPartially supported
PostsgreSQLBIGINT, BIGSERIAL, BOOLEAN, CHAR, VARCHAR, TEXT, FLOAT4, FLOAT8, INT2, INT4, INT8, NUMERIC, SERIAL2, SERIAL4, SERIAL8, DATE, TIME, TIMETZ, TIMESTAMPTZ
MySQL / MariaDBBOOLEAN, TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT,DECIMAL, FLOAT, DOUBLE, DATE, TIME, DATETIME, TIMESTAMP, YEAR, [NATIONAL] CHAR, [NATIONAL] VARCHAR, TEXT, MEDIUMTEXT, LONGTEXT, ENUM
Google BigQueryBOOL, DATE, DATETIME, INT64, NUMERIC, BIGNUMERIC, FLOAT64, STRING, TIME, TIMESTAMP STRUCT 1
Microsoft SQL ServerTINYINT, SMALLINT, INT, BIGINT, BIT, NUMERIC, FLOAT, REAL, DATE, DATETIMEOFFSET, DATETIME, SMALLDATETIME, CHAR, VARCHAR, TEXT, NCHAR, NVARCHAR, NTEXTTIME, DATETIME2 2
Oracle DatabaseCHAR, VARCHAR2, NCHAR, NVARCHAR2, DATE, CLOB, NCLOB, NUMBER, FLOAT, BINARY_FLOAT, BINARY_DOUBLETIMESTAMP 2, TIMESTAMP WITH [LOCAL] TIME ZONE 2,3
  1. Nested fields are mapped to standalone columns.
  2. Fractional second precision is supported up to 6 decimal places.
  3. Named time zones are not supported.

Remote object storage source

A remote object storage can be used as a source (note that the object storage must have at least read permissions). Aindo’s platform is compatible with the following object storage systems:

  • Amazon S3
  • Google Cloud Storage

database settings_list database settings source

To verify that you have entered the correct settings, you can use the “Test Connection” button to check if the remote database accepts the connection.

database settings_source_test

URL source

Data can also be imported through URLs, provided the landing webpage contains a table. To import a table directly from a webpage, click on “Provide the URL to a file” button. The following window will appear. Enter the URL in the text field and click on “Continue”.

url settings source

Configuration steps

The source configurator allows you to review and modify some properties of the imported data.

1. Choose data

The ‘Choose data’ step allows the user to include or exclude tables and/or columns from the data previously uploaded.

1-remove.png 2-add.png

2. Review data types

The ‘Review data types’ step allows the user to change the type of a column, choosing from the ones reviewed in the Supported data types section.

1-change-data-type.png 2-form.png

3. Set primary keys

The ‘Set primary keys’ step allows the user to set and unset primary keys for every table of the data previously uploaded.

1-set-pk.png

4. Set foreign keys

The ‘Set foreign keys’ step allows the user to set and unset foreign keys for every table of the data previously uploaded.

1-set-fk.png 2-form.png

Troubleshooting

If you encounter any issues, here are some common problems and their solutions:

  • File rejection: Ensure your file complies with the format requirements.
  • incorrect Column Types: Use the ‘Review data types’ step to correct any misidentified column type.
  • Missing Data: Check that all rows have the same number of columns.

FAQ

Q: What do I do if my file is larger than 100MB?
A: If you are working on an on-premise deployment, contact Aindo support to help you increase the size limit. If you are working on a cloud deployment, consider migrating the data to a supported database.

Q: Can I upload a file with no headers?
A: Yes you can, but the first row will be inferred as the header row.

Q: Can I use a database as source without ‘read’ permissions?
A: No, ‘read’ permissions are required so that Aindo can access the data for synthesis.