digoal / blog

Opensource,Database,AI,Business,Minds. git clone --depth 1 https://github.com/digoal/blog
https://github.com/digoal/blog/blob/master/README.md
GNU General Public License v2.0
8.11k stars 1.9k forks source link

PG 数据库 功能许愿墙 #76

Open digoal opened 4 years ago

digoal commented 4 years ago

您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能.

说不定下一个PG版本就有您提出的功能点, 开不开森.
针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。

请按如下格式许愿^_^

必填

行业: 互联网

功能期望: 列存表

解决什么问题: 提高分析场景性能

期望功能分级: 选项 [有就一定用、没有就不用、其他]

选填

企业名称:

数据库规模:

业务逻辑:

业务痛点:

数据库痛点:

如果有不方便发出的内容, 可以邮件私发给我: digoal@126.com

digoal commented 4 years ago

奖品很多啊, PostgreSQL文化衫、卫衣、热门畅销书、水晶吊坠、贴纸、PG钛合金开瓶器

digoal commented 4 years ago

行业: 传统 功能期望: 登录失败超过限制之后,就锁定用户 解决什么问题: 提高安全性, 防止暴力破解, 兼容oracle 期望功能分级: 选项 [有就一定用、没有就不用、其他] 替代方案: auth_delay 开发提示: login hook

digoal commented 4 years ago

行业: 通用 功能期望: PG大版本迁移, 业务兼容性评估, 包括元数据、SQL等 解决什么问题: 希望使用大版本的功能或提升性能, 兼容性评估, 用于业务改造和迁移决策 期望功能分级: 选项 [有就一定用、没有就不用、其他] 替代方案: 人肉查看release notes migration建议部分 开发提示: 类似adam, 采集元数据, 采集应用请求(sql请求), 在目标版本库中回放, 判断是否兼容.

inshua commented 4 years ago

列式存储 吸纳Yogabyte 的分布式设计+RocksDB存储层 JSON/JSONB的列式存储 JSONB语法简化,支持数字类型引用 吸纳PipelineDB的流视图

imhomer commented 4 years ago

行业: 通用 功能期望: 在社区版中增加RUM索引接口(目前这个插件只能在PostGreSQL Professional中使用 解决什么问题: 通过增加索引的位置信息,实现检索加速 期望功能分级: 有就一定用

binbinyounimen commented 4 years ago

行业: 互联网 功能期望: WAL 日志能够完美解析;pg_basebackup能够多线程备份 解决什么问题: MySQL binlog能够解析出具体的语句,能够更加准确的帮助恢复数据,希望PG能够引入该功能;对于大数据量的备份,pg_basebackup 单线程就显得很无力。耗时很久 期望功能分级: 有就一定用

digoal commented 4 years ago

列式存储 吸纳Yogabyte 的分布式设计+RocksDB存储层 JSON/JSONB的列式存储 JSONB语法简化,支持数字类型引用 吸纳PipelineDB的流视图

需要说一下每个需求的背景, 这样比较有参考意义

digoal commented 4 years ago

功能期望: 在社区版中增加RUM索引接口(目前这个插件只能在PostGreSQL Professional中使用 解决什么问题: 通过增加索引的位置信息,实现检索加速 期望功能分级: 有就一定用

安排, 默认会加入所有RDS PG版本

digoal commented 4 years ago

析;pg_basebackup能够多线程备份 解决什么问题: MySQL binlog能够解析出具体的语句,能够更加准确的帮助恢复数据,希望PG能够引入该功能;对于大数据量的备份,pg_basebackup 单线程就显得很无力。耗时很久

WAL解析的功能确实有必要, 例如可以在任何时候解析出最近1天的wal的sql. 可以考虑加一个GUC参数, 保证最后N分钟内的catalog版本, 可以解析最后N分钟内产生的WAL内容, 而不需要开一个logical decode一直在那解析.

digoal commented 4 years ago

行业: 通用 功能期望: 通过WAL 日志修复坏块. 解决什么问题: 当出现数据坏块时, 目前需要通过PITR全量恢复, 耗时, 耗资源. 期望功能分级: 有就一定用

digoal commented 4 years ago

行业: 通用 功能期望: 可配置idle 会话超时断开的时间 解决什么问题: 降低连接, 当某些异常请求把PG连接打爆后, IDLE一段时间自动释放. 期望功能分级: 有就一定用

digoal commented 4 years ago

行业: 通用 功能期望: 可配置连接生命周期, 例如一个连接生存若干分钟后, 当它处于idle时立即释放(主动断开与客户端的连接) 解决什么问题: 某些PaaS类业务, 一个连接的存活时间越长, 随着访问的PG元数据增加, 会导致会话的本地内存越来越多(不会释放), 连接多会导致OOM. 通过global cache也能解决这类问题.
期望功能分级: 有就一定用

maxlinux1 commented 4 years ago

行业: 物联网-新能源 功能期望: 三权分立 解决什么问题: 提高系统安全访问控制 期望功能分级: 有就一定用 替代方案: 基于role的acl访问权限细化 开发提示: 类似系统级的三权分立:admin、secure、audit

binbinyounimen commented 4 years ago

行业: 互联网 功能期望: pg_basebackup能够多线程备份以及在备库备份 解决什么问题: 首先多线程备份对于大型数据库能够起到很好的加速作用,其从在备库执行备份,可以有效减轻主库负担,减少异常发生 期望功能分级: 有就一定用 数据库痛点: 现在实例达到2T多,单线程备份居然需要好几个小时,而且只能在主库进行,大大增加主库风险。查看了目前主流的备份工具(barman、bgbackreset),都是基于pg_basebackup进行开发升级的,原理基本一致,需要执行pg_start_backuppg_stop_backup,这两个命令只能在主库执行。

ChenHuajun commented 4 years ago

行业: 通用 功能期望: 优化Gin索引范围查询性能 解决什么问题: Gin索引在任意字段组合的等值查询条件下相比Btree,在性能和消耗存储空间上有很大优势,可以部分替代搜索服务。但Gin索引的范围查询效率很低,范围左右边界会被分别扫描再把结果合并,导致有范围查询字段还需要单拎出来建Btree索引,使用体验不好。 期望功能分级: 有就一定用 替代方案: Gin + Btree组合使用

digoal commented 4 years ago

现在实例达到2T多,单线程备份居然需要好几个小时,而且只能在主库进行,大大增加主库风险。查看了目前主流的备份工具(barman、bgbackreset),都是基于pg_basebackup进行开发升级的,原理基本一致,需要执行pg_start_backup和pg_stop_backup,这两个命令只能在主库执行。

pg_basebackup支持在备库进行的呀, 有share模式, 不一定要start backup, stop backup.

digoal commented 4 years ago

行业: 通用 功能期望: 语句级超时HINT, 例如 /+ Set(statement_timeout "100ms") / select * from abc where info like '%abcde%';

解决什么问题: 防雪崩, 指定某些特定SQL的执行耗时上限 期望功能分级: 有就一定用 替代方案: 由于实现问题, pg_hint_plan目前无法对statement_timeout设置超时.

linjyy commented 4 years ago

行业:通用 功能期望: 1)vacuum full时表大部分时间可用。例如:发起该操作时,后台创建一张临时表,进行可用元组复制等,并通过触发器记录增量,待完成后,替换表名、执行触发器、更新系统视图等并清理原表,仅rename时表锁,降低影响。索引的话设置可见/不可见 2)拥有grant all权限的角色,新增表时关系能继承,而不用再次授权。类似mysql 库.* 授权方式。 3)WAL日志能指定时间区间进行解析/反解析。反解析类似mysql的binlog2sql

期望功能分级: 没有就不用

digoal commented 4 years ago

行业:通用 功能期望: 1)vacuum full时表大部分时间可用。例如:发起该操作时,后台创建一张临时表,进行可用元组复制等,并通过触发器记录增量,待完成后,替换表名、执行触发器、更新系统视图等并清理原表,仅rename时表锁,降低影响。索引的话设置可见/不可见 2)拥有grant all权限的角色,新增表时关系能继承,而不用再次授权。类似mysql 库.* 授权方式。 3)WAL日志能指定时间区间进行解析/反解析。反解析类似mysql的binlog2sql

期望功能分级: 没有就不用

好提议, 现在vacuum full需要使用pg_repack插件来代替. 如果vacuum full能直接支持就太好了. WAL日志能指定时间区间进行解析/反解析, 这个功能需要内核层支持这个功能, 例如应该需要内部有自动维护slot窗口的机制, 通过参数配置来保持2小时内的wal可被解析.

grant all这个功能隐藏得比较深入, 使用alter default privileges语法来实现.
https://www.postgresql.org/docs/13/sql-alterdefaultprivileges.html

ChenHuajun commented 4 years ago

行业:通用 功能期望: 1)vacuum full时表大部分时间可用。例如:发起该操作时,后台创建一张临时表,进行可用元组复制等,并通过触发器记录增量,待完成后,替换表名、执行触发器、更新系统视图等并清理原表,仅rename时表锁,降低影响。索引的话设置可见/不可见 2)拥有grant all权限的角色,新增表时关系能继承,而不用再次授权。类似mysql 库.* 授权方式。 3)WAL日志能指定时间区间进行解析/反解析。反解析类似mysql的binlog2sql

期望功能分级: 没有就不用 WAL日志解析成SQL可以使用插件walminer,和参考这篇文章http://www.postgres.cn/v2/news/viewone/1/564 我们目前用的是1.x的修改版 https://gitee.com/skykiker/XLogMiner 原始版本当前是2.0beta版 https://gitee.com/movead/XLogMiner

digoal commented 4 years ago

行业:通用 功能期望: 存储按实际使用收费. 目前云数据库服务基本上都是需要预购存储, 无法按真实使用付费. 期望可以根据pg_database_size的评估容量进行收费. wal日志和归档另外计费. 当数据删除后, pg_database_size的计算容量立减, 计费也应该立减

期望功能分级: 没有就不用

ByCnck commented 4 years ago

行业:通用 功能期望: 存储按实际使用收费. 目前云数据库服务基本上都是需要预购存储, 无法按真实使用付费. 期望可以根据pg_database_size的评估容量进行收费. wal日志和归档另外计费. 当数据删除后, pg_database_size的计算容量立减, 计费也应该立减

期望功能分级: 没有就不用

很好,希望早点上!
如果没做空间回收,还是占用os空间,此时收费应该的吧,因为别人也不能购买使用这部分空间。vacuum full or 三方工具。 另外我们公司最近在要开始大量删数据(老库迁移遗留的),autovacuum这块有问题,膨胀点一直涨,用的阿里pg rds,我leader应该给贵司发了一个问题报告,抽时间给处理下呗

digoal commented 4 years ago

行业:通用 功能期望: 存储按实际使用收费. 目前云数据库服务基本上都是需要预购存储, 无法按真实使用付费. 期望可以根据pg_database_size的评估容量进行收费. wal日志和归档另外计费. 当数据删除后, pg_database_size的计算容量立减, 计费也应该立减 期望功能分级: 没有就不用

很好,希望早点上! 如果没做空间回收,还是占用os空间,此时收费应该的吧,因为别人也不能购买使用这部分空间。vacuum full or 三方工具。 另外我们公司最近在要开始大量删数据(老库迁移遗留的),autovacuum这块有问题,膨胀点一直涨,用的阿里pg rds,我leader应该给贵司发了一个问题报告,抽时间给处理下呗

发工单, 提pg_repack需求.

digoal commented 4 years ago

行业:通用 功能期望: 库表级快照、时间点克隆、时间点flash back功能.

场景: 在企业paas服务场景, 每个数据库的不同table或schema或database会对应到软件服务中的某一个企业, 当这个企业的数据需要回退时, 不需要回退整个数据库实例.

期望功能分级: 有就用

Dlh894880406 commented 4 years ago

行业:运维 功能期望:PG支持异端pg_rewind 期望功能分级: 有没有应用场景先不说,都能搭建,总得给个解决办法。

digoal commented 4 years ago

能搭建,总得给个解决办法。

希望详细解释一下, 异端pg_rewind.

Dlh894880406 commented 4 years ago

就windows PG到linux PG的异步流复制,主备来回切换,导致了时间线不匹配,使用pg_rewind去恢复时间线会有个操作系统不匹配的报错。既然能搭建,就应该有解决办法吧,虽然这种情况应用场景非常少。

------------------ 原始邮件 ------------------ 发件人: "digoal/blog" <notifications@github.com>; 发送时间: 2020年10月24日(星期六) 中午1:20 收件人: "digoal/blog"<blog@noreply.github.com>; 抄送: "START"<894880406@qq.com>;"Comment"<comment@noreply.github.com>; 主题: Re: [digoal/blog] PG 数据库 功能许愿墙 (#76)

能搭建,总得给个解决办法。

希望详细解释一下, 异端pg_rewind.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

digoal commented 4 years ago

通用行业问题: mysql的性能较弱, 用户在略微复杂的sql下容易遇到性能问题,而解决办法通常是分库分表+同步到搜索引擎和数据分析产品来解决. 问题凸显: 中台投入, 成本上升,同步延迟, 异构同步出现差错等问题。 功能期望: pg支持mysql协议和语法, 在不改变用户习惯的情况下支持mysql 客户问题, 同时支持pg复杂语法, 支撑大型业务场景. 附加功能: mysql负载抓取,负载replay, 诊断优化工具

digoal commented 4 years ago

行业:软件PaaS行业 功能期望: 数据库名、用户名隐藏, 用户只能看到指定的其他用户和指定的数据库. 在元数据中直接隔离, server less功能.

场景: 在企业paas服务场景, 每个数据库会对应到软件服务中的某一个企业, 在元数据层面进行隔离. 原始的PG版本数据库、账号都是全局数据, 全部可见, 虽然在连接、数据访问等方面有权限隔离, 但是元数据没有被隔离.

期望功能分级: 有就用

pcsuc007 commented 4 years ago

行业:传统制造业 期望功能:PG长时间空闲连接可以自动回收并释放资源; 解决什么问题:PG空闲连接进程把内存耗尽; 期望功能分级: 有就一定用

figoxu commented 4 years ago

madlib 作为阿里云的内置plugin http://madlib.apache.org/docs/latest/group__grp__graph.html

digoal commented 4 years ago

行业:互联网行业 功能期望: 基于sql特征规则限流的功能. 在hook层面实现. 目前仅支持用户、db、全局statement级别的timeout. 粒度较大. 希望能能通过配置sql, qps来实现. 例如sql1: qps上限10000, sql2: qps上线1000. sql中支持变量配置, 例如select x from x where x;

场景: 防止雪崩. 防止某些业务或个人提交某些sql把资源耗尽.

期望功能分级: 有就用

digoal commented 4 years ago

行业:传统制造业 期望功能:PG长时间空闲连接可以自动回收并释放资源; 解决什么问题:PG空闲连接进程把内存耗尽; 期望功能分级: 有就一定用

有个插件可以实现, pg_timeout

digoal commented 4 years ago

madlib 作为阿里云的内置plugin http://madlib.apache.org/docs/latest/group__grp__graph.html

好提议

linjyy commented 4 years ago

行业:通用 期待功能:shared_preload_libraries能实现reload在线装载而非postmaster

digoal commented 4 years ago

行业:通用 期望功能:pg_stat_statements提供p99 , p95的指标 解决什么问题:监控PG语句的执行稳定性, 作为业务指标参考. 期望功能分级: 有就一定用

MondayLiu commented 3 years ago

1、单实例Postgres支持50TB数据吗?响应时长大概多少吗? 2、生产环境,OLTP场景,单实例Postgres一般的上限是多少比较合适?

digoal commented 3 years ago

1、单实例Postgres支持50TB数据吗?响应时长大概多少吗? 2、生产环境,OLTP场景,单实例Postgres一般的上限是多少比较合适?

单表最大128TB, 单实例没有设计上限. 需要结合硬件和具体业务case, 以及围绕目标的方案设计.

digoal commented 3 years ago

行业:通用 功能期望: 1)vacuum full时表大部分时间可用。例如:发起该操作时,后台创建一张临时表,进行可用元组复制等,并通过触发器记录增量,待完成后,替换表名、执行触发器、更新系统视图等并清理原表,仅rename时表锁,降低影响。索引的话设置可见/不可见 2)拥有grant all权限的角色,新增表时关系能继承,而不用再次授权。类似mysql 库.* 授权方式。 3)WAL日志能指定时间区间进行解析/反解析。反解析类似mysql的binlog2sql

期望功能分级: 没有就不用

14增加了2个角色, read和write all object, 可以解决第二个问题

digoal commented 3 years ago

行业: 通用 功能期望: 可配置idle 会话超时断开的时间 解决什么问题: 降低连接, 当某些异常请求把PG连接打爆后, IDLE一段时间自动释放. 期望功能分级: 有就一定用

PG 14支持了.

cevin commented 3 years ago

自带支持sharding-nothing集群

cevin commented 3 years ago

官方内置的中文分词支持自定义词库

kangwen commented 3 years ago

行业: 互联网 功能期望: 支持多分片的 bitmap 解决什么问题: 类似Redis的bitmap,制作布隆过滤器的时候,使用Redis的bitmap的话不能很好做到多分片承载数据。 期望功能分级: 有就一定用

WangQu commented 3 years ago

行业: 医疗 功能期望: 类似oracle常用的decode等一些常用函数 解决什么问题:解决字符处理等一些常见场景的问题 期望功能分级: 有就一定用

ananclub commented 3 years ago

行业: 互联网 功能期望: 实现跟oracle/mssqlserver 类似的user/role 解决什么问题: 指定用户只能执行有限的操作(存储过程)和获取指定的数据()视图 期望功能分级: 有就一定用

zhl003 commented 2 years ago

行业:通用 功能期望: 流复制同步复制自动降级异步机制 解决什么问题:当主从配置同步流复制,备库出故障主库就会wait 期望功能分级: 第三方的高可用软件可以实现,但灵敏度及完善程度远不如数据库自带

yozol commented 2 years ago

行业: 互联网 功能期望: 实现临时外表机制 解决什么问题: 目前只有临时表,临时外表是缺失的,在一些场景中,外表可能用完就删掉,如果显式的删除会比较丑陋,可以采用类似临时表的逻辑。 期望功能分级: 有就一定用

wanggnot commented 2 years ago

您好!您的来信以收到,谢谢您的来信,我这会儿暂时无法收看您的邮件,我会以最快的速度拜读您的来信。

XyxH commented 2 years ago

行业: 通用 功能期望: 增加子事务溢出监控视图表,当子事务溢出后,查看是哪个事务产生子事务溢出了 解决什么问题: 生产环境中遇到了子事务溢出的问题,但排查不到究竟是哪个事务,往往只有重启所有的连接。 期望功能分级: 有就一定用 替代方案: 无 开发提示: subtran_info

XyxH commented 2 years ago

行业: 通用 功能期望: 增加子事务的观测手段,能够观测那些事务使用了子事务以及当前子事务的深度 解决什么问题: 生产环境中遇到了子事务溢出的问题,但排查不到究竟是哪个事务,看不到深度,往往只有重启所有的连接。 期望功能分级: 有就一定用 替代方案: 无