Sign In
Free Sign Up
  • English
  • Español
  • 简体中文
  • Deutsch
  • 日本語
Sign In
Free Sign Up
  • English
  • Español
  • 简体中文
  • Deutsch
  • 日本語

如何基于 AWS 打造高性能的 SQL 向量数据库 MyScale

MyScale 是一款高性能的、支持 SQL 的向量数据库,完全托管在 AWS 上。MyScale 的优势在于它对标准 SQL 语法的全面支持和 与专业向量数据库相匹配甚至超越的性能水平

本文的目的是探讨 MyScale 如何利用 AWS 的基础设施堆栈来构建一个健壮、稳定且高效的云数据库。

# 向量数据库和嵌入

但首先,让我们先描述一下向量数据库、向量嵌入,以及专业向量数据库是如何存储向量嵌入或对象的数学表示(如文档),捕获它们的语义关系和上下文信息的。

# 向量数据库

向量数据库可以大致分为两类:

  • 专门设计用于存储向量的专业向量数据库,如 Pinecone、Weaviate 和 Qdrant
  • 通用的 SQL 或 NoSQL 数据库产品,流行的 SQL 数据库如 PostgreSQL 通过像 pgvector 这样的插件支持向量索引和搜索

注意:

近期,多个开源数据库,如 ClickHouse、Redis、Elasticsearch 和 Cassandra,已经新增了对向量索引的原生支持。

尽管专业向量数据库通常被认为提供更好的搜索性能,但支持向量搜索的通用数据库则提供更全面的数据管理和结构化数据查询能力。MyScale 基于开源 OLAP 数据库 ClickHouse,然而,它将向量搜索和结构化数据查询能力融为一体。

MyScale 团队开发了一种先进的向量索引算法,称为多尺度树图 (MSTG)。这种算法允许快速的搜索性能、高数据密度以及快速的插入速度。结合 ClickHouse 提供的列式存储和快速的结构化数据分析,MyScale 与专业向量数据库相比提供了显著更高的性价比。这些优势在下图中有明显的展示。

每月每 100 QPS 成本,基于 500 万数据

来源: 使用 MyScale 超越专业向量数据库

# 向量嵌入

向量嵌入无处不在,是许多机器学习和深度学习算法的支柱,在从搜索引擎到智能助手的众多领域都有应用。机器学习和深度学习技术通常将文本、图像、音频和视频等非结构化数据转换为向量嵌入。然后可以通过向量相似性搜索技术来搜索这些嵌入的语义相关性。

# MyScale 的架构概览

MyScale 是一个充分利用 AWS 云平台的数据库服务,包括以下 AWS 产品(包括但不限于):

  • EC2 - 云虚拟服务器
  • EKS - 容器编排
  • S3 - 对象存储
  • NLB - 负载均衡

通过利用 AWS 提供的健壮底层基础设施,我们迅速开发了 MyScale 的云服务产品。

MyScale 使用的 AWS 服务

MyScale 的云服务架构设计为三层,每层都是一个 Kubernetes 集群:

  • 全球控制平面
  • 区域控制平面
  • 区域数据平面

如下图所示,全球控制平面容纳了云服务的商业系统,负责组织、用户管理和总体使用统计。

MyScale 云架构

MyScale 的所有服务器都部署在 AWS 的托管 Kubernetes 服务 EKS 上,提供一个安全、高可用且可扩展的 Kubernetes 环境。因此,MyScale 能够充分利用 Kubernetes 的特性,如服务发现、负载均衡、自动扩展和安全隔离。

此外,MyScale 在数据平面利用 Kubernetes 的命名空间特性来确保用户集群隔离。每个 MyScale 数据库集群对应一个独特的 Kubernetes 命名空间,最小化了集群之间的影响,并确保每个集群都有自己的专用命名空间,包含数据库节点、负载均衡服务和元数据存储服务。

Boost Your AI App Efficiency now
Sign up for free to benefit from 150+ QPS with 5,000,000 vectors
Free Trial
Explore our product

# 利用 AWS 服务

我们使用带有本地 NVMe 基于 SSD 磁盘的 EC2 实例来部署 MyScale 数据库。与大多数选择纯内存 HNSW 向量索引算法的向量数据库不同,MyScale 的 MSTG 算法允许将向量数据缓存在本地 NVMe SSD 磁盘上,为用户提供高性能的向量搜索,同时显著节省内存使用。

此外,我们使用 Crossplane 来部署和管理托管在 AWS EC2 和 EKS 上的 MyScale 云服务。我们的云资源通过 Crossplane 以声明式、统一和自动化的方式进行配置,显著提高了准确性和生产力。

Join Our Newsletter

# 使用 Teleport 保障数据安全

MyScale 使用 Teleport,一个高级的远程访问管理系统来保证数据安全。Teleport 为我们的 Kubernetes 集群提供安全连接,便于系统安全和操作简便。它还提供全面的审计能力,详细记录所有会话和事件,有助于安全分析和合规要求。

# 总结

MyScale 是一个托管在 AWS 上的向量数据库,是处理结构化和非结构化数据的强大工具。基于 ClickHouse,并整合了专有的多尺度树图 (MSTG) 向量索引算法,MyScale 提供了强大的数据管理和结构化数据查询能力。它既经济实惠,又非常适合 AI 驱动的场景,如图像检索、视频分析和自然语言理解。

Keep Reading
images
不要将未来建立在专门的向量数据库上

随着人工智能的兴起,向量数据库因其高效存储、管理和检索大规模高维数据的能力而受到了广泛关注。这种能力对于处理文本、图像和视频等非结构化数据的人工智能和生成式人工智能(GenAI)应用至关重要。 向量数据库的主要逻辑是提供相似性搜索功能,而不是传统数据库提供的关键字搜索。这个概念在大型语言模型(LLM)的性能提升中得到了广泛应用,特别是在ChatGPT发布之后。 LLM的最大问题是需要大量的资源 ...

images
MyScale引入容量优化Pod

大型语言模型(LLM)应用,例如检索增强生成(RAG)应用,正在推动向量数据库的使用激增。许多基于LLM的应用程序需要大规模的数据集和高查询每秒(QPS)速率才能实现最佳性能。然而,大多数向量数据库供应商更注重存储容量而非QPS。 MyScale的MSTG算法是一种新颖的向量存储和 ...

popular
images
如何使用 MyScale 和 Dify 构建聊天机器人

在当今快节奏的 AI 时代,各种规模的企业都在积极探索将大型语言模型 (LLM) 融入日常运营。LLM 无论是在提升客户服务、自动化例行任务,还是打造个性化体验方面,都潜力巨大,带来显著效益。 然而,LLM 应用从概念到落地的过程往往困难重重,尤其是对缺乏深厚技术背景的用户而言,传统方法需要大量的编程知识,这成了许多人难以逾越的障碍。 Dify 应运而生,它是一个开发者友好的平台,致力于简化 ...

Start building your Al projects with MyScale today

Free Trial
Contact Us