{"id":13720081,"url":"https://github.com/vitrivr/cottontaildb","last_synced_at":"2025-06-11T12:35:57.308Z","repository":{"id":37935570,"uuid":"160775368","full_name":"vitrivr/cottontaildb","owner":"vitrivr","description":"Cottontail DB is a column store vector database 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.","archived":false,"fork":false,"pushed_at":"2024-12-20T17:41:42.000Z","size":15035,"stargazers_count":40,"open_issues_count":24,"forks_count":20,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-07T13:51:40.121Z","etag":null,"topics":["cottontail-db","cottontaildb","database","embedding-similarity","knearest-neighbours-lookup","multimedia","multimedia-retrieval","retrieval","similarity-search","vector-database","vector-search-engine","vector-space-retrieval"],"latest_commit_sha":null,"homepage":"https://www.vitrivr.org/vitrivr.html","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vitrivr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-07T05:29:25.000Z","updated_at":"2024-12-28T01:42:49.000Z","dependencies_parsed_at":"2023-12-19T21:46:28.807Z","dependency_job_id":"f0d48755-cfbf-44c9-936c-5bef6e35ea40","html_url":"https://github.com/vitrivr/cottontaildb","commit_stats":null,"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitrivr%2Fcottontaildb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitrivr%2Fcottontaildb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitrivr%2Fcottontaildb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitrivr%2Fcottontaildb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vitrivr","download_url":"https://codeload.github.com/vitrivr/cottontaildb/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitrivr%2Fcottontaildb/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259265343,"owners_count":22831140,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cottontail-db","cottontaildb","database","embedding-similarity","knearest-neighbours-lookup","multimedia","multimedia-retrieval","retrieval","similarity-search","vector-database","vector-search-engine","vector-space-retrieval"],"created_at":"2024-08-03T01:00:59.588Z","updated_at":"2025-06-11T12:35:57.204Z","avatar_url":"https://github.com/vitrivr.png","language":"Kotlin","funding_links":[],"categories":["Vector Database Engines","Open Source Databases","数据库"],"sub_categories":[],"readme":"# Cottontail DB\n\n![Cottontail CI](https://github.com/ppanopticon/cottontaildb/workflows/Cottontail%20CI/badge.svg?branch=master)\n[![Maven Central](https://img.shields.io/maven-central/v/org.vitrivr/cottontaildb.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.vitrivr%22%20AND%20a:%22cottontaildb%22)\n\nCottontail 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\nCottontail DB, please have a look at the [Wiki](https://github.com/vitrivr/cottontaildb/wiki/).\n\n## Setup\nCottontail DB requires Java 11 or newer (Open JDK or Oracle JDK should both work). Please clone this repository using:\n\n``git clone https://github.com/vitrivr/cottontaildb.git``\n\nThe entire project is a Gradle project and comes with a Gradle Wrapper so things should work pretty much out of the box.\n\n### Building and starting Cottontail DB\n\nA 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\nstored relatively to the project root in `build/distributions` as either TAR or ZIP file.\n\nAll the details as to how Cottontail DB can be setup and started can be found in the [Wiki](https://github.com/vitrivr/cottontaildb/wiki/Setup).\n\n### Using Cottontail DB Docker Image\n\nCottontail DB is available as Docker Image from [DockerHub](https://hub.docker.com/r/vitrivr/cottontaildb). Please have a look at the repository instructions and/or the [Wiki](https://github.com/vitrivr/cottontaildb/wiki/Setup) for more information.\n\n### Connecting to Cottontail DB\n\nCommunication with Cottontail DB is facilitated by [gRPC](https://grpc.io/). 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\npreference based on the programming environment you use. You can find the latest gRPC definitions [here](https://github.com/vitrivr/cottontaildb-proto).\n\nFor Kotlin and Java, there is also a Maven dependency, which includes pre-built stubs and models as well as a client API:\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003eorg.vitrivr\u003c/groupId\u003e\n  \u003cartifactId\u003ecottontaildb-client\u003c/artifactId\u003e\n  \u003cversion\u003e0.16.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nMore information as to how to connect to and use Cottontail DB can be found in the [Wiki](https://github.com/vitrivr/cottontaildb/wiki/Connecting-to-Cottontail-DB) and the [example repository](https://github.com/vitrivr/cottontaildb-examples).\n\n### CLI / 🥕-LI\nCottontail 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:distTar` or `cottontaildb-cli:distZip` gradle task.\n\n### Compatibility with vitrivr\n\nPlease refer to the [compatibility matrix](https://github.com/vitrivr/cottontaildb/wiki/Compatibility-Matrix) to check for compatibility with other *vitrivr* components.\n\n## Citation\nWe kindly ask you to refer to the following paper in publications mentioning or employing Cottontail DB:\n\nRalph 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\n\n**Link:** https://doi.org/10.1145/3394171.3414538\n\n**Bibtex:**\n\n```\n@inproceedings{10.1145/3394171.3414538,\n    author = {Gasser, Ralph and Rossetto, Luca and Heller, Silvan and Schuldt, Heiko},\n    title = {Cottontail DB: An Open Source Database System for Multimedia Retrieval and Analysis},\n    year = {2020},\n    isbn = {9781450379885},\n    publisher = {Association for Computing Machinery},\n    address = {New York, NY, USA},\n    doi = {10.1145/3394171.3414538},\n    booktitle = {Proceedings of the 28th ACM International Conference on Multimedia},\n    pages = {4465–4468},\n    numpages = {4},\n    keywords = {open source, multimedia retrieval, database, multimedia indexing, data management system},\n    location = {Seattle, WA, USA},\n    series = {MM '20}\n}\n```\n\n## Credits\nCottontail DB is based on the ideas presented in the following papers:\n\n- Ivan Giangreco and Heiko Schuldt (2016): ADAMpro: Database Support for Big Multimedia Retrieval. Datenbank-Spektrum.\nhttp://link.springer.com/article/10.1007/s13222-015-0209-y\n- Ivan Giangreco (2018): Database support for large-scale multimedia retrieval. PhD Thesis. https://edoc.unibas.ch/64751/","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitrivr%2Fcottontaildb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvitrivr%2Fcottontaildb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitrivr%2Fcottontaildb/lists"}