DingoDB:引领多模态向量数据库的新时代
项目介绍
DingoDB 是由 DataCanvas 设计和开发的一款开源分布式多模态向量数据库。它集成了在线强一致性、关系语义和向量语义等多种特性,成为一款独特的多模态数据库产品。DingoDB 具备出色的水平扩展和扩展能力,轻松满足企业级的高可用性需求。同时,它支持多种语言接口,并完全兼容 MySQL 协议,为用户提供了高度的灵活性和便利性。无论是在功能、性能还是易用性方面,DingoDB 都展现了全面且卓越的优势,为用户带来了前所未有的数据管理体验。
项目技术分析
DingoDB 的核心技术架构包括以下几个关键组件:
- 统一 SQL 引擎:DingoDB 提供了一个统一的 SQL 引擎,能够解析和计算结构化和非结构化数据,确保数据处理的灵活性和高效性。
- 强一致性分布式存储系统:基于 Raft 协议的 Dingo-Store,确保数据在分布式环境中的强一致性,满足企业级应用的高可靠性要求。
- 自动化部署与管理:Dingo-Deploy 项目简化了计算节点和存储节点的部署过程,降低了运维复杂度。
项目及技术应用场景
DingoDB 适用于多种应用场景,包括但不限于:
- 企业级数据管理:满足企业对数据的高可用性、强一致性和水平扩展的需求。
- 多模态数据处理:支持结构化和非结构化数据的混合检索,适用于需要处理多种数据类型的应用。
- 实时数据分析:内置的实时索引优化功能,确保数据检索的实时性和高效性。
项目特点
DingoDB 的独特之处在于:
- 全面访问接口:支持 SQL、SDK 和 API 等多种访问模式,满足不同开发者的需求。
- 内置数据高可用性:无需部署外部组件,即可实现全功能的高可用配置,降低运维成本。
- 自动弹性数据分片:支持动态配置数据分片大小,自动进行分片和合并,灵活应对业务扩展需求。
- 标量-向量混合检索:支持传统数据库索引和多种向量索引类型,提供无缝的标量和向量混合检索体验。
- 内置实时索引优化:实时构建标量和向量索引,确保数据检索的无延迟体验。
如何开始
文档
所有文档可在 DingoDB 文档 中找到。
安装
了解如何通过 Docker 或 Ansible 进行安装和部署。
使用
学习如何使用 DingoDB 进行数据管理,请参考 使用指南。
开发 DingoDB
我们推荐使用 IntelliJ IDEA 进行 DingoDB 的开发。开发环境需支持 Java 和 Gradle。
如何提交代码
- 在 GitHub 上创建 DingoDB 的个人分支。
- 将分支克隆到本地,远程仓库命名为 origin。
- 添加原始仓库为名为 upstream 的远程仓库。
- 创建新分支进行开发,分支自 develop。
- 遵循 Google 代码风格进行代码编写。
- 提交代码时,使用 git 的交互式 rebase 将提交压缩为一个。
- 从个人分支提交 Pull Request,目标分支为 DingoDB 的 develop 分支。
特别感谢
DingoDB 由 DataCanvas 赞助,并得到了 YourKit Java Profiler 工具的支持。
联系我们
如有任何技术问题或业务需求,请通过以下方式联系我们:
DingoDB 是一个基于 Apache License Version 2.0 的开源项目,欢迎社区的任何反馈和支持。