Giter Site home page Giter Site logo

ludlows / cottontaildb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vitrivr/cottontaildb

0.0 0.0 0.0 5.39 MB

Cottontail DB is a column store aimed at multimedia retrieval. It allows for classical boolean as well as vector-space retrieval (nearest neighbour search) used in similarity search using a unified data and query model.

Home Page: https://www.vitrivr.org/vitrivr.html

License: MIT License

Kotlin 99.98% Dockerfile 0.02%

cottontaildb's Introduction

Cottontail DB

Cottontail CI Maven Central

Cottontail DB is a column store aimed at multimedia retrieval. It allows for classical boolean as well as vector-space retrieval, i.e., nearest-neighbours lookup, as used in similarity search. If you're interested in using or contributing to Cottontail DB, please have a look at the Wiki.

Setup

Cottontail DB requires Java 11 or newer (Open JDK or Oracle JDK should both work). Please clone this repository using:

git clone https://github.com/vitrivr/cottontaildb.git

The entire project is a Gradle project and comes with a Gradle Wrapper so things should work pretty much out of the box.

Building and starting Cottontail DB

A distribution of Cottontail DB can be built from the sources using the Gradle tasks distTar or distZip. This distribution includes the actual DBMS as well as the CLI. Distributions are stored relatively to the project root in build/distributions as either TAR or ZIP file.

You can also build an executable JAR of the DBMS and the CLI with the cottontaildb-dbms:shadowJar or cottontaildb-cli:shadowJar gradle tasks respectively. Those JARs are stored relative to the respective module.

All the details as to how Cottontail DB can be setup and started can be found in the Wiki.

Using Cottontail DB Docker Image

Cottontail DB is available as Docker Image from DockerHub. Please have a look at the repository instructions and/or the Wiki for more information.

Connecting to Cottontail DB

Communication with Cottontail DB is facilitated by gRPC. By default, the gRPC endpoint runs on port 1865. To connect to Cottontail DB, you must first generate the model classes and stubs using the gRPC library of your preference based on the programming environment you use. You can find the latest gRPC definitions here.

For Kotlin and Java, there is also a Maven dependency, which includes pre-built stubs and models as well as a client API:

<dependency>
  <groupId>org.vitrivr</groupId>
  <artifactId>cottontaildb-proto</artifactId>
  <version>0.15.0</version>
</dependency>

More information as to how to connect to and use Cottontail DB can be found in the Wiki and the example repository.

CLI / ๐Ÿฅ•-LI

Cottontail DB comes with a CLI application called ๐Ÿฅ•-LI. The CLI is bundled with the distribution but can also be built separately using the cottontaildb-cli:shadowJar gradle task.

Compatibility with vitrivr

Please refer to the compatibility matrix to check for compatibility with other vitrivr components.

Citation

We kindly ask you to refer to the following paper in publications mentioning or employing Cottontail DB:

Ralph Gasser, Luca Rossetto, Silvan Heller, Heiko Schuldt. Cottontail DB: An Open Source Database System for Multimedia Retrieval and Analysis. In Proceedings of 28th ACM International Conference on Multimedia (ACM MM 2020), Seattle, USA, 2020

Link: https://doi.org/10.1145/3394171.3414538

Bibtex:

@inproceedings{10.1145/3394171.3414538,
    author = {Gasser, Ralph and Rossetto, Luca and Heller, Silvan and Schuldt, Heiko},
    title = {Cottontail DB: An Open Source Database System for Multimedia Retrieval and Analysis},
    year = {2020},
    isbn = {9781450379885},
    publisher = {Association for Computing Machinery},
    address = {New York, NY, USA},
    doi = {10.1145/3394171.3414538},
    booktitle = {Proceedings of the 28th ACM International Conference on Multimedia},
    pages = {4465โ€“4468},
    numpages = {4},
    keywords = {open source, multimedia retrieval, database, multimedia indexing, data management system},
    location = {Seattle, WA, USA},
    series = {MM '20}
}

Credits

Cottontail DB is based on the ideas presented in the following papers:

cottontaildb's People

Contributors

ppanopticon avatar silvanheller avatar sauterl avatar schoenja avatar lucaro avatar gabuzi avatar spiess avatar frankier avatar ludlows avatar orpham avatar x4e-jonas avatar

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.