Skip to content

MonetDBSolutions/maritime-benchmark

Repository files navigation

Maritime Benchmark

Quick start (MonetDB only)

At first you need to install pymonetdb the monetdb driver for python. Optionally you can install it in a python virtual environment.

Download only the benchmark dataset

download-data.py --benchmark-set-only

If you would like to operate on scaled (down) version of the dataset you can simply do

scale.py --scale 0.01 --target scaled-data-0.01/

Note that the scaling script is not scaling shapefiles.

To load the data on a running instance of monetdb (for instruction check the official docs) execute the load.py script

load.py --system monet \
    --database <DB-NAME> \
    --data <DATA-DIR> \
    --scale<SCALE> \
    --benchmark-set-only 

Additionally, if the database is not running locally or it is using a different port append the hostname and port --hostname <HOST> --port <PORT>.

To execute the benchmark

execute.py --database <DB-NAME> --no-drop --single-system monet

The hostname and port can be specified as with the load.py script.

Loading datasets into MonetDB/Postgres

This repo contains scripts to download and load datasets from the 'Guide to Maritime Informatics' book into MonetDB and PostgreSQL.

NOTES:

  • In order to load geo data into MonetDB, the geo-update branch must be used. For Postgres, you must have the PostGIS extension installed.
  • The default name of the database where the data is loaded into is maritime, but you can change it through load.py arguments.
  • The database servers must be running before running the loading script: you must start the server and create the database yourself).

How to download and load data

  1. Use the download_data.py script to download all the datasets to the data/ directory
./download_data
  1. After getting the datasets, use the load.py script to load the data into either MonetDB or Postgres (or both)

Loading data into both MonetDB and Postgres (with default database name "maritime"):

./load.py

Loading data only into MonetDB:

./load.py --system monet

Loading data into Postgres:

./load.py --system postgres

Loading data into a MonetDB database with the database name "test":

./load.py --system monet --database test
  1. You have the data loaded in the database!
$ mclient -d maritime

sql> \dn
SCHEMA  ais_data
SCHEMA  environment_data
SCHEMA  geographic_data
SCHEMA  vessel_data

Comparison between MonetDB and Postgres (run.py script)

TODO

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •