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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB PostgreSQL 版,企业版 4核16GB
推荐场景:
HTAP混合负载
云原生数据库 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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
5天前
|
自然语言处理 关系型数据库 数据库
技术经验解读:【转】PostgreSQL的FTI(TSearch)与中文全文索引的实践
技术经验解读:【转】PostgreSQL的FTI(TSearch)与中文全文索引的实践
|
2月前
|
安全 关系型数据库 分布式数据库
【PolarDB 开源】PolarDB 在金融行业中的实践:高可用与安全合规解决方案
【5月更文挑战第28天】PolarDB,一款适用于金融行业的强大数据库,以其高可用性和安全合规性脱颖而出。通过多副本机制和自动故障转移确保业务连续性,结合严格的访问控制和数据加密技术保护信息安全。在实际应用中,如银行核心系统,PolarDB 负责处理海量交易数据,同时支持主从架构以备故障切换。此外,设置强密码策略和加密存储确保合规性,并通过监控预警及时解决问题。随着金融科技发展,PolarDB 将在云原生架构和人工智能等领域发挥更大作用,助力金融行业创新与进步。
103 0
|
2月前
|
负载均衡 关系型数据库 分布式数据库
【PolarDB开源】PolarDB读写分离实践:优化读取性能与负载均衡策略
【5月更文挑战第26天】PolarDB是云原生关系型数据库,通过读写分离优化性能和扩展性。它设置主节点处理写操作,从节点处理读操作,异步复制保证数据一致性。优化读取性能的策略包括增加从节点数量、使用只读实例和智能分配读请求。负载均衡策略涉及基于权重、连接数和地理位置的分配。实践示例中,电商网站通过主从架构、只读实例和负载均衡策略提升商品查询效率。PolarDB的读写分离与负载均衡为企业应对大数据和高并发提供了有效解决方案。
143 0
|
2月前
|
SQL 监控 关系型数据库
【PolarDB开源】PolarDB SQL优化实践:提升查询效率与资源利用
【5月更文挑战第24天】PolarDB是高性能的云原生数据库,强调SQL查询优化以提升性能。本文分享了其SQL优化策略,包括查询分析、索引优化、查询重写、批量操作和并行查询,以及性能监控与调优方法。通过这些措施,可以减少响应时间、提高并发处理能力和降低成本。文中还提供了相关示例代码,展示如何分析查询和创建索引,帮助用户实现更高效的数据库管理。
204 1
|
2月前
|
监控 关系型数据库 分布式数据库
【PolarDB 开源】PolarDB HTAP 实践:混合事务与分析处理的性能优化策略
【5月更文挑战第21天】PolarDB开源后在HTAP领域表现出色,允许在同一系统处理事务和分析工作负载,提高数据实时性。通过资源分配、数据分区、索引优化等策略提升性能。示例代码展示了创建和查询事务及分析表的基本操作。PolarDB还提供监控工具,帮助企业优化系统并应对业务变化。其HTAP能力为开发者和企业提供了强大支持,推动技术进步,加速数字化时代的业务发展。
398 1
|
2月前
|
存储 SQL Cloud Native
深入了解云原生数据库CockroachDB的概念与实践
作为一种全球领先的分布式SQL数据库,CockroachDB以其高可用性、强一致性和灵活性等特点备受关注。本文将深入探讨CockroachDB的概念、设计思想以及实践应用,并结合实例演示其在云原生环境下的优越表现。
|
2月前
|
弹性计算 关系型数据库 数据库
开源PostgreSQL在倚天ECS上的最佳优化实践
本文基于倚天ECS硬件平台,以自顶向下的方式从上层应用、到基础软件,再到底层芯片硬件,通过应用与芯片的硬件特性的亲和性分析,实现PostgreSQL与倚天芯片软硬协同的深度优化,充分使能倚天硬件性能,帮助开源PostgreSQL应用实现性能提升。
|
2月前
|
Cloud Native 关系型数据库 大数据
CockroachDB:云原生数据库的新概念与实践
本文将介绍CockroachDB,一种先进的云原生数据库,它具备分布式、强一致性和高可用性等特点。我们将探讨CockroachDB的基本原理、架构设计以及在实际应用中的种种优势和挑战。
|
2月前
|
SQL 运维 关系型数据库
基于AnalyticDB PostgreSQL的实时物化视图研发实践
AnalyticDB PostgreSQL企业数据智能平台是构建数据智能的全流程平台,提供可视化实时任务开发 + 实时数据洞察,让您轻松平移离线任务,使用SQL和简单配置即可完成整个实时数仓的搭建。
458 1
|
2月前
|
人工智能 关系型数据库 MySQL
一键实现穿衣自由|揭秘淘宝AI试衣间硬核技术:AnalyticDB MySQL向量在线召回
在AI试衣间功能的背后,阿里云瑶池旗下的云原生数据仓库AnalyticDB MySQL提供了高维向量低延时的在线向量召回检索服务,下面将进行介绍。

相关产品

  • 云原生数据库 PolarDB