首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • PostgreSQL 向量数据存储指南

    引言在当今的数字化时代,数据存储的方式和技术正变得越来越复杂和多样化。随着机器学习和数据科学的发展,向量数据的存储和管理变得尤为重要。 PostgreSQL 的向量数据存储支持PostgreSQL 通过扩展和插件提供了对向量数据的支持。常见的向量数据存储方式包括:数组类型:PostgreSQL 内置数组数据类型,可以存储向量数据。 PostGIS:一个地理空间数据库扩展,支持地理坐标向量存储和查询。H3、Citus:一些插件和扩展,提供高效的向量数据存储和查询功能。 VectorData 类的 vector 字段将存储向量数据。 实现步骤图像特征提取:使用深度学习模型(如 ResNet)提取图像的特征向量向量存储:将图像的特征向量存储到 PostgreSQL 数据库中。相似度查询:利用向量相似度计算,从数据库中搜索相似图像。

    1.1K00编辑于 2024-07-31
  • 来自专栏繁依Fanyi 的专栏

    PostgreSQL 向量数据存储指南

    引言 在当今的数字化时代,数据存储的方式和技术正变得越来越复杂和多样化。随着机器学习和数据科学的发展,向量数据的存储和管理变得尤为重要。 PostgreSQL 的向量数据存储支持 PostgreSQL 通过扩展和插件提供了对向量数据的支持。 常见的向量数据存储方式包括: 数组类型:PostgreSQL 内置数组数据类型,可以存储向量数据。 PostGIS:一个地理空间数据库扩展,支持地理坐标向量存储和查询。 VectorData 类的 vector 字段将存储向量数据。 实现步骤 图像特征提取:使用深度学习模型(如 ResNet)提取图像的特征向量向量存储:将图像的特征向量存储到 PostgreSQL 数据库中。

    1.1K11编辑于 2024-09-20
  • 来自专栏AI相关

    再谈RAG与向量存储引擎

    不仅如此,其实向量这一概念在计算机人工智能技术中也早就出现了,这篇文章我们就来探究一下向量的发展史,以及使用传统向量存储引擎Elasticsearch实现RAG,讨论它与Milvus向量数据库有哪些不同 在向量数据库出现前(约2018年前),向量主要存储在以下三类“临时方案”中:1)文件系统+内存索引:使用FAISS、Annoy等库建立索引,向量以NumPy数组或HDF5文件格式存储在磁盘,元数据放在MySQL 在 7.x 版本开始通过 dense_vector 字段类型提供基础向量存储能力,此时向量仅作为数据字段存储,查询时需要通过性能低下的脚本计算相似度。 直到 8.0 版本引入 HNSW 索引支持,才真正实现高效的向量搜索能力。因此,向量存储向量搜索的必要基础,而索引优化才是实现实用化向量搜索的关键。 ,那么我们就来看看Elasticsearch作为向量存储和检索工具有何特性。

    18410编辑于 2026-02-07
  • 来自专栏马超的博客

    向量数据库:使用Elasticsearch实现向量数据存储与搜索

    向量数据库:使用Elasticsearch实现向量数据存储与搜索 一、简介   Elasticsearch在7.x的版本中支持 向量检索[2] 。 例如,不要在循环中使用这些函数来计算文档向量和多个其他向量之间的相似性。如果需要该功能,可以通过直接访问向量值来重新实现这些函数。 为了更好的利用DSL优化器,可以使用参数的方式提供一个查询向量。 4. 检查缺失值:如果文档中没有用于执行向量函数的向量字段的值,会抛出错误。 • doc[<field>].magnitude – 将向量的大小作为浮点数返回(对于7.5版本之前创建的向量,其向量的大小不会被存储)。所以这个函数每次被调用时都会进行重新计算。 :使用Elasticsearch实现向量数据存储与搜索 [2] 向量检索: https://github.com/elastic/elasticsearch/blob/e8c382f89553e3a7aaafa88a5934288c1192acdc

    5.5K20编辑于 2023-09-02
  • 来自专栏腾讯云Elasticsearch Service

    ES8 向量功能窥探系列(二):向量数据的存储与优化

    同时也将解读腾讯云 ES 向量增强版,如何助力业务实现节省 70% - 90% 存储的优化。1. 存储关于 ES 倒排索引等存储构成,网上早已有很多文章进行过解析,不做赘述。 由于未启用向量索引,我们有理由认为该配置下,向量字段只会引发行存和列存的存储大小增长。 在“无索引”的配置下,列存.dvd大部分存储向量字段占据,在配置了向量字段的 Flat 索引后,该部分存储几乎 1:1 地转移到.vec类型的向量索引数据文件中。 行存裁剪优化3.1 发现向量的冗余存储在上一章节提到的几种索引模式中,我们不难发现以下几点:向量字段无论索引与否,.fdt占据了整个存储的绝大部分向量原始数值除了存储在.fdt外,无论索引与否,都有额外的结构进行存储 这一显著的效果也说明,只要涉及了向量搜索,无论是纯向量还是混合场景,占据存储的大头基本来到了向量这里。

    1.9K10编辑于 2025-02-20
  • 来自专栏CSDN搜“看,未来”

    Nginx(11):存储数组的链表

    文章目录 我的困惑 存储数组的链表 设计优点 配备方法 ngx_list_create ngx_list_init 我的困惑 这个链表我很喜欢,且这个构想在我的脑子里面存在很久了,但是一直没去实现 ---- 存储数组的链表 typedef struct ngx_list_part_s ngx_list_part_t; //节点 /* 每个链表元素ngx_list_part_t又是一个数组,拥有连续的内存 //指向最后一个数组元素 ngx_list_part_t part; //首元素 size_t size; //限制每个数组元素占用空间大小,也就是用户要存储的一个数据所 ngx_uint_t nalloc; //最多可存储数据数 ngx_pool_t *pool; //管理内存分配的内存池对象 } ngx_list_t; 这个跟deque

    65720发布于 2021-10-09
  • 来自专栏Ywrby

    11-存储过程和函数

    存储过程 # 存储过程和函数 /* 存储过程和函数:类似Java中的方法 好处: 1. 提高代码重用性 2. 减少数据库服务器的连接次数,提高效率 */ # 存储过程创建 CREATE PROCEDURE 存储过程名(参数列表) BEGIN 存储过程体(一组合法的SQL语句) END # 注意 1. 如果存储过程体中仅有一句话,BEGIN END 可以省略 4. 存储过程体中每条SQL语句结尾要求必须加分号 5. 存储过程的结尾可以用DELIMITER重新配置 语法: DELIMITER 结束标记 # 调用语法 CALL 存储过程名(实参列表); # 空参的存储过程 # 案例:插入到admin表中三条记录 DROP PROCEDURE p2; # 查看存储过程结构信息 SHOW CREATE PROCEDURE p3; # 存储过程一般不修改 函数 # 函数 /* 存储过程与函数区别: 存储过程可以有任意个返回值

    61420编辑于 2022-10-27
  • 来自专栏Reinvent Data Science

    揭秘 LlamaIndex|如何持久化存储 LlamaIndex 向量索引?

    LlamaIndex 系列】,此前我们已经邀请 LlamaIndex 的联合创始人详解【如何使用私有数据提升 LLM 的能力】,也细致介绍过 LlamaIndex 的各式索引,以及如何查询 LlamaIndex 向量存储索引的简略教程 本次,我们将着重讲解如何在 LlamaIndex 中创建并存储向量索引及 2 种持久化存储向量索引的方法。 01. 如果想要使用持久化存储引擎来存储索引,以便在后续应用搭建过程中使用,可以参照下文的教程。 02. 使用 MilvusVectorStore 连接向量存储,并传入主机和端口参数。 ……) 使用云端向量数据库 需要注意的是,如果遇到海量数据,我们推荐使用云端向量数据库来存储 LlamaIndex 向量索引。 以下教程中使用了 Zilliz Cloud向量数据库。

    2K21编辑于 2023-08-25
  • 来自专栏Elastic Stack专栏

    介绍一种新的向量存储格式:DiskBBQ

    这是一个快速且计算高效的算法,能够对向量数据进行对数级缩放。然而,这种速度是有代价的。为了让 HNSW 良好运作,所有向量都需要驻留在内存中。 这可能会显著减慢无法完全在内存中保存向量的硬件的速度。DiskBBQ 有何不同?DiskBBQ 使用层次化 K-means将向量划分为小簇。它会先选择代表性的质心进行查询,然后再查询各个向量。 最后,通过批量计算簇内向量与查询向量之间的距离,来探索每个簇内的向量。图 0. Hierarchical KMeans 算法流程示例。将向量分割成部分,聚类每个部分,并递归分割直到达到所需的分区大小。 DiskBBQ 另一个有趣的方面是,它允许将向量分配给多个质心。它利用 Google 的正交增强残差溢出 (SOAR)版本将向量分配到多个簇,这在向量位于两个簇边界附近时特别有用。 DiskBBQ 利用批量评分向量,并尽可能多地在堆外执行操作。这意味着我们可以直接从文件中读取向量到内存中进行优化的向量操作,从而产生相当不错的性能。DiskBBQ 的两个主要场景特别有趣。

    22610编辑于 2025-10-09
  • 来自专栏存储公众号:王知鱼

    AI向量搜索新范式:计算存储如何破局?

    您是否曾困惑于,在处理海量高维向量数据时,如何在保证搜索效率和准确性的同时,有效控制高昂的硬件成本和有限的存储容量? SanDisk 的解决方案 SanDisk的解决方案:一款专为大规模ANN向量搜索设计的、软硬件一体的计算存储(Computational Storage)加速器。 解决了纯GPU方案的成本和容量瓶颈: 它以成本低廉且容量巨大的NAND闪存作为主存储介质,而不是昂贵且容量有限的GPU显存,因此能够以极高的性价比支持超大规模(十亿级以上)的向量数据集。 其内部主要组件包括: NAND (黄色): 这是NAND闪存芯片,用于持久化存储海量的、完整的向量数据集。 Orchestrator Unit (红色): 编排/协调单元。 延伸思考 这次分享的内容就到这里了,或许以下几个问题,能够启发你更多的思考,欢迎留言,说说你的想法~ SanDisk的计算存储方案在向量搜索领域展现出巨大潜力,您认为这种“计算靠近数据”的理念,在其他AI

    25710编辑于 2025-11-20
  • 来自专栏Android 开发者

    Android 11 中的存储机制更新

    Android 10 引入了对外部存储权限的更改,旨在更好地保护用户数据以及降低应用的存储空间。Android 11 开发者预览版里加入了更多改进,以帮助开发者更好地适应这些权限修改。 在 Android 11 中,我们会通过下述的几点来继续优化分区存储 (Scoped Storage) 的开发者体验。 因此在 Android 11 里,依赖原始文件路径的 API 和库可以再次使用了。 Android 11 里将会引入一个特别的权限叫做 MANAGE_EXTERNAL_STORAGE,该权限将授权读写所有共享存储内容,这也将同时包含非媒体类型的文件。 /video/av771… 或点击这里查看 Android 开发者文档:《Android 11 中的存储更新》 我们非常重视您的反馈,您可以通过 issues tracker 向我们反馈 issue 或新特性需求

    3.7K11发布于 2020-03-19
  • 来自专栏存储公众号:王知鱼

    IBM计算存储:SSD如何加速十亿级向量搜索?

    他们将标准SSD重构为专用的向量搜索加速卡——Vector Search Module (VSM),通过“计算型存储”理念,直接在存储层并行执行向量搜索。 架构演进: 为了解决扩展性问题,未来的趋势是利用近数据计算(或存储内计算) 技术,直接在存储层并行执行向量搜索,以实现高吞吐和低延迟的大规模检索。 最近邻搜索 Exhaustive Search (暴力/穷举搜索) 全量扫描:将搜索向量与库中所有向量逐一比对。 存储密集/IO密集:需要读取全部数据。 这种设计不惜牺牲存储密度,只为换取极致的向量检索速度和低延迟。 VSM 并不是要替代所有向量计算,而是专注于它最擅长的——对海量存储数据进行高带宽的并行扫描。

    18410编辑于 2026-03-09
  • 来自专栏X

    C++11哈希集合set与向量vector的互转

    【注意】:set没有rbegin()和rend()反向迭代器 以下总结一下assign()函数的两种用法: 【语法1】:容器.assign(iterator1, iterator2); // 1.向量 deque_name.assign(iterator1, iterator2); // 其他容器, 如array和string等 【语法2】:容器.assign(size, value); 【功能】:向容器中存储 size个value // 1.向量 vector_name.assign(size, value); // 2.队列 deque_name.assign(size, value); // 其他容器,

    2.6K10发布于 2021-09-18
  • 来自专栏字节流动

    Android 10(Q)11(R) 分区存储适配

    为此,Google 终于下定决心在 Android 10 中引入了分区存储,对权限进行场景的细分,按需索取,并在 Android 11 中进行了进一步的调整。 Android 存储分区情况 Android 中存储可以分为两大类:私有存储和共享存储 私有存储 (Private Storage) : 每个应用在都拥有自己的私有目录,其它应用看不到,彼此也无法访问到该目录 Android 11 (R) Android 11 (R) 在 Android 10 (Q) 中分区存储的基础上进行了调整。 1. 新增执行批量操作 为实现各种设备之间的一致性并增加用户便利性,Android 11 向 MediaStore API 中添加了多种方法。 使用直接文件路径和原生库访问文件 为了帮助您的应用更顺畅地使用第三方媒体库,Android 11 允许您使用除 MediaStore API 之外的 API 访问共享存储空间中的媒体文件。

    2.9K30发布于 2020-08-28
  • 来自专栏存储公众号:王知鱼

    AI大模型时代:向量数据库如何挑战存储极限?

    本文将深入探讨向量数据库如何成为一个对存储性能高度敏感的关键AI工作负载,并揭示其对底层存储I/O的极致要求,以及我们应如何应对这些挑战。 划线高亮 观点批注 什么是向量数据库? PPT旨在从概念、功能、应用和行业趋势四个方面介绍向量数据库。 定义与功能: 向量数据库是一种专门用于存储和查询高维向量(Embeddings)的数据库。 这张PPT阐述了这一行动的三个主要驱动因素: 行业趋势(存储敏感性): 随着向量数据集的爆炸性增长,向量数据库的性能瓶颈正从内存和计算转向存储I/O。 通过实测数据证明,基于DiskANN(存储型)的向量数据库在处理大规模数据集(1亿向量)时,其性能具有良好的可扩展性,但同时也暴露了它对存储带宽的极高依赖性,并伴随着延迟的显著增加。 这有力地证明了向量数据库在高并发下是一个“存储敏感型”或“存储I/O密集型”工作负载。

    47810编辑于 2025-12-21
  • 来自专栏DeepHub IMBA

    向量存储vs知识图谱:LLM记忆系统技术选型

    第二个想法可能是存储每条消息加上摘要,然后用语义搜索(RAG里的检索部分)在查询时获取相关信息。 这就是标准的naive retrieval系统的做法。 它们大概率用了一个分类器判断某条消息是否包含需要存储的事实。 然后把事实归到预设的类别里(比如个人资料、偏好、项目),相似的就更新现有记忆,不同的就新建一条。 架构方案的选择 目前主流架构就两条路:向量方案和知识图谱方案。 前面提到的检索方法是大部分人入门时的选择。检索依赖向量存储(常配合稀疏搜索),能同时支持语义和关键词检索。 之前提到向量方案在时间推理和多跳推理上有短板。而知识图谱里信息本身就是结构化的,LLM更容易利用全部上下文。 向量方案随着信息增长,噪音会越来越强,系统可能连不起各个点。 或者搞混合方案,比如自己写个分类器筛选值得存的事实消息来控制成本,其他消息扔自己的向量存储定期压缩和总结。 最后总结 虽然有记忆系统支持,但是也别指望完美。这些系统还是会出现幻觉或者漏掉答案。

    34510编辑于 2025-11-15
  • 来自专栏Elastic Stack专栏

    Lucene 中的标量量化:如何优化存储和搜索向量

    Understanding Scalar Quantization in Lucene 自动字节量化在 Lucene 中的应用 HNSW 是一种功能强大且灵活的存储和搜索向量的方法,但它需要大量内存才能快速运行 Lucene 中的分段量化 每个 Lucene 段存储以下内容:单个向量、HNSW 图索引、量化向量和计算的分位数。为了简洁,我们将重点介绍 Lucene 如何存储量化和原始向量。 对于每个段,我们跟踪 vec 文件中的原始向量、veq 文件中的量化向量和单个修正乘数浮点数,以及 vemq 文件中关于量化的元数据。 这里跟踪量化和向量配置以及该段的计算分位数。 因此,对于每个段,我们不仅存储量化向量,还存储用于生成这些量化向量的分位数和原始向量。那么,为什么我们还要保留原始向量呢? 量化向量的搜索性能明显快于原始向量,召回率通过多收集 5 个向量就可以快速恢复;见 quantized@15。 图 6 讲述了这个故事。虽然召回率有所不同,但这是预期的,并不显著。

    1.2K12编辑于 2024-07-05
  • 来自专栏初见Linux

    11-1 环境中存储的是什么?

    一、环境中存储的是什么? 0.2种数据类型 尽管 shell 在环境中存储了 2 种基本类型数据,但是在 bash 中,这 2 种类型基本上没有区别。 除变量之外,Shell 还存储了一些编程数据,也就是别名和 shell 函数。本书第五章阐述了与别名有关的内容,而 shell 函数(主要与shell脚本有关)将会在本书的第四部分进行讲解。 1.检查环境 要了解环境中存储的内容,需要用到集成在 bush 中的 set 命令或 printenv 程序。

    90220发布于 2020-08-11
  • 来自专栏大数据进阶

    flink系列(11)-checkpoint的存储设计和实现

    CheckpointStreamFactory/CheckpointOutputStream 接口提供了一套基层的状态存储的基础实现 下面先来一张图,分析一下checkpointStreamFactory

    65020发布于 2019-09-17
  • Java 11 的String是如何优化存储的?

    Java 中的 char 是两个byte大小,因为我们大多数的时候操作数据都是都是用拉丁语系的字符的,而拉丁语系的字符只要用byte就足够存储了,根本就不需要char。 所以如果我们发现发现了一个字符串里只有拉丁语系的字符,那么我们全都用byte,这样就比原来的用char来存储节省一半的存储空间了。具体实现思想是什么? 判断一个字符串里是否都是拉丁语系的字符,如果全都是,那么OK,一个char用一个byte来代替就行,存储就是简单的一个直接截取char的起始八位就行。 byte)c;srcOff++;dstOff++;}return len;}// 其实如果用了这个方法,其实就达不到节省空间的目的了,也就意味着,其中有个非拉丁字符,// 每个字符都要转成两个byte来存储

    24210编辑于 2024-12-10
领券