Aalborg University

    Research case study · DESS at Aalborg University

    DESS at Aalborg University brings 23.8 billion maritime records to life with GizmoSQL

    The Data Engineering, Science, and Systems (DESS) research group uses GizmoSQL to make DuckDB a shared database for Seagull, its maritime traffic analysis platform. Data pipelines and map-serving components work with one database, while users explore vessel activity through map layers computed on demand.

    Research group
    DESS, Department of Computer Science, Aalborg University
    Location
    Aalborg, Denmark
    Application
    Seagull · Maritime traffic analysis
    Technology
    GizmoSQL, DuckDB, Arrow Flight SQL, ADBC

    Maritime data at research scale

    23.8 billion+
    AIS records
    235,000+
    ships represented
    On demand
    vector tile generation

    Dataset figures reported on the Seagull dashboard, October 2026. Previously served tiles are cached by Martin.

    “GizmoSQL enabled us at DESS, Aalborg University, to rapidly develop a lean prototype, demonstrating the utility of AIS data. Without it, we would have struggled to navigate the vast amounts of available data. As a bonus, we seamlessly integrated the US AIS dataset alongside our Danish data. We’re excited to have this powerful tool in our toolbox!”

    Kasper F. Pedersen
    Kasper F. Pedersen

    DESS, Aalborg University

    The challenge: interactive maps without a maze of aggregation tables

    Automatic Identification System (AIS) records capture vessel movements over time. Seagull makes that history accessible through maps of vessel traffic, occupation time, under-keel clearance and vessel positions. The platform was developed in collaboration with the Danish Geodata Agency as part of the Digital Research Centre Denmark (DIREC) initiative.

    The team initially built on PostgreSQL, a database it knew well. At Seagull’s data volumes, however, keeping the maps responsive required many pre-aggregated tables. Each table added work to the data pipelines.

    DuckDB offered the query performance and small disk footprint the team needed. The next challenge was sharing it: Apache Airflow handled data pipelines, MapLibre Martin served vector tiles, and a web application presented the maps. These separate components needed access without each process opening the same DuckDB file for writes.

    The solution: one DuckDB database, shared through GizmoSQL

    GizmoSQL puts an Arrow Flight SQL server in front of DuckDB. One server process accesses the database file, while multiple client connections query it. This gave Seagull the centralized database interface its components needed, and ADBC driver support kept ingestion fast.

    Apache Airflow

    Data pipelines ingest maritime records through ADBC and Arrow Flight SQL.

    GizmoSQL + DuckDB

    One process accesses the database file. Multiple clients connect over Arrow Flight SQL, with DuckDB performing the analytical queries and generating vector tiles.

    MapLibre Martin → Seagull web app

    Martin serves vector tiles and caches tiles already requested. Users explore the results as interactive map layers.

    From billions of records to the map in front of you

    Seagull computes its map layers online, without pre-aggregation. DuckDB’s map vector tile (MVT) functionality generates tiles when requested, removing the need to precompute PMTiles or MBTiles files. Martin’s cache reduces repeated computation for tiles it has already served.

    Seagull vessel-count grid over a Danish strait at zoom level 11, with busy shipping lanes in red
    A regional view of vessel traffic. Red cells indicate higher vessel counts.
    Seagull vessel-count grid at zoom level 18, showing detailed traffic around harbor berths and channels
    Zooming in reveals activity around individual berths and channels.

    Seagull screenshots from Kasper F. Pedersen’s source article.

    The result: a simpler schema and a responsive platform

    With GizmoSQL centralizing access to DuckDB, the team could keep Seagull’s schema relatively simple and reduce its maintenance work while delivering a responsive platform. The source article describes three practical benefits:

    • Less pipeline maintenance. On-demand analysis removes the need to maintain the pre-aggregated tables the PostgreSQL design required.
    • Shared database access. Pipelines and map-serving components connect to one GizmoSQL server instead of coordinating direct access to a DuckDB file.
    • Live map layers. Vector tiles are generated from the data when requested, with caching for previously served tiles.

    About DESS at Aalborg University

    Data Engineering, Science, and Systems (DESS) is a research group in Aalborg University’s Department of Computer Science. In June 2026, Professor Kristian Torp from DESS presented the academic paper describing the Seagull system at the 27th IEEE International Conference on Mobile Data Management.

    This case study focuses on the group’s work on Seagull and is adapted from Kasper F. Pedersen’s article about building scalable web GIS applications with GizmoSQL.

    Building an application on DuckDB?

    Give your pipelines and applications a shared SQL server. Talk with GizmoData about your data and workload.

    Talk to us
    Schedule a demo!powered by Calendly