暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

推杠赛, 挑战赛 设计

原创 digoal 2022-01-20
221

作者

digoal

日期

2021-08-03

标签

PostgreSQL , 问题 , 回应


类似这种:

《为PostgreSQL讨说法 - 浅析《UBER ENGINEERING SWITCHED FROM POSTGRES TO MYSQL》》

找同一赛道的两个产品进行同台对抗.

目标: 找到产品在市场、场景、商业、生态、设计等方面的优点、缺点.

例子:

(推)挑战:
- PG的PK查询多一次索引回表的IO.

(接)回应或反驳:
- 数据库要讲究综合性能, 不是只有PK查询, 如果只有PK查询为什么不用redis缓存.
- 多1次IO没什么问题, 现在SSD的IO延迟也就几十US, 而且内存这么便宜, 一个IO也就8K, 热数据都可以在内存中缓存下来.
- 反倒是索引组织表存在写入性能问题, 节点膨胀问题, 收缩代价问题, 二级索引性能差等问题等. 为了节省1个IO简直是丢了西瓜捡芝麻.

(推)挑战:
- PG是进程模型, 高并发性能差.

(接)回应或反驳:
- Oracle也是进程模型, 全球市场占有率第一, 大家都想干掉它.
- 进程模型不代表高并发性能差, 要分析清楚主要矛盾和次要矛盾, 事务快照问题目前才是亟待解决的, PG高并发的问题在POLARDB已经解决了. 而且后面还在做线程池, 支持更高的并发.
- 而且现在都是多核服务器, 进程模型可以更好的发挥计算能力. PG的并行计算利用多核的计算能力, 换来指数级提升就是个很好的证明.

(推)挑战:
- PG存在OS和DB双重缓存问题, 浪费内存.

(接)回应或反驳:
- 要分清主要矛盾和次要矛盾, 现在都用云盘了, IO延迟很高, 所以有buffer IO在前面挡一层, 写性能实际上会更好, 同时os层merge io可以减少IO.
- 浪费一点内存, 换来更好的写入性能何乐不为.

(推)挑战:
- PG的catalog是本地缓存, 每个链接都要缓存访问过的数据库对象的元数据, 在SaaS场景高并发长链接的情况下容易出现OOM的问题.

(接)回应或反驳:
- 你说得对, 所以Polardb在做global cache, 而且saas场景不仅仅需要globalcache:
- 《直播 SaaS行业需要什么样的数据库? - 案例: 智赢跨境电商ERP, 家庭主妇年薪百万的秘密》

PostgreSQL 许愿链接

您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.

9.9元购买3个月阿里云RDS PostgreSQL实例

PostgreSQL 解决方案集合

德哥 / digoal's github - 公益是一辈子的事.

digoal's wechat

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论