Elastic Cloud 将 Elasticsearch 向量数据库优化配置文件添加到 Microsoft Azure

作者:来自 Elastic  Serena Chou, Jeff Vestal, Yuvraj Gupta

今天,我们很高兴地宣布,我们的 Elastic Cloud Vector Search 优化硬件配置文件现已可供 Elastic Cloud on Microsoft Azure 用户使用。 此硬件配置文件针对使用 Elasticsearch 作为向量数据库来存储密集或稀疏嵌入的应用程序进行了优化,以用于由 RAG(检索增强生成)支持的搜索和生成 AI 用例。

向量搜索优化的硬件配置文件:你需要了解的内容

Elastic Cloud 用户受益于跨所有主要云提供商(Azure、GCP 和 AWS)的 Elastic 托管基础设施以及对 Microsoft Azure 用户的广泛区域支持。 此版本是继之前发布的针对 GCP 的向量搜索优化硬件配置文件之后发布的。 自 2023 年 11 月起,AWS 用户就可以访问向量搜索优化配置文件。有关此 Azure 硬件配置文件的实例配置的更多具体详细信息,请参阅我们的实例类型文档:azure.es.datahot.lsv3

向量搜索、HNSW 和内存

Elasticsearch 使用分层可导航小世界图 (Hierarchical Navigable Small World ,HNSW) 数据结构来实现其近似最近邻搜索 (ANN)。 由于其分层方法,HNSW 的分层方面提供了出色的查询延迟。 为了获得最佳性能,HNSW 要求将向量缓存在节点的内存中。 此缓存是自动完成的,并使用 Elasticsearch JVM 未占用的可用 RAM。 因此,内存优化是可扩展性的重要步骤。

请参阅我们的向量搜索调整指南,以确定向量搜索嵌入的正确设置以及你是否有足够的内存用于部署。

考虑到这一点,向量搜索优化的硬件配置文件配置为小于标准 Elasticsearch JVM 堆设置。 这为在节点上缓存向量提供了更多的 RAM,从而允许用户为其向量搜索用例配置更少的节点。

如果你使用标量量化等压缩技术,则内存要求会降低 4 倍。要存储量化嵌入(在 Elasticsearch 8.12 及更高版本中提供),只需确保你存储在正确的 element_type: byte 中即可。 要使用 float 向量的自动量化,请更新嵌入以使用索引类型:int8_hnsw,如以下映射示例所示。

PUT my-byte-quantized-index
{
  "mappings": {
    "properties": {
      "my_vector": {
        "type": "dense_vector",
        "dims": 512,
        "index_options": {
          "type": "int8_hnsw"
        }
      }
    }
  }
}

在即将推出的版本中,Elasticsearch 将提供此作为默认映射,从而无需用户调整其映射。 为了进一步阅读,我们在本博客中提供了 Elasticsearch 中标量量化的评估。

将这种优化的硬件配置文件与 Elasticsearch 的自动量化相结合是两个例子,其中 Elastic 专注于矢量搜索,而我们的矢量数据库既具有成本效益,同时仍然具有极高的性能。

入门

在 Elastic Cloud 上开始免费试用,只需选择新的向量搜索优化配置文件即可开始。

迁移现有 Elastic Cloud 部署

只需点击几下鼠标即可迁移到这个新的向量搜索优化硬件配置文件。 只需导航到你的 Elastic Cloud 管理 UI,单击即可管理特定部署,然后编辑硬件配置文件。 在此示例中,我们将从 “Storage optimized” 配置文件迁移到新的 “Vector Search” 优化配置文件。 当选择这样做时,可用存储会略有减少,但获得的是以较低的成本通过向量搜索在每个内存中存储更多向量的能力。

迁移到新的硬件配置文件使用增长和收缩方法来部署更改。 此方法添加新实例,将数据从旧实例迁移到新实例,然后通过删除旧实例来缩减部署。 即使对于单个可用性区域,此方法也可以在配置更改期间实现高可用性。

下图显示了在 Elastic Cloud 中运行的部署的典型架构,其中向量搜索将是主要用例。

此示例部署使用我们新的向量搜索优化硬件配置文件,现已在 Azure 中提供。 此设置包括:

  • 我们的热层中的两个数据节点以及我们的向量搜索配置文件
  • 1 个 Kibana 节点
  • 一个机器学习节点
  • 一台集成服务器
  • 一个 master tiebreaker

通过使用向量搜索优化的硬件配置文件部署这两个 “全尺寸” 数据节点,同时利用 Elastic 的自动密集向量标量量化,你可以索引大约 6000 万个向量,包括一个副本(具有 768 个维度)。

原文:Elastic Cloud adds Elasticsearch Vector Database optimized profile to Microsoft Azure — Elastic Search Labs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/645574.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CSS单位px、rem、em、vw、vh的区别

目录 前言 零.视口介绍 一.px 二.em 三.rem【重要】 3.1rem介绍 3.2rem与em的区别 四.vw、vh、vmax、vmin 五.注意问题 5.1如何使1rem 10px? 5.2如果父元素没有指定高度,那么子元素的百分比高度是多少? 5.3更多问题 前言 这几…

实现多级树形结构查询 比如分类(父分类、子分类)

实现多级树形结构查询 比如分类(父分类、子分类) 数据库表结构 CREATE TABLE course_category (id varchar(20) NOT NULL COMMENT 主键,name varchar(32) NOT NULL COMMENT 分类名称,label varchar(32) DEFAULT NULL COMMENT 分类标签默认和名称一样,p…

CLIP 论文的关键内容

CLIP 论文整体架构 该论文总共有 48 页,除去最后的补充材料十页去掉,正文也还有三十多页,其中大部分篇幅都留给了实验和响应的一些分析。 从头开始的话,第一页就是摘要,接下来一页多是引言,接下来的两页就…

qt-C++笔记之QThread使用

qt-C笔记之QThread使用 ——2024-05-26 下午 code review! 参考博文: qt-C笔记之使用QtConcurrent异步地执行槽函数中的内容,使其不阻塞主界面 qt-C笔记之QThread使用 文章目录 qt-C笔记之QThread使用一:Qt中几种多线程方法1.1. 使用 QThread 和 Lambda…

gnocchi学习小结

背景 总结gnocchi 4.4版本gnocchi-metricd工作流程 入口 gnocchi.cli.metricd metricd stop after processing metric默认为0,调servicemanager run MetricdServiceManager __init__ 服务逻辑封装到MetricdServiceManager初始化中 主要由MetricProcessor, Met…

火山引擎“奇袭”阿里云

图片|电影《美国队长3》剧照 ©自象限原创 作者丨程心 编辑丨罗辑 大模型价格战,已经不是什么新闻。 从OpenAI发布GPT-4o,将API价格下调50%,并宣布面向普通用户免费开始,就标志着大模型的竞争从性能进入到了成本…

Java设计模式 _行为型模式_迭代器模式

一、迭代器模式 1、迭代器模式 迭代器模式(Iterator Pattern)是一种行为型设计模式,用于顺序访问集合对象的元素,不需要关心集合对象的底层表示。如:java中的Iterator接口就是这个工作原理。 2、实现思路 &#xff0…

面试大杂烩之kafka

面试这个领域最近环境不行,所以卷起来流量挺大 搭建: 总体来说 比较简单,主要是配置文件,命令的话分开了producer /consumer/ topic 大概这么个意思。具体可以看里面的博客 #host配置 #安装包 wget https://archive.apache.or…

国内最受欢迎的7大API供应平台对比和介绍||电商API数据采集接口简要说明

本文将介绍7款API供应平台:聚合数据、百度APIStore、Apix、数说聚合、通联数据、HaoService、datasift 。排名不分先后! 免费实用的API接口 第一部分 1、聚合数据(API数据接口_开发者数据定制) 2、百度API Store(API集市_APIStore…

C++第十九弹---string模拟实现(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、修改操作 2、迭代器操作 3、字符串操作 4、非成员函数重载操作 总结 1、修改操作 1、string& operator (const char* s); //尾部插入…

骑行 - 新区永旺出发的环太湖路线

环过好几次太湖,但对路线都没太在意,都是跟着别人走的。这次自己制定一个路书,方便下次自己一个人环太湖时使用。 开始是使用高德地图做路书,只能在PC上做。我用的是网页版,每次选点太麻烦了。要输入地址搜索&#xff…

【C语言】八进制、十六进制

前言 在我们日常生活中使用的数往往是十进制的,而当我们学习C语言后我们会接触到许多不同的进制并且时常需要去思考与使用这些不同的进制(尤其是2的幂相关的进制,因为这种计数系统比十进制更接近于计算机的二进制系统)&#xff0…

5.26机器人基础-空间描述和变换2

在前文的基础上引入平移算子和旋转算子 1.平移算子 2.旋转算子 3.变换算子

推荐一款媒体影音嗅探神器—Chrome扩展插件(猫抓cat-catch)

目录 1.1、前言1.2、下载地址1.3、github Releases 版本说明1.4、安装步骤1.5、猫抓插件常规设置1.5.1、设置抓取文件的类型1.5.2、设置抓取文件的后缀名 1.1、前言 我们在日常上网的过程中,很多音频、视频网站下载资源都非常不方便,要么需要安装客户端&…

联邦学习(一)

世界第一本“联邦学习”专著——《联邦学习》。作者阅读数书籍《联邦学习实战》。 1.联邦学习概述 在构件全局模型时,其效果与数据被整合在一起进行集中式训练的效果几乎一致,这便是联邦学习提出的动机和核心思想。 核心理念:数据不动模型动,数据可用不可见。 传统训练范式…

初步认识栈和队列

Hello,everyone,今天小编讲解栈和队列的知识!!! 1.栈 1.1栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。 进行数据插入和删除操作的一端 称为栈顶&…

hsql学习笔记

1. row_number() over (partition by uid order by dt 分析: row_number(): 这是一个窗口函数,用于为结果集中的每一行分配一个唯一的序号。默认情况下,这个序号是按照查询结果的顺序来分配的,但你可以通过OVER()子句…

Mybatis源码剖析---第二讲

Mybatis源码剖析—第二讲 那我们在讲完了mappedstatement这个类,它的一个核心作用之后呢?那下面我有一个问题想问问各位。作为mappedstatement来讲,它封装的是一个select标签或者insert标签。但是呢,我们需要大家注意的是什么&am…

文件夹打开出错?这里有你需要的数据恢复与预防指南

在日常使用电脑时,我们有时会遇到文件夹打开出错的情况。当你尝试访问某个文件夹时,系统可能会弹出一个错误提示,告诉你无法打开该文件夹。这种情况不仅会影响我们的工作效率,还可能导致重要数据的丢失。接下来,我们将…

Java进阶学习笔记24——Object类

Object类: Object类是Java中所有类的祖宗类,因此,Java中所有类的对象都可以直接使用Object类中提供的一些方法。 所有类都是Object类的子孙类。 API文档: Object类的成员方法: Object类的常见方法: Student类&…