【PostgreSQL 创新营】第一课:高维向量检索的设计与实践 答疑汇总

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 【PostgreSQL 创新营】第一课:高维向量检索的设计与实践 答疑汇总

Q1:pg比mysql有什么优势?对大宽表的查询,采用什么方案更合适?
优势(详见钉钉直播视频答疑)
1)PG默认是heap堆存储,MySQL默认存储引擎InnoDB用的索引组织表。从默认底层的存储结构来说,PG在宽表的应用上会优于MySQL

2)PG宽表查询可采用的调优手段有:
GIN(Generalized Inverted Index, 通用倒排索引)
分区表;独立索引,任意列组合查询;参数调优等

Q2:PG有主从架构,如何从从库进行每天的数据备份?
1)生产建议使用从库进行备份。数据备份的方式有:pg_dump、pg_dumpall、pg_rman、barman、pg_basebackup等
2)日志备份可以通过:从库设置archive_mode = always方式实现日志记录。linux平台下可每日定时tar + rsync备份到远端

Q3:PG会往MPP发展吗?
目测不会,PG衍生品中不乏MPP架构的!

Q4:oracle数据库是同一个ip、 端口、 sid 是一个实例。那么postgresql是同一个ip 、端口 、数据库算一个实例吗?
1)通常我们指Oracle实例是内存结构和后台进程的统称。上述实例概念的理解不是那么准确。
2)PostgreSQL可以理解为集簇(多个逻辑的数据库在同个数据库实例上)

Q5:PG稳定版本,高可用方案
1)PG的稳定版本:最新版本
2)高可用方案:patroni(推荐)、第二象限repmgr、pgpool-II+pgbouncer

Q6:pg对比mysql有什么特殊的方言吗,开发中切换方便吗?另外SpringData有对应的支持吗
1)SQL标准支持
2)支持SpringData

Q7:pg的升级和扩容有什么好的解决方案
1)升级:pglogical、pg_upgrade、pg_dump+psql管道(不推荐)
2)扩容:LVM逻辑卷在线扩容;裸设备采用standby+主从切换方式等

Q8:pg在作为图形数据库上有成熟的应用吗?
1)agenstraph插件
2)cte递归语法
3)图语法支持
4)图谱应用等

Q9: pg的用法也和mysql一样通过类似mybatis框架集成到项目里面来用的吗?
可以

Q10:PG 库的分区表是怎么实现的,使用分区表好一点还是分库分表好一点
1)PG 10之前需通过插件实现分区表;PG 10后内置分区表,但分区上的索引需单独创建。因此推荐使用PG 11之后的版本。PG 12分区表做了增强
2)是否分库分表建议根据实际的数据量以及运维/改造成本考虑

Q11:陈PG在ETL数据仓库应用中,比Oracle有更多的优势吗?适合在kettle等ETL工具中使用吗?
可以

Q12:PG是否考虑开发出 类似oracle rac高可用架构,多个实例一个共享存储,既能达到负载均衡又能达到高可用。
希望后续会有,当前云厂商已有产品

Q13:pg功能与优势?行存储 与 列存储 内存表 临时表 扩展能力 事物/分析等服务 集群 管理便利性 方面
1)功能和优势(详见钉钉直播视频答疑)
2)可自行了解:列存索引、sharding、流复制、可见性检查规则、临时表等(PG无内存表)

Q14:PG 的json/jsonb 和Mongo相比较的优劣式有哪些?
PG可针对某些列/内容进行搜索,支持深度搜索,类型丰富

Q15: postgresql 有推荐的书吗 本人从事mysql运维
《PostgreSQL实战》
《PostgreSQL指南内幕探索》

Q16:什么时候需要清理wal日志,需要人为干预吗?如果需要人为干预,怎么干预?
通常设置参数合理的话,不需要
关于参数:
1)如果是PG 9.5之前,可调整keep_segment参数
2)如果是PG 9.5之后的,可调整max_wal_size和checkpoint_completion_target
调整参数后可通过reload+checkpoint方式生效并手动触发

常见几种可能造成WAL堆积的情况:
1)SLOTS数据槽失效/订阅缓慢,造成WAL堆积。建议做好SLOTS监控

2)设置archive_mode=on,但无配置archive_command

清理方式:
pg_archivecleanup

增强:
PG 11 支持在线修改wal_segment_size
PG 13 新增max_slot_wal_keep_size参数控制SLOT WAL上限
PG 14 新增pg_stat_wal视图

Q17:pg有类似RAC或MGR这种强一致性同步的架构有哪些?
PG本身可通过参数synchronous_standby_names设置强一致;类似架构可查看PG相关衍生品

Q18:PG数据库支持 国标 GB18030-2005 字符编码吗? 用SQL_ASCII 存储后 用java 及golang 开发时 处理汉字比较麻烦,有什么好的解决方法吗?
客户端编码gbk或gb2312或gb18030编码,建议pg使用euc_cn字符集。如果存储繁体字符,考虑utf8。具体使用场景/实际遇到的问题,欢迎线下沟通

Q19:PG 中jsonb修改指定_x0008_path的值是原子性的吗?有并发问题么?
是原子性的;无并发问题

Q20:pg的单表查询,表的记录数到多少量级,查询性能有明细的下降
受限于硬件配置(服务器和存储设备性能等)和数据库配置等,不同场景下,测试结论不同。建议可去github等网址上关注相关测试数据

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
12月前
|
人工智能 关系型数据库 分布式数据库
沉浸式学习PostgreSQL|PolarDB 16: 植入通义千问大模型+文本向量化模型, 让数据库具备AI能力
本文将带领大家来体验一下如何将“千问大模型+文本向量化模型”植入到PG|PolarDB中, 让数据库具备AI能力.
24985 19
沉浸式学习PostgreSQL|PolarDB 16: 植入通义千问大模型+文本向量化模型, 让数据库具备AI能力
|
3月前
|
自然语言处理 关系型数据库 数据库
技术经验解读:【转】PostgreSQL的FTI(TSearch)与中文全文索引的实践
技术经验解读:【转】PostgreSQL的FTI(TSearch)与中文全文索引的实践
27 0
|
4月前
|
弹性计算 关系型数据库 数据库
开源PostgreSQL在倚天ECS上的最佳优化实践
本文基于倚天ECS硬件平台,以自顶向下的方式从上层应用、到基础软件,再到底层芯片硬件,通过应用与芯片的硬件特性的亲和性分析,实现PostgreSQL与倚天芯片软硬协同的深度优化,充分使能倚天硬件性能,帮助开源PostgreSQL应用实现性能提升。
|
4月前
|
SQL 运维 关系型数据库
基于AnalyticDB PostgreSQL的实时物化视图研发实践
AnalyticDB PostgreSQL版提供了实时物化视图功能,相较于普通(非实时)物化视图,实时物化视图无需手动调用刷新命令,即可实现数据更新时自动同步刷新物化视图。当基表发生变化时,构建在基表上的实时物化视图将会自动更新。AnalyticDB PostgreSQL企业数据智能平台是构建数据智能的全流程平台,提供可视化实时任务开发 + 实时数据洞察,让您轻松平移离线任务,使用SQL和简单配置即可完成整个实时数仓的搭建。
143966 8
|
4月前
|
人工智能 关系型数据库 MySQL
一键实现穿衣自由|揭秘淘宝AI试衣间硬核技术:AnalyticDB MySQL向量在线召回
在AI试衣间功能的背后,阿里云瑶池旗下的云原生数据仓库AnalyticDB MySQL提供了高维向量低延时的在线向量召回检索服务,下面将进行介绍。
|
4月前
|
关系型数据库 数据库 PostgreSQL
PostgreSQL【应用 01】使用Vector插件实现向量相似度查询(Docker部署的PostgreSQL安装pgvector插件说明)和Milvus向量库对比
PostgreSQL【应用 01】使用Vector插件实现向量相似度查询(Docker部署的PostgreSQL安装pgvector插件说明)和Milvus向量库对比
428 1
|
4月前
|
SQL 关系型数据库 C语言
PostgreSQL【应用 03】Docker部署的PostgreSQL扩展SQL之C语言函数(编写、编译、载入)计算向量余弦距离实例分享
PostgreSQL【应用 03】Docker部署的PostgreSQL扩展SQL之C语言函数(编写、编译、载入)计算向量余弦距离实例分享
79 0
|
4月前
|
SQL 关系型数据库 MySQL
MySQL【实践 02】MySQL迁移到PostgreSQL数据库的语法调整说明及脚本分享(通过bat命令修改mapper文件内的SQL语法)
MySQL【实践 02】MySQL迁移到PostgreSQL数据库的语法调整说明及脚本分享(通过bat命令修改mapper文件内的SQL语法)
199 0
|
关系型数据库 测试技术 分布式数据库
PolarDB | PostgreSQL 高并发队列处理业务的数据库性能优化实践
在电商业务中可能涉及这样的场景, 由于有上下游关系的存在, 1、用户下单后, 上下游厂商会在自己系统中生成一笔订单记录并反馈给对方, 2、在收到反馈订单后, 本地会先缓存反馈的订单记录队列, 3、然后后台再从缓存取出订单并进行处理. 如果是高并发的处理, 因为大家都按一个顺序获取, 容易产生热点, 可能遇到取出队列遇到锁冲突瓶颈、IO扫描浪费、CPU计算浪费的瓶颈. 以及在清除已处理订单后, 索引版本未及时清理导致的回表版本判断带来的IO浪费和CPU运算浪费瓶颈等. 本文将给出“队列处理业务的数据库性能优化”优化方法和demo演示. 性能提升10到20倍.
792 4
|
12月前
|
弹性计算 关系型数据库 OLAP
AnalyticDB PostgreSQL版向量索引查询
本案例对比了传统查询和使用向量索引执行查询的执行时间,助您体验使用向量索引查询带来的高效和快捷。
851 0

相关产品

  • 云原生数据库 PolarDB
  • 云数据库 RDS PostgreSQL 版