Blog

Accelerating Regular Expressions with AVX-512

We present a high-performance regular expression engine that uses 16 parallel lanes, that does not need branching or backtracking. This engine is developed for the Intel Icelake processor, and is written in AVX-512 assembly.

continue reading...

Understanding Sneller's Time Index

Sneller automatically uses a lightweight sparse index to index timestamp values in your data. Our timestamp sparse index lets us accelerate queries without introducing meaningful overhead during ingestion or query planning.

continue reading...

Blazing Fast Unicode-aware ILIKE in AVX-512

We present a method to perform case-insensitive comparison of UTF-8 encoded strings using 16 parallel lanes and no branching. This method is used to implement the ILIKE operator for the Intel SkylakeX processor, written in AVX-512 assembly.

continue reading...

64-bit Integers to Strings with AVX-512

This article explores the possibility of branchlessly converting multiple signed 64-bit integers to strings by taking advantage of AVX-512 extensions. Most research and implementations focus on improving the performance of converting a single value instead of performing multiple conversions at once. At Sneller, we use AVX-512 to process 16 values in parallel, and thus we would like to describe how we have done it in our query engine.

continue reading...

Columnar Compression Without Columns

Learn how Sneller is able to achieve the advantages of columnar database compression on row-oriented, schemaless data.

continue reading...

Building a SQL VM in AVX-512 Assembly

One of Sneller’s novel features is a bytecode-based virtual machine written almost entirely in AVX-512 assembly. While Sneller is far from the first project to incorporate SIMD acceleration into a query engine, our interpreter is unusual in that it is implemented entirely in assembly.

continue reading...

Why We Built a Schemaless SQL Engine

JSON has become one of the most common data interchange formats. It’s challenging to store JSON in traditional column-based database engines, so we decided to implement a schemaless engine to fully support JSON.

continue reading...

Sneller cloud-native architecture

Explanation about the benefits of a cloud-native architecture that separates ingestion, storage and the actual query engine.

continue reading...