multi‑omics deep dive

What you will find here

This page presents a concrete example of how SynSQL handles large multi‑omics datasets. We describe the test dataset, the structure of the resulting table, and the ingestion performance obtained via single queries.

Test cluster

The test cluster consists of two DELL R6515 servers, each with an AMD Epyc 7302P 16-core processor, 128 GB of RAM and 6 x 2 TB SSDs. This configuration is representative of a modest two‑node research cluster. Even at this scale, SynSQL comfortably handles multiple wide scientific tables.

Test dataset

The dataset used for this benchmark is a multi‑omics matrix with exactly 10 000 lines and 585 010 columns, The raw data was generated from a C program in text format. It was inserted into the multi_omic table row by row. As the dataset was generated, do not expect that the data distribution is realistic.

Table structure

The multi‑omics table contains one row per patient and several hundred thousand molecular features spanning multiple modalities. These include:

1 patient_id key — a mandatory hash key
20 000 gene expression features
100 000 SNP‑level features
10 000 protein abundance features
5 000 metabolite measurements
450 000 CpG methylation values
10 metadata fields (clinical and technical annotations)


All values are stored using simple SQL types (INT and fixed‑point encoded integers). No specialized scientific format is required, and the entire dataset fits into a single wide table.

Ingestion performance

SynSQL supports both high‑throughput bulk loading and standard SQL mutability (INSERT, UPDATE, DELETE). This combination allows fast ingestion of large datasets while preserving the flexibility of fine‑grained modifications. For the multi_omics case, we considered that bulk data load was not the best way. A multi omics data set will usualy concern up to 10 000 patients. So the the table data was produced line by line.

Table creation
The table was created within 3 minutes. The columns were created in batches of 25 000, at a rate of 6.5 seconds per batch.
Deployment
The time to deploy the table across the cluster was 2 minutes and 22 seconds.
Bulk load throughput
Bulk load was not tested for the multi_omics table.
Row creation
The time to create a single row from the command line tool is ~1.5 seconds average. The time to populate the whole 10 000 row was 4 hours.
Multi_omics live workspace →