MyScaleDB 项目介绍
什么是 MyScaleDB?
MyScaleDB 是一种 SQL 向量数据库,旨在帮助开发人员使用熟悉的 SQL 构建随时可用于生产的、可扩展的 AI 应用程序。它是基于 ClickHouse 构建的,特别为 AI 应用和解决方案进行了优化,可以高效地管理和处理海量数据。
使用 MyScaleDB 的关键优势包括:
-
完全 SQL 兼容
- 提供快速、强大而有效的向量搜索、过滤检索和 SQL 向量连接查询能力。
- 使用与向量相关的 SQL 函数与 MyScaleDB 进行交互,无需学习复杂的新工具或框架。
-
为 AI 应用准备好了生产环境
- 提供一个统一且经过时间验证的平台来管理和处理结构化数据、文本、向量、JSON、地理空间、时间序列数据等。
- 通过结合丰富的元数据提升 RAG(检索增强生成)的精确度,进行高效、高精度的过滤搜索。
-
无与伦比的性能和扩展性
- 利用先进的 OLAP 数据库架构和先进的向量算法,提供闪电般快速的向量操作。
- 随着数据增长,轻松且成本效益地扩展应用程序。
为什么选择 MyScaleDB?
- 完全 SQL 兼容
- 统一的结构化和向量数据管理
- 毫秒级对亿级向量的搜索
- 高可靠性和线性扩展性
- 强大的文本搜索和文本/向量混合搜索功能
- 复杂的 SQL 向量查询
- 使用 MyScale Telemetry 进行 LLM 可观测性
MyScale 结合了 SQL 数据库/数据仓库、向量数据库以及全文检索引擎,节省了基础设施和维护成本,并支持联合进行数据查询和分析。
为什么在 ClickHouse 之上构建 MyScaleDB?
ClickHouse 是一个开源分析数据库,非常擅长大数据处理和分析,具有列存储、先进压缩、跳跃索引和 SIMD 处理的特点。基于其处理大数据的优势,MyScaleDB 在此基础上进行了修改,以便提供快速且成本效益高的 SQL 向量查询。而相关的许多功能贡献回了 ClickHouse 的开源社区。
快速开始
使用 MyScale 云服务
最快捷的方法是通过 MyScale 云服务创建一个 MyScaleDB 实例,可以从一个支持 5M 768D 向量的免费 POD 开始。
自托管 MyScaleDB
使用 MyScaleDB 的 Docker 镜像快速启动实例,或者使用 Docker Compose 或从源码构建 MyScaleDB。
教程
要了解如何创建带有向量索引的 SQL 表和执行向量搜索,请参阅向量搜索文档。
以下是创建具有向量列的表的示例:
CREATE TABLE default.wiki_abstract
(
`id` UInt64,
`body` String,
`title` String,
`url` String,
`body_vector` Array(Float32),
CONSTRAINT check_length CHECK length(body_vector) = 384
)
ENGINE = MergeTree
ORDER BY id;
社区与更新
加入 MyScaleDB 的旅程,参与到 AI 数据管理革命中:
-
获取支持 Support
-
获取最新的 MyScaleDB 新闻或更新
- 关注 @MyScaleDB 的 Twitter
- 关注 @MyScale 的 LinkedIn
- 阅读 MyScale Blog
发展路线图
- 倒排索引和高效的关键词/向量混合搜索
- 支持更多存储引擎
- 使用 MyScaleDB 和 MyScale Telemetry 进行 LLM 可观测性
- 数据驱动的 LLM
- 自动化数据科学
MyScaleDB 采用 Apache License, Version 2.0 许可。查看许可证文件以了解更多信息。
致谢
MyScaleDB 的开发特别感谢以下开源项目:
- ClickHouse - 大数据的免费分析 DBMS。
- Faiss - 由 Meta 的基础 AI 研究团队开发的高效相似性搜索和密集向量聚类库。
- hnswlib - 用于快速近似最近邻搜索的 C++/Python 库。
- ScaNN - 由 Google Research 开发的可扩展最近邻搜索库。
- Tantivy - 一个用 Rust 编写的全文搜索引擎库。