# dingo

> A multi-modal vector database that supports upserts and vector queries using unified SQL (MySQL-Compatible) on structured and unstructured data, while meeting the requirements of high concurrency and 

- **URL**: https://www.freshcrate.ai/projects/dingo
- **Author**: dingodb
- **Category**: Databases
- **Latest version**: `v0.9.0` (2024-06-14)
- **License**: Apache-2.0
- **Source**: https://github.com/dingodb/dingo
- **Homepage**: https://www.dingodb.com
- **Language**: Java
- **GitHub**: 1,700 stars, 265 forks
- **Registry**: github
- **Tags**: `embedding-search`, `embedding-store`, `hybrid-search`, `java`, `key-value-distributed-store`, `mysql-compatibility`, `real-time-semantic-search`, `serving`, `structured-data`

## Description

A multi-modal vector database that supports upserts and vector queries using unified SQL (MySQL-Compatible) on structured and unstructured data, while meeting the requirements of high concurrency and ultra-low latency.

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `v0.9.0` | 2024-06-14 | Low | # Release Notes v0.9.0  ## 1. New Features ### 1）License Management Mechanism Introduced a License management feature to protect DingoDB's intellectual property. With the License activation and management tools, users can easily manage and monitor software usage, ensuring legal and compliant use. ### 2）Single Machine Lite Version of DingoDB Implemented a Single Machine Lite version of DingoDB, lowering the usage threshold for users. This version can run on a single machine without complex |
| `v0.8.0` | 2024-03-20 | Low | # Release Notes v0.8.0  ## Major New Features ### 1. Distributed Transaction The addition of distributed transaction capabilities meets the core ACID features of the database, ensuring the integrity and reliability of the database, and expands the range of applications. * Transaction-related interfaces are added to the Store layer/Index layer/Executor layer. * Provides the ability for garbage collection of distributed transaction data, cleaning up completed and no longer needed transaction |
| `v0.7.0` | 2023-10-15 | Low | # Release Notes v0.7.0  ## 1.Store Storage Layer ### 1.1 Distributed Storage   * Provide the ability to manage IndexRegions, supporting dynamic creation and deletion of IndexRegions.   *  Add functionality for Raft Snapshot creation and installation for IndexRegions, which helps generate and load snapshot data for IndexRegions, enhancing system reliability and recovery capabilities.    * Introduce the Build, Rebuild, and Load functions for VectorIndex to enable efficient creation, reconstr |
| `v0.6.0` | 2023-06-18 | Low | # Release Notes v0.6.0  ## 1 架构层  ### 1.1 存储计算分离      1. 计算引擎（Executor）:接收基于MySQL协议和DingoDB自有协议的SQL，进行SQL解析、逻辑计划和执行计划生成，对接低层Store存储。     2. 分布式存储引擎（Store）：基于C++的高效分布式存储。整个存储层分为元数据存储和数据存储；存储层设计采用灵活扩展的方式，进行多种存储引擎的扩展，如Rocksdb, memory, xdp-rocks等。     3. 支持计算下推操作：为了高效的提升聚合、过滤操作带来的价值，提升计算的效率，存储层支持计算下推的逻辑实现；支持filter，count，sum, min, max等操作。  ### 1.2 Raft升级      1. 提供Leader选举机制，支持多节点选举；     2. 提供日志复制，保证了系统的可靠性，有效防止数据丢失。     3. 提供高性能的Raft，采用多线程和异步IO，提高了系统的吞吐量和响应速度。     4. 提供Snapshot机制，用于恢复 |
| `v0.5.0` | 2023-02-10 | Low | ##  Release Note - V0.5.0  #### 一、SQL相关特性  1. 支持like关键字的模糊查询 2. 支持用户认证：用户的增删改查 3. 支持用户权限赋予 3. 支持集群认证 4. 支持SQL批量插入 5. 优化Calcite函数校验机制 6. 错误码信息重构  #### 二、元数据管理  1. 将集群表粒度管理拆分到executor 2. 废弃原有Dingo-jraft模块 3. Coordinator中将原有Dingo-jraft迁移至Dingo-mpu 4. 支持基于SQL的元数据表查询  #### 三、索引相关  1. 支持索引的增删改查，提升查询性能 2. 支持多种多索引类型：非主键索引和联合索引  #### 四、SDK相关特性  1. 支持基于链式表达式的计算，实现多种范围查找后的聚合计算、更新等 2. 支持非主键列扫描、过滤计算 3. 指标计算特性列表：  \| 序号 \| 函数                 \| 说明 |
| `v0.4.1` | 2022-10-12 | Low | ## 1. Feature and Optimization about SQL  ### 1.1 Features about SQL  #### 1.1.1 Extended SQL Syntax  - Support TTL when create table using options - Support to assign partitions when create table  #### 1.1.2 Features about Complex Data Type  - Support Operations about MAP - Support Operations about MultiSet - Support Operations about Array  #### 1.1.3 Support to use variables in SQL statement, such as insert, select, delete.  #### 1.1.4 Support stratagy to control messages tran |
| `v0.3.0` | 2022-07-02 | Low | ## 1.Semantics and Function of SQL   ### 1.1 New data type - Boolean - Date: default format yyyy-MM-dd - Time: default format HH:mm:ss - Timestamp: default format yyyy-MM-dd HH:mm:ss.SSS  ### 1.2 Allow assigning a default value to column, either constant or internal functions  ### 1.3 Support Join operation  - Inner Join - Left Join - Right Join - Full Join - Cross Join  ### 1.4 Function list about String  \| No \|  Function Names \|                                        Notes a |
| `v0.1.0` | 2022-07-01 | Low | # DingoDB 0.1.0 Release Notes  * Cluster     1. Distributed computing. Cluster nodes are classified into coordinator role and executor role.     1. Distributed meta data storage. Support creating and dropping meta data of tables.     1. Coordinators support SQL parsing and optimizing, job creating and distributing, result collecting.     1. Executors support task executing. * Data store     1. Using RocksDB storage.     1. Encoding and decoding in Apache Avro format.     1. Table parti |
| `v0.2.0` | 2022-07-01 | Low | * Architecture     1. Refactor DingoDB architecture abandon Zookeeper, Kafka and Helix.     1. Using raft as the consensus protocol to make agreement across multiple nodes on membership selection and data replication.     1. Region is proposed as the unit of data replication, it can be scheduled, split, managed by `coordinator`.     1. The distributed file system is replaced by distributed key-value implemented by raft and rocksdb.  * Distributed Storage     1. Support region to replica |

## Citation

- HTML: https://www.freshcrate.ai/projects/dingo
- Markdown: https://www.freshcrate.ai/projects/dingo.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/dingo/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
