【DB吐槽大会】第45期 - PG 不支持rotate表

简介: 大家好,这里是DB吐槽大会,第45期 - PG 不支持rotate表

背景


1、产品的问题点

  • PG 不支持rotate表

2、问题点背后涉及的技术原理

  • 什么是rotate表?
  • 指定一个表的最大记录条数, 最大空间使用上限, 当记录数或者空间达到使用上限后, 覆盖老的记录.
  • 通常在文档数据库, KV缓存数据库中常见.
  • KV通常都有记录的生命周期需求, 设置TTL成为KV数据库的标配.
  • 文档数据库早期的业务场景也包含了监控类业务, 因为监控指标多种多样, 通过schemaless切入进去很容易, 而且监控数据本身也有生命周期的诉求, 业务库并不需要保留所有的监控记录, 可以用比较小的实例就能满足大多数监控场景诉求(因为一般也不会为监控系统投入那么多钱, 估计给的机器也比较烂).

3、这个问题将影响哪些行业以及业务场景

  • 保存有限时间的日志类的业务场景
  • 监控日志、业务日志

4、会导致什么问题?

  • 没有rotate表时, 需要人为清理.
  • 如果设计不合理或者等数据量大到一定程度再大量清理的话, 可能导致空间膨胀, 产生大量wal的问题.
  • 当然, 也可以采用insert新表 + drop 老表来解决产生大量wal日志的问题.

5、业务上应该如何避免这个坑

  • 创建任务, 监控表的大小, 到达记录条数或空间上限后, 删除老的记录
  • 使用分区表, 达到阈值后删除老的分区, 增加新的分区
  • 不能做到精确控制
  • 创建任务, 使用多个表轮换
  • 切换表名时是DDL操作, 虽然更换表名很快, 但是会造成短暂的排他锁, 如果加锁时遇到有长查询堵塞, 操作不当可能引擎雪崩. (建议加DDL超时)
  • 例子

6、业务上避免这个坑牺牲了什么, 会引入什么新的问题

  • 管理复杂度增加, 而且容易踩到坑(前面说了)

7、数据库未来产品迭代如何修复这个坑

  • 希望内核层面支持rotate表功能.
  • 可以设置记录的存活时间、记录数据上限、空间占用上限等维度
  • 希望存储结构和清理机制可以避免WAL的产生与膨胀问题.
  • 例如以分片形式存储和清理.
  • 同时希望有抽稀的能力, 例如明细保留7天, 7天以前的按分钟统计稀疏保留. 这种通常出现在一些监控或金融、IOT等dashboard类场景.



相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
2月前
|
JavaScript 安全 应用服务中间件
LLM增强的网易云API部署用于鸿蒙原生音乐app: Melotopia
本文记录了在自建服务器上部署网易云音乐API并对接鸿蒙原生音乐App Melotopia 的全过程,涵盖 Node.js 一键部署、PM2 后台守护、Nginx 反向代理配置及 HTTPS 安全接入,实现账号同步与云端播放。(239字)
597 9
LLM增强的网易云API部署用于鸿蒙原生音乐app: Melotopia
|
7月前
|
机器学习/深度学习 自然语言处理 算法
大模型和机器学习
本文系统解析大模型与机器学习的关系,指出大模型是机器学习在“大参数、大数据、大算力”下的进化形态,二者为包含与被包含关系。文章从技术本质、能力特点、应用场景等10个维度对比分析,强调两者非替代而是互补,并展望融合发展趋势。
808 3
|
3月前
|
SQL 安全 前端开发
公司要做等保,代码审计报告找谁出?常被误读的合规问题
等保2.0要求三级及以上系统必须提供源代码安全审计报告,作为“安全开发”关键证据。该报告需聚焦逻辑层风险(如SQL注入、越权、硬编码密钥等),非漏洞扫描或渗透测试可替代。合规报告须满足:方法论合规(依据GB/T 39412-2020等)、结果可追溯(精确定位至行号+复现路径)、整改可闭环(含修复建议与免费复测)。服务方应具备CMA、CCRC等法定资质,并采用“自动化扫描+人工深度分析”双轨机制。(239字)
|
7月前
|
人工智能 资源调度 供应链
智能体对传统行业冲击:中后台,才是产业重塑的第一现场
本文探讨AI从“流程自动化”迈向“认知自主化”后,对传统行业结构性变革的影响:中后台(非一线岗位)正率先被智能体重构——因其任务具数字原生性、决策密度高、协调成本大。供应链、财务、人力三大场景首当其冲。组织正加速演进为“沙漏型”:价值重心转向决策自动化与智能体策略成熟度。(239字)
360 8
|
8月前
|
关系型数据库 MySQL Linux
阿里云轻量应用服务器介绍及支持的应用镜像说明
阿里云轻量应用服务器(Simple Application Server)是面向网站建设、开发测试、小型应用等轻量级使用场景的云服务器产品,适合个人或中小企业使用。其核心特点包括轻量化设计、贴近实际应用需求、账单确定性强且具备可进化能力,能帮助中小企业及开发者快速构建应用程序和网站,便捷开启上云之旅。
|
10月前
|
机器学习/深度学习 移动开发 资源调度
基于OCDM雷达系统的离散Fresnel域信道估计——论文阅读
本文研究基于离散Fresnel域信道估计的OCDM雷达系统,提出一种抑制高旁瓣的新方法。通过分析时间与频率偏移在离散Fresnel域的影响,建立联合信道模型,揭示距离-多普勒耦合效应。实验验证了系统在真实场景下的鲁棒性,兼具低峰均比、强抗干扰能力,为6G一体化感知通信提供新思路。
447 1
基于OCDM雷达系统的离散Fresnel域信道估计——论文阅读
|
12月前
|
JSON 监控 前端开发
如何开发门店业绩上报管理系统中的销售计划板块?(附架构图+流程图+代码参考)
门店业绩上报不仅是记录销售数据,更是公司目标传达、资源分配与激励设计的关键环节。本文全面解析销售计划板块的构建,涵盖功能拆解、业务流程、技术架构及开发技巧,并提供上线后的运营建议与代码参考,助力企业实现高效门店管理与目标追踪。
|
机器学习/深度学习 数据采集 数据可视化
《小红书电商 API 接口,种草效果评估实用秘籍!》
在社交电商时代,小红书凭借其强大的种草能力成为品牌营销关键平台。本文详解如何通过小红书电商 API 接口获取数据,科学评估种草效果,提升用户转化与 ROI。内容涵盖 API 功能、核心指标计算、实战秘籍及优化策略,助你高效驱动品牌增长。
|
存储 设计模式 Java
重学Java基础篇—ThreadLocal深度解析与最佳实践
ThreadLocal 是一种实现线程隔离的机制,为每个线程创建独立变量副本,适用于数据库连接管理、用户会话信息存储等场景。
574 5