https://github.com/athenarc/minmaxcache

Visualization-aware Caching of Time-series

https://github.com/athenarc/minmaxcache

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.8%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Visualization-aware Caching of Time-series

Basic Info
  • Host: GitHub
  • Owner: athenarc
  • Language: Java
  • Default Branch: main
  • Size: 4.84 MB
Statistics
  • Stars: 3
  • Watchers: 3
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme

README.md

Visualization-aware Timeseries Min-Max Caching with Error Bound Guarantees

Supplemental Material

Supplemental material detailing the algorithms for error-bound calculation and query evaluation over MinMaxCache, as well as a detailed presentation of the user study conducted, can be found here.

Datasets

Data used for the experiments can be found here.

In this folder, there are 2 sub-folders. One for the real datasets used in the experiments and one for the synthetic. Each contains a notebook, named expanddata.ipynb and createsynth.ipynb respectively.

Required libraries to run both notebooks are: numpy, pandas and datetime.

By running the expanddata.ipynb, the original datasets will be expanded 50 times, and 3 datasets with the same name and the suffix "exp" will be created. Running createsynth.ipynb, will create 11 synthetic timeseries datasets generated from random walks, with the names synthetic{1m-1b}.csv.

Running Instructions

First, build the JAR file:

mvn clean package

Experiments

``` To execute a sequence of queries, e.g. using a table, run the following:

java -jar target/experiments.jar -seqCount 50 -measureChange 0 -type <influx, postgres> -measures <measure_ids> -timeCol <timeCol (if postgres)> -valueCol <valueCol (if postgres)> -idCol <idCol (if postgres)> -zoomFactor 2 -viewport <width,height> -runs 1 -out <output_folder_path> -minShift 0.1 -maxShift 0.5 -schema <schema or bucket> -table <tableName> -timeFormat "yyyy-MM-dd[ HH:mm:ss.SSS]" -a 0.95 -q 0.1 -prefetchingFactor 1 -aggFactor 4

Parameters:

-seqCount No. of queries

-type Database,

-mode *Algorithm to run

-measures Measure ids, e.g 1,2,3

-timeCol Name of time column (for postgres)

-valueCol Name of value column (for postgres)

-idCol Name of id column (for postgres)

-out Output Folder

-schema *Schema on the DB (On Influx it defines the bucket)

-table Table Name

-zoomFactor Factor by which to zoom in and out%

-viewPort Width, height of the viewport of visualization

-runs No. of times to run the experiment

-minShift Minimum pan shift

-maxShift Maximum pan shift

-timeFormat Time format of the Time Column

-a Accuracy Threshold

-q Query Selectivity

-prefetchingFactor Prefetching Factor

-aggFactor Initial Aggregation Factor

(-queries) *A path to a csv file with predefined epoch-based queries. First column is start epoch and the second end epoch (e.g queries.txt file in the repository). *

Owner

  • Name: ATHENA RC
  • Login: athenarc
  • Kind: organization
  • Email: github@athenarc.gr
  • Location: Athens, Greece

ATHENA Research & Innovation Information Technologies

GitHub Events

Total
  • Watch event: 9
  • Delete event: 2
  • Push event: 32
  • Create event: 2
Last Year
  • Watch event: 9
  • Delete event: 2
  • Push event: 32
  • Create event: 2

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

pom.xml maven
  • ch.qos.logback:logback-classic 1.2.13 compile
  • it.unimi.dsi:fastutil 8.5.12 compile
  • com.beust:jcommander 1.82
  • com.google.guava:guava 31.0-jre
  • com.google.protobuf:protobuf-java 3.24.3
  • com.h2database:h2 1.4.200
  • com.influxdb:influxdb-client-java 6.7.0
  • com.opencsv:opencsv 5.7.1
  • com.univocity:univocity-parsers 2.9.1
  • commons-io:commons-io 2.11.0
  • io.jsonwebtoken:jjwt-api 0.11.1
  • io.jsonwebtoken:jjwt-impl 0.11.1
  • io.jsonwebtoken:jjwt-jackson 0.11.1
  • javax.validation:validation-api 2.0.1.Final
  • org.apache.arrow:flight-sql-jdbc-driver 11.0.0
  • org.apache.commons:commons-lang3 3.12.0
  • org.apache.commons:commons-math3 3.6.1
  • org.apache.hadoop:hadoop-common 3.3.2
  • org.apache.hadoop:hadoop-hdfs 3.3.4
  • org.apache.parquet:parquet-avro 1.12.3
  • org.ehcache:sizeof 0.4.3
  • org.postgresql:postgresql 42.5.1
  • junit:junit 4.13.2 test