Code Monkey home page Code Monkey logo

modelardb-rs's Introduction

ModelarDB

โš ๏ธ The current version of ModelarDB is alpha software and not yet ready for production use.

Cargo Build, Lint, and Test

ModelarDB is an efficient high-performance time series management system that is designed to efficiently ingest, transfer, store, and analyze high-frequency time series across the edge and cloud. It provides state-of-the-art lossless compression, lossy compression, and query performance by efficiently compressing time series on the edge using multiple different types of models such as constant and linear functions. As a result, the high-frequency time series can be transferred to the cloud through a connection with very limited bandwidth and stored in the cloud at a low cost. The compressed time series can be efficiently queried on both the edge and in the cloud using a relational interface and SQL without any knowledge about the model-based representation. A query optimizer automatically rewrites the queries to exploit the model-based representation.

ModelarDB is designed to be cross-platform and is currently automatically tested on Microsoft Windows, macOS, and Ubuntu through GitHub Actions. It is also known to work on FreeBSD which is currently not supported by GitHub Actions. It is implemented in Rust and uses Apache Arrow Flight for communicating with clients, Apache Arrow DataFusion as its query engine, Apache Arrow as its in-memory data format, and Apache Parquet as its on-disk data format.

ModelarDB intentionally does not gather usage data. So, all users are highly encouraged to post comments, suggestions, and bugs as GitHub issues, especially if a limitation of ModelarDB prevents it from being used in a particular domain.

Installation

Refer to the Installation section of the User documentation for installation instructions on setting up ModelarDB on four major operating systems. To easily experiment with ModelarDB, instructions for setting up a Docker environment are included in the Docker section.

Usage

Usage instructions for running a server, ingesting data, and querying data using ModelarDB are included in the Usage section of the User documentation.

Development

Refer to the Development section of the documentation for an overview of the structure of the project, a detailed description of each major component, and an outline of the guidelines that should be adhered to when contributing to the project.

Research-Based

A deprecated JVM-based prototype of ModelarDB was developed as part of a research project at Aalborg University and later as an open-source project. While the deprecated JVM-based prototype validated the benefits of using a model-based representation for time series, it has been superseded by this current, much more efficient, Rust-based implementation.

License

ModelarDB is licensed under version 2.0 of the Apache License and a copy of the license is bundled with the program.

modelardb-rs's People

Contributors

aabduvakhobov avatar agneborn98 avatar cgodiksen avatar chrthomsen avatar skejserjensen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

modelardb-rs's Issues

Example data

I want to quickly get started with ModelarDB but don't know how to prepare the data. The user document only talks about putting data in a local folder or a cloud but doesn't mention what type of data files to put. Can you give me an example of such a data file? If there are multiple data files in the folder, are they supposed to be data from multiple data source? Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.