dingo is a free, open source machine learning infrastructure project written in Java and released under Apache-2.0. It has 1,705 GitHub stars, 263 forks and 8 open issues, and was last pushed 3 days ago. On this registry it ranks #60 of 89 tracked projects in Machine Learning Infrastructure, with 5 head-to-head comparisons available. It gained 3 stars over the last 30 tracked days.

What is dingo?

DingoDB is an Apache-2.0 licensed, Java-based distributed multi-modal vector database from DataCanvas that unifies relational and vector semantics behind a MySQL-compatible SQL interface, built for teams that need hybrid scalar-and-vector queries over structured and unstructured data at high concurrency and ultra-low latency.

What it is

DingoDB is an open-source distributed multi-modal vector database independently designed and developed by DataCanvas. It integrates real-time strong consistency, relational semantics, and vector semantics into one platform, and it treats Table and Vector as first-class citizen data models rather than forcing embeddings into a side channel. Access is offered through SQL, SDK, and API interfaces, with seamless compatibility with the MySQL protocol, and the system is built around horizontal scalability, elastic scaling, and enterprise-grade high availability. The repository lives in the AI and Machine Learning ecosystem under Machine Learning Infrastructure, and its topic list places it across embedding-search, embedding-store, hybrid-search, real-time-semantic-search, vector-database, unified-sql, structured-data, and unstructured-data.

The concrete problem it solves is the split that appears when a relational database holds scalar data while a separate vector index holds embeddings: two systems, two query languages, and a synchronisation path between them. DingoDB replaces that arrangement with scalar-vector hybrid retrieval inside a single engine, supporting both traditional database index types and multiple vector index types, along with fusion of scalars and vectors and distributed transaction processing. Because DingoDB is MySQL-protocol compatible, existing MySQL clients can reach it without adopting a new dialect, and cold-hot tiered retrieval lets disk-based vector search carry massive datasets while memory consumption stays under control.

Key capabilities

  • Unified SQL access over structured and unstructured data, with MySQL protocol compatibility plus SDK and API access modes.
  • Table and Vector as first-class citizen data models in the same system rather than one derived from the other.
  • Scalar-vector hybrid retrieval across traditional database index types and multiple vector index types, including fusion of scalars and vectors with distributed transaction processing.
  • Built-in real-time index optimization: scalar and vector indexes are built in real time, with unconscious background automatic index optimization and no delay during data retrieval.
  • Fully automatic elastic data sharding with dynamically configurable shard size, automatic splitting, and automatic merging.
  • Cold-hot tiered retrieval for massive datasets, using disk-based vector search to minimize memory consumption and dynamic switching between indexes based on data scale.
  • Built-in data high availability that requires no external components to deploy, reducing deployment and operation and maintenance cost.

Who uses it and how

  • Teams running semantic search and embedding storage alongside ordinary relational tables, who want one query surface instead of a database plus a separate vector index.
  • Operations groups that deploy a single node with Docker for evaluation, then move to a multi-node cluster provisioned with Ansible.
  • Enterprises with high-concurrency, low-latency serving requirements that also need strong consistency and distributed transactions rather than eventual consistency alone.
  • Applications with large embedding collections where memory is the binding constraint, using disk-based vector search and tiered index switching.
  • Multi-language application stacks that already speak MySQL, since compatibility with the MySQL protocol lets existing drivers and tooling connect without a bespoke client.

Getting started

Full documentation is published at dingodb.readthedocs.io, and installation is documented for two paths: deploying a single node using Docker, or deploying on a cluster by Ansible. The Dingo-Deploy project handles deployment of compute nodes and storage nodes, while Dingo-Store provides the strongly consistent distributed storage layer based on the Raft protocol.

How it compares

No paid or competing product list is provided in this registry entry, and the facts name no similar alternative to compare against, so DingoDB stands alone in this registry on that axis. The related repositories named in the README, Dingo-Store and Dingo-Deploy, are its own storage and deployment components rather than substitutes for it.

When to use it — and when not to

A self-hoster must operate both compute nodes and storage nodes, with Dingo-Store providing the Raft-based distributed storage underneath, so the operational burden is a real cluster rather than an embedded library. Teams wanting a managed hosted service, a single-binary embedded vector index, or a stack that avoids Java will likely look elsewhere, since the codebase is Java and the documented paths are Docker or Ansible deployment. The README is a short feature-oriented document that points to external documentation for installation and usage detail, and it states no numbered release, so anyone evaluating it should read the readthedocs site rather than rely on the repository landing page alone.

project readme (upstream, from github) — read inline

DingoDB

DingoDB is an open-source distributed multi-modal vector database independently designed and developed by DataCanvas, which integrates real-time strong consistency, relational semantics, and vector semantics into a unified platform, DingoDB positioning itself as a distinctive multi-modal database solution. With exceptional horizontal scalability and elastic scaling capabilities, it effortlessly meets enterprise-grade high availability requirements. Furthermore, DingoDB offers extensive multi-language interfaces and seamless compatibility with the MySQL protocol, delivering unparalleled flexibility and convenience for users. Demonstrating comprehensive excellence in functionality, performance, and user-friendliness, DingoDB stands out as a robust solution for modern data-driven applications.

Key Features

1. Comprehensive access interface

DingoDB provides comprehensive access interfaces, supporting various flexible access modes such as SQL, SDK, and API to meet the needs of different developers. Additionally, it introduces Table and Vector as first-class citizen data models, providing users with efficient and powerful data processing capabilities.

2.Built-in data high availability

DingoDB provides fully functional and highly available built-in configurations without the need to deploy any external components, which can significantly reduce users' deployment and operation and maintenance costs and significantly improve the efficiency of system operation and maintenance.

3.Fully automatic elastic data sharding

DingoDB supports dynamic configuration of data shard size, automatic splitting and merging, realizing efficient and friendly resource allocation strategies, and easily responding to various business expansion needs.

4.Scalar-vector hybrid retrieval

DingoDB supports both traditional database index types and various vector index types, providing a seamless scalar and vector hybrid retrieval experience, reflecting industry-leading retrieval capabilities. In addition, it also supports fusion of scalars and vectors. Distributed transaction processing.

5.Built-in real-time index optimization

DingoDB can build scalar and vector indexes in real time, providing users with unconscious background automatic index optimization. At the same time, it ensures no delays during data retrieval.

6.Cold-Hot Tiered Retrieval for Massive Datasets DingoDB provides disk-based vector search capabilities to minimize memory consumption, and supports dynamic switching between different indexes based on data scale requirements.

Get Start

Docs

All Documentation Docs

Install

How to install and deploy Docker or Ansible

Usage

How to use DingoDB Usage

Developing DingoDB

VS Code

We recommend VS Code to develop the DingoDB codebase.

Java Profiler tools: YourKit

We recommend YourKit Java Profiler for any preformance critical application you make.

Check it out at https://www.yourkit.com/

Projects about DingoDB

The main projects about DingoDB are as follows:

  • Dingo-Store: A strongly consistent distributed storage system based on the Raft protocol.
  • Dingo-Deploy: The deployment project of compute nodes and storage nodes.

How to make a clean pull request

  • Create a personal fork of dingo on GitHub.
  • Clone the fork on your local machine. Your remote repo on GitHub is called origin.
  • Add the original repository as a remote called upstream.
  • If you created your fork a while ago be sure to pull upstream changes into your local repository.
  • Create a new branch to work on. Branch from develop.
  • Implement/fix your feature, comment your code.
  • Follow the code style of Google code style, including indentation.
  • If the project has tests run them!
  • Add unit tests that test your new code.
  • In general, avoid changing existing tests, as they also make sure the existing public API is unchanged.
  • Add or change the documentation as needed.
  • Squash your commits into a single commit with git's interactive rebase.
  • Push your branch to your fork on GitHub, the remote origin.
  • From your fork open a pull request in the correct branch. Target the Dingo's develop branch.
  • Once the pull request is approved and merged you can pull the changes from upstream to your local repo and delete your branch.
  • Last but not least: Always write your commit messages in the present tense. Your commit message should describe what the commit, when applied, does to the code – not what you did to the code.

Special Thanks

DataCanvas

DingoDB is Sponsored by DataCanvas, a new platform to do data science and data process in real-time.

DingoDB is an open-source project licensed under the Apache License Version 2.0, welcome any feedback from the community. For any support or suggestion, please contact us.

Contact us

If you have any technical questions or business needs, please contact us.

Attach the Wetchat QR Code

Frequently asked questions

Is dingo free to use?

dingo is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does dingo do?

A multi-modal vector database that supports upserts and vector queries using unified SQL (MySQL-Compatible) on structured and unstructured data, while meeting t

What is dingo written in?

dingo is primarily written in Java. Its source is publicly available at https://github.com/dingodb/dingo, and it has 1,705 GitHub stars.