首页 文章 精选 留言 我的

精选列表

搜索[AI可见性],共10000篇文章
优秀的个人博客,低调大师

Pigsty v3 发布:海量扩展,可替换内核,RDS 服务

Pigsty v3.0 正式发布。这是时隔一年半后的又一个大版本更新,带来了海量扩展插件,提供 Oracle 与 SQL Server 兼容性的替换内核,以及完整在本地运行的 SOTA RDS 服务 Pigsty v3 提供了史无前例的 333 个可用扩展插件。包括 121 个扩展 RPM包 与 133 个 DEB包,数量超过了 PGDG 官方仓库提供的扩展数量总和(135 RPM / 109 DEB)。而且,Pigsty 还将EL系统与Debian生态的独有PG扩展插件相互移植,实现了两大发行版的插件生态大对齐。 Pigsty v3 允许用户更换 PostgreSQL 内核,目前支持了 SQL Server 兼容的 Babelfish (线缆协议级仿真),Oracle 兼容的 IvorySQL,以及 PG 版的 RAC PolarDB; 此外,现在自托管 Supabase 也在 Debian / Ubuntu 系统中可用。用户可以让 Pigsty 中带有 HA,IaC,PITR,监控的生产级 PostgreSQL 集群仿真 MSSQL (via WiltonDB),Oracle via (IvorySQL),Oracle RAC (via PolarDB), MongoDB(via FerretDB),以及 Firebase (via Supabase)。 Pigsty v3 还提供了 DuckDB 的进阶支持,除了原生 duckdb CLI 工具外,还编译打包了融合 PG / DuckDB 能力生态扩展:pg_lakehouse,pg_analyticss,duckdb_fdw,以及 pg_duckdb。 本次 Pigsty 发布调整大版本号,从 2.x 升级到 3.0,带有一些重大变更: 首要支持操作系统调整为:EL 8 / EL 9 / Debian 12 / Ubuntu 22.04 。EL7 / Debian 11 / Ubuntu 20.04 等系统进入弃用阶段,不再提供支持。 默认使用在线安装,不再提供离线软件包,从而解决操作系统小版本兼容性问题。bootstrap 过程现在不再询问是否下载离线安装包,但如果 /tmp/pkg.tgz 存在,仍然会自动使用离线安装包,有离线安装需求请自行制作离线软件包或考虑我们的专业版服务。 Pigsty 使用的上游软件仓库进行统一调整,地址变更,并对所有软件包进行 GPG 签名与校验,标准仓库:https://repo.pigsty.io/{apt/yum} ,国内镜像:https://repo.pigsty.cc/{apt/yum} API 参数变更与配置模板变更:EL 系与 Debian 系配置模板现在收拢统一,有差异的参数统一放置于 roles/node_id/vars/[8] 目录进行管理。配置目录变更,所有配置文件模板统一放置在 conf 目录下,并分为 default, dbms, demo, build 四大类目。 Pigsty Pro 专业版也正式推出,在开源版的功能基础上提供增值服务。专业版提供额外的功能模块:MSSQL,Oracle,Mongo,K8S,Victoria,Kafka,TigerBeetle 等……,并提供更广泛的 PG 大版本、操作系统、芯片架构的支持。 专业版提供针对全系操作系统精准小版本定制的离线安装包,以及 EL7,Debian 11,Ubuntu 20.04 等过保老系统的支持;此外,专业版还提供内核可插拔定制服务,并对 PolarDB Oracle 的原生部署、监控管控支持以满足“国产化”需要。 更多详情可查看:https://mp.weixin.qq.com/s/sxcPSFyPrFH4BDkg2bMB3Q

优秀的个人博客,低调大师

用 Bytebase 实现可回滚的数据库数据变更

在修改数据库的数据时,建议先备份即将修改的数据,以便在需要时能够恢复。Bytebase 提供了「数据回滚」的功能来帮助实现这一功能。本教程将为你演示这一过程。 准备 请确保已安装 Docker,如果本地没有重要的现有 Bytebase 数据,可以通过 rm -rf ~/.bytebase/data 从头开始。 这是企业版的功能,您可以通过添加小助手申请(见文末二维码)。 过程 第一步 - 启动 Bytebase 并升级至企业计划 复制并粘贴命令,通过 Docker 启动 Bytebase。 docker run --rm --init \ --name bytebase --publish 8080:8080 --pull always \ --volume ~/.bytebase/data:/var/opt/bytebase \ bytebase/bytebase:2.21.0 (这里的 2.21.0 可以替换成最新版本) 注册第一个账户,它将自动获得工作区管理员角色。 点击右上角的设置齿轮图标,然后点击工作区 > 订阅上传许可。 单击铅笔图标,选择要启用企业功能的实例,然后单击确认。这里是将许可分配给了实例,为对应实例开启企业版功能。 第二步 - 准备 schema bbdataarchive Bytebase 将备份数据存储在专们的位置。对于 Postgres,它存储在变更的数据库的 bbdataarchive schema 下。 进入 Sample Project,单击左边栏的数据库 > 数据库,选择 hr_test,然后单击编辑 schema。 在 schema 编辑器中,单击...,然后单击创建 schema。填写名称 bbdataarchive,然后单击创建。 可以看到绿字的 bbdataarchive,单击预览。创建工单并等待它自动发布,完成。现在 bbdataarchive schema 已创建。 第三步 - 变更数据并回滚 变更前,进入 SQL 编辑器,选择 hr_test,然后双击 employee,就会看到当前数据。我们将尝试变更 Georgi 这个名字。 再次进入 Sample Project 里的数据库 > 数据库,选择 hr_test,然后单击变更数据。 打开右侧的事先备份,在字段中输入 SQL,然后单击创建。 UPDATE employee SET first_name = 'Adela' WHERE emp_no = 10001; 工单创建并发布后,你可以看到有一个活动显示数据已备份到先前创建的 bbdataarchive schema 下的一个新表中。 再次访问数据库 > 数据库,然后单击 hr_test。 在数据库页面,选择 bbdataarchive schema,就可以看到备份表。 需要进一步验证的话,可以请进入 SQL 编辑器。选择 hr_test 中的 employee 表,输入以下 SQL 脚本并点击运行,就会看到数据已更改。 SELECT * FROM "public". "employee" ORDER BY emp_no LIMIT 50 选择 bbdataarchive 这个 schema,双击下面的表。你将在查询结果中看到备份数据。 需要特别注意的 如果你要使用 MySQL/SQL Server/Oracle,就不是创建 bbdataarchive schema ,而要创建 bbdataarchive 数据库来存储备份数据。更多详情请查看文档。https://www.bytebase.com/docs/change-database/rollback-data-changes/ 💡 更多资讯,请关注 Bytebase 公号:Bytebase

优秀的个人博客,低调大师

VersionFox:跨平台、可拓展的 SDK 版本管理工具

项目地址:https://github.com/version-fox/vfox 每种编程语言都有对应的版本管理工具,如nvm、fvm、gvm、sdkman等,它们的核心功能大同小异。但对于使用多种语言的开发者来说,这意味着需要学习和记忆各种不同的命令,增加了学习成本。如果你是全栈工程师,或者使用不止一种语言,使用VersionFox,你无需再学习这些繁杂的工具,从而降低学习成本,节省时间。 亮点: 跨平台(Windows、Linux、macOS), 不同的平台拥有相同的用户体验 使用一致的命令管理所有语言 简单的插件系统添加对您所需SDK的支持 支持Global、Project、Session三种作用域 当您遍历您的项目时,自动切换到对应版本 快速入门 安装vfox (详细安装) $ brew tap version-fox/tap $ brew install vfox 选择一条适合你shell的命令 echo 'eval "$(vfox activate bash)"' >> ~/.bashrc echo 'eval "$(vfox activate zsh)"' >> ~/.zshrc echo 'vfox activate fish | source' >> ~/.config/fish/config.fish # For PowerShell, add the following line to your $PROFILE: Invoke-Expression "$(vfox activate pwsh)" 3. 添加插件 $ vfox add nodejs/nodejs 4.安装版本 vfox install nodejs@latest 5.切换版本 $ vfox use nodejs@21.5.0 $ node -v 21.5.0 目前已支持多种开发语言, 欢迎使用~~ Node演示 项目地址: https://github.com/version-fox/vfox

优秀的个人博客,低调大师

全新 Range Search 功能,可精准控制搜索结果

Range Search 功能诞生于社区。 某天,一位做系统推荐的用户在社区提出了需求,希望 Milvus 能提供一个新功能,可以返回向量距离在一定范围之内的结果。而这不是个例,开发者在做相似性查询时,经常需要对结果做二次过滤。 为了帮助用户解决这一问题,Milvus 推出了全新功能—— Range Search(范围搜索)。本文将带各位详解这一新功能,包括 Range Search 的基本介绍、使用场景及其背后的技术细节。 01.什么是 Range Search? 顾名思义,Range Search 即范围搜索。不同于 KNN Search 返回最相似的 TOP-K 个结果,Range Search 会返回向量距离落于某一区间的 TOP-K 个结果。 那么,何时选择 Range Search 而非 Top-K 搜索? Range Search 最典型的应用场景就是推荐系统。比如商品推荐,一个好的推荐系统,返回的应该是与用户点击的商品有一定相似度,但又不太相似的结果。太相似或太不相似的推荐都会导致推荐效果不尽如人意。 在有 Range Search 功能之前,做推荐系统的用户只能先执行一次 KNN Search,再在 Milvus 系统之外对查询结果进行二次过滤。如今,有了 Range Search 功能,他们可以直接调用 Range Search,一次性得到所需要的结果。 Range Search 新增了 2 个参数,分别是: radius(半径) - 指相似性的外边界 range_filter(范围过滤器) - 指相似性的内边界 02.Range Search 的技术实现细节 接下来,我们深入 Range Search 功能的架构和算法,探讨其优势、局限性以及 Range Search 与第三方算法库集成。 Range Search 重用了现有的搜索流程,二者在上层所有数据通路几乎完全是一样的。以下是接收到搜索请求时所采取的步骤: SDK 接到一个用户的查询请求,在 search param 中包含了 radius 和 range_filter 信息; proxy 在收到这个查询请求后,生成一个 SearchTask 传给 querynode; querynode 在收到 SearchTask 后,通过 cgo 调用 segcore 的 Search 接口; segcore 会解析 search_param 中带的参数,如果有 radius,则调用 knowhere::RangeSearch; knowhere 再根据索引类型调用到对应的第三方库的 range_search 函数。 目前,所有的第三方库索引都只支持单边 Range Search,也就是只接收一个参数 radius,而且返回的结果是全量未排序的结果。下表概述了不同索引类型的 Range Search 策略“ 对于 binary 类型的索引,HAMMING 和 JACCARD 全部都支持 Range Search,SUBSTRUCTURE/SUPERSTRUCTURE 由于返回值是 true/false,不满足 Range Search 的语义,所以不支持 Range Search。其余 float 类型索引,对于 L2/IP/COSINE 全部支持 Range Search。 下表是所有支持 Range Search 的索引类型和 metric type: 03.Range Search 使用方法 如需使用 Range Search,只需要修改搜索请求中的搜索参数。接下来我会讲一下的详细使用指南,在指南的最后还提供了 Python 示例代码。 开始前 请确保已安装并运行 Milvus。 请确保已创建 1 个 Collection,并为该 Collection 创建索引。 Range Search 参数 radius:必要参数。决定搜索请求将执行 Range Search 还是 KNN Search。 range_filter:可选参数。如果设置该参数,函数将对结果进行二次过滤。 通过上述两个参数,我们可以根据不同应用场景和需求微调 Range Search 的行为。以下为示例代码: default_index = {"index_type": "HNSW","metric_type": "L2","params": {"M":48,"efConstruction":500} } collection.create_index("float_vector", default_index) search_params = {"metric_type": "L2","limit": TOPK, "params": {"ef":32,"range_filter":1.0,"radius":2.0} } res = collection.search(vectors[:nq], "float_vector", search_params, limit) 04.参数检查 下表列出了所有 metric type 对应的 radius 合法值范围: 由于不同 metric type 对应的 radius 合法值范围不同,Milvus 不会检查 radius 的合法性,而是只检查 radius 和 range_filter 的相对合法性: 对于 L2/Hamming/Jaccard,range_filter < radius 对于 IP/Cosine,range_filter > radius 05.总结 Milvus 的 Range Search 功能不仅限于推荐引擎,还可以广泛应用在内容匹配、异常检测和 NLP 搜索等任务中。通过利用 radius 和 range_filter 两个参数,用户可以精准定制查询,满足不同用例的需求。 Range Search 现已正式登陆 Zilliz Cloud Beta 版!如需体验 Range Search 功能,请将 Zilliz Cloud(https://zilliz.com.cn/cloud) 集群升级至 Beta 版或下载 Milvus 2.3.x(https://milvus.io/docs/install_cluster-milvusoperator.md)。另外,如果大家在使用 Range Search 功能中遇到任何问题或者建议,欢迎向我们反馈!

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册