MyScaleDB
什么是MyScaleDB?
MyScaleDB是一款SQL向量数据库,帮助开发者使用熟悉的SQL构建生产就绪且可扩展的AI应用。它基于ClickHouse构建,并为AI应用和解决方案进行了优化,使开发者能够有效管理和处理海量数据。
使用MyScaleDB的主要优势包括:
- 完全兼容SQL
- 快速、强大且高效的向量搜索、过滤搜索和SQL-向量连接查询。
- 使用带有向量相关函数的SQL与MyScaleDB进行交互。无需学习复杂的新工具或框架——继续使用你熟悉和喜爱的SQL即可。
- 为AI应用生产就绪
- 统一且久经考验的平台,管理和处理结构化数据、文本、向量、JSON、地理空间、时间序列数据等。详见支持的数据类型和函数
- 通过结合丰富的元数据、全文搜索和高精度、高效率的过滤搜索,提高RAG(生成式问答)的准确性1。
- 无与伦比的性能和可扩展性
- MyScaleDB利用尖端的OLAP数据库架构和先进的向量算法,实现闪电般的向量操作速度。
- 随着数据增长,无缝且具成本效益地扩展你的应用。
MyScale Cloud提供了具有高级功能的全托管MyScaleDB服务,能够处理数十亿规模的数据2。相比使用自定义API的专用向量数据库,MyScale更强大、更高效且更具成本效益,同时使用起来也更加简单,适合广大的编程社区。此外,与集成了向量数据库的系统(如PostgreSQL与pgvector或ElasticSearch与向量扩展)相比,MyScale消耗更少的资源,并且在处理结构化与向量联合查询(如过滤搜索)时,实现了更高的准确性和速度。
为什么选择MyScaleDB
- 完全兼容SQL
- 统一的结构化和向量化数据管理
- 毫秒级别的数十亿规模向量搜索
- 高度可靠且线性可扩展
- 强大的文本搜索和文本/向量混合搜索功能
- 复杂的SQL向量查询
- 通过MyScale Telemetry实现LLM可观测性
MyScale将三大系统:SQL数据库/数据仓库、向量数据库以及全文搜索引擎,统一到一个高效的系统中。这不仅节省了基础设施和维护成本,还使数据联合查询和分析成为可能。
请参阅我们的文档和博客,了解更多关于MyScale独特的功能和优势。我们的开源基准测试提供了与其他向量数据库产品的详细比较。
为什么基于ClickHouse构建MyScaleDB?
ClickHouse是一款流行的开源分析数据库,因其列式存储、先进的压缩、跳跃索引和SIMD处理等功能,在大数据处理和分析方面表现卓越。与主要优化事务处理的行存储事务数据库(如PostgreSQL和MySQL)不同,ClickHouse在分析和数据扫描速度方面显著更快。
在组合结构化和向量搜索的操作中,过滤搜索是关键步骤,这涉及到首先按其他属性进行过滤,然后在剩余数据上执行向量搜索。列式存储和预过滤对于确保过滤搜索的高精度和高性能至关重要,这也是我们选择在ClickHouse之上构建MyScaleDB的原因。
尽管我们在多个方面对ClickHouse的执行和存储引擎进行了修改,以确保快速且具成本效益的SQL向量查询,但许多与通用SQL处理相关的功能(#37893,#38048,#37859,#56728,#58223)已经回馈到ClickHouse的开源社区。
快速开始
MyScale Cloud
使用MyScaleDB最简单的方法是在MyScale Cloud服务上创建一个实例。你可以从支持500万768D向量的免费实例开始。点击这里注册,查看MyScaleDB快速开始获取更多指示。
自托管
使用MyScaleDB Docker镜像
要快速启动一个MyScaleDB实例,只需拉取并运行最新的Docker镜像:
docker run --name myscaledb --net=host myscale/myscaledb:1.6.4
注意:MyScale的默认配置仅允许本地主机IP访问。对于使用docker run启动的方法,你需要指定
--net=host
以访问在当前节点上以Docker模式部署的服务。
这将启动一个带有默认用户default
且无密码的MyScaleDB实例。然后你可以使用clickhouse-client
-- 执行向量搜索,返回前五个结果
SELECT
id,
title,
distance(body_vector, [-0.052, -0.0146, -0.0677, -0.0256, -0.0395, -0.0381, -0.025, 0.0911, -0.0429, -0.0592, 0.0017, -0.0358, -0.0464, -0.0189, -0.0192, 0.0544, -0.0022, -0.0292, -0.0474, -0.0286, 0.0746, -0.013, -0.0217, -0.0246, -0.0169, 0.0495, -0.0947, 0.0139, 0.0445, -0.0262, -0.0049, 0.0506, 0.004, 0.0276, 0.0063, -0.0643, 0.0059, -0.0229, -0.0315, 0.0549, 0.1427, 0.0079, 0.011, -0.0036, -0.0617, 0.0155, -0.0607, 0.0258, -0.0205, 0.0008, -0.0547, 0.0329, -0.0522, -0.0347, 0.0921, 0.0139, -0.013, 0.0716, -0.0165, 0.0257, -0.0071, 0.0084, -0.0653, 0.0091, 0.0544, -0.0192, -0.0169, -0.0017, -0.0304, 0.0427, -0.0389, 0.0921, -0.0622, -0.0196, 0.0025, 0.0214, 0.0259, -0.0493, -0.0211, -0.119, -0.0736, -0.1545, -0.0578, -0.0145, 0.0138, 0.0478, -0.0451, -0.0332, 0.0799, 0.0001, -0.0737, 0.0427, 0.0517, 0.0102, 0.0386, 0.0233, 0.0425, -0.0279, -0.0529, 0.0744, -0.0305, -0.026, 0.1229, -0.002, 0.0038, -0.0491, 0.0352, 0.0027, -0.056, -0.1044, 0.123, -0.0184, 0.1148, -0.0189, 0.0412, -0.0347, -0.0569, -0.0119, 0.0098, -0.0016, 0.0451, 0.0273, 0.0436, 0.0082, 0.0166, -0.0989, 0.0747, -0.0, 0.0306, -0.0717, -0.007, 0.0665, 0.0452, 0.0123, -0.0238, 0.0512, -0.0116, 0.0517, 0.0288, -0.0013, 0.0176, 0.0762, 0.1284, -0.031, 0.0891, -0.0286, 0.0132, 0.003, 0.0433, 0.0102, -0.0209, -0.0459, -0.0312, -0.0387, 0.0201, -0.027, 0.0243, 0.0713, 0.0359, -0.0674, -0.0747, -0.0147, 0.0489, -0.0092, -0.018, 0.0236, 0.0372, -0.0071, -0.0513, -0.0396, -0.0316, -0.0297, -0.0385, -0.062, 0.0465, 0.0539, -0.033, 0.0643, 0.061, 0.0062, 0.0245, 0.0868, 0.0523, -0.0253, 0.0157, 0.0266, 0.0124, 0.1382, -0.0107, 0.0835, -0.1057, -0.0188, -0.0786, 0.057, 0.0707, -0.0185, 0.0708, 0.0189, -0.0374, -0.0484, 0.0089, 0.0247, 0.0255, -0.0118, 0.0739, 0.0114, -0.0448, -0.016, -0.0836, 0.0107, 0.0067, -0.0535, -0.0186, -0.0042, 0.0582, -0.0731, -0.0593, 0.0299, 0.0004, -0.0299, 0.0128, -0.0549, 0.0493, 0.0, -0.0419, 0.0549, -0.0315, 0.1012, 0.0459, -0.0628, 0.0417, -0.0153, 0.0471, -0.0301, -0.0615, 0.0137, -0.0219, 0.0735, 0.083, 0.0114, -0.0326, -0.0272, 0.0642, -0.0203, 0.0557, -0.0579, 0.0883, 0.0719, 0.0007, 0.0598, -0.0431, -0.0189, -0.0593, -0.0334, 0.02, -0.0371, -0.0441, 0.0407, -0.0805, 0.0058, 0.1039, 0.0534, 0.0495, -0.0325, 0.0782, -0.0403, 0.0108, -0.0068, -0.0525, 0.0801, 0.0256, -0.0183, -0.0619, -0.0063, -0.0605, 0.0377, -0.0281, -0.0097, -0.0029, -0.106, 0.0465, -0.0033, -0.0308, 0.0357, 0.0156, -0.0406, -0.0308, 0.0013, 0.0458, 0.0231, 0.0207, -0.0828, -0.0573, 0.0298, -0.0381, 0.0935, -0.0498, -0.0979, -0.1452, 0.0835, -0.0973, -0.0172, 0.0003, 0.09, -0.0931, -0.0252, 0.008, -0.0441, -0.0938, -0.0021, 0.0885, 0.0088, 0.0034, -0.0049, 0.0217, 0.0584, -0.012, 0.059, 0.0146, -0.0, -0.0045, 0.0663, 0.0017, 0.0015, 0.0569, -0.0089, -0.0232, 0.0065, 0.0204, -0.0253, 0.1119, -0.036, 0.0125, 0.0531, 0.0584, -0.0101, -0.0593, -0.0577, -0.0656, -0.0396, 0.0525, -0.
Footnotes
-
MSTG(多尺度树图)算法通过MyScale Cloud提供,在磁盘存储中实现高数据密度,并在数十亿规模的向量数据上提供更好的索引和搜索性能。 ↩