DingoDB
DingoDB 是一个由 DataCanvas 设计和开发的开源分布式多模态向量数据库。它集成了在线强一致性、关系语义和向量语义等多种特性,使其成为独特的多模态数据库产品。此外,DingoDB 具有优异的横向可扩展性和扩展能力,轻松满足企业级高可用性要求。同时,它支持多种语言接口,并完全兼容 MySQL 协议,为用户提供高灵活性和便利性。DingoDB 在功能、性能和易用性方面表现出全面且突出的优势,为用户带来了前所未有的数据管理体验。
关键特性
1. 全面的访问接口
DingoDB 提供全面的访问接口,支持 SQL、SDK 和 API 等多种灵活的访问模式,以满足不同开发者的需求。此外,它引入了表和向量作为一等公民的数据模型,为用户提供高效且强大的数据处理能力。
2. 内置数据高可用性
DingoDB 提供全功能且高可用的内置配置,不需要部署任何外部组件,可以显着减少用户的部署和运维成本,大大提高系统运维效率。
3. 全自动弹性数据分片
DingoDB 支持动态配置数据分片大小,自动拆分和合并,实现高效且友好的资源分配策略,轻松应对各种业务扩展需求。
4. 标量-向量混合检索
DingoDB 支持传统数据库索引类型和各种向量索引类型,提供无缝的标量和向量混合检索体验,体现出行业领先的检索能力。此外,它还支持标量和向量的融合以及分布式事务处理。
5. 内置实时索引优化
DingoDB 可以实时构建标量和向量索引,为用户提供无感知的后台自动索引优化。同时,确保数据检索时无延迟。
DingoDB 相关项目
欢迎访问 DingoDB。DingoDB 的文档位于网站:https://dingodb.readthedocs.io。 DingoDB 的主要项目如下:
- DingoDB: 一个用于解析和计算结构化和非结构化数据的统一 SQL 引擎。
- Dingo-Store: 一个基于 Raft 协议的强一致性分布式存储系统。
- Dingo-Deploy: 计算节点和存储节点的部署项目。
快速开始
文档
所有文档 Docs
安装
使用方法
如何使用 DingoDB Usage
开发 DingoDB
我们推荐使用 IntelliJ IDEA 进行 DingoDB 代码库的开发。IDE 的最低要求:
- 支持 Java
- 支持 Gradle
如何创建干净的拉取请求
- 在 GitHub 上创建一个 Dingo 的个人分叉。
- 在本地机器上克隆分叉。在 GitHub 上的远程库称为 origin。
- 添加原始仓库作为名为 upstream 的远程仓库。
- 如果你的分叉创建有些时日,请确保将 upstream 的更改拉取到本地库。
- 创建一个新分支进行工作。从 develop 分支进行分支。
- 实现/修复你的特性,并注释你的代码。
- 遵循 Google 代码风格,包括缩进。
- 如果项目有测试,请运行它们!
- 添加测试你的新代码的单元测试。
- 通常情况下,避免更改现有测试,因为它们也确保现有的公共 API 不变。
- 根据需要添加或更改文档。
- 使用 git 的交互式 rebase 将你的提交压缩成一个提交。
- 将你的分支推送到 GitHub 上的分叉,即远程 origin。
- 从你的分叉中在正确的分支上打开一个拉取请求。目标是 Dingo 的 develop 分支。
- 一旦拉取请求被批准并合并,你可以从 upstream 拉取更改到本地仓库并删除你的分支。
- 最后但同样重要的是:始终以现在时态编写你的提交消息。你的提交消息应该描述提交应用于代码时所做的事情,而不是你对代码所做的事情。
IntelliJ IDEA
IntelliJ IDE 原生支持 Java 和 Gradle。下载地址:IntelliJ IDEA 网站。
特别鸣谢
DataCanvas
DingoDB 由 DataCanvas 赞助,这是一个用于实时进行数据科学和数据处理的新平台。
Java Profiler 工具:YourKit
我强烈推荐 YourKit Java Profiler 用于任何性能关键的应用程序。
请访问 https://www.yourkit.com/ 了解更多信息。
DingoDB 是一个开源项目,遵循 Apache License Version 2.0 许可证,欢迎社区提供任何反馈。 如需任何支持或建议,请联系我们。
联系我们
如果你有任何技术问题或业务需求,请联系我们。
附上微信二维码
附上公众号二维码