Posts in 2023
  • 数据库真被卡脖子了吗?

    2023年11月02日 in 数据库

    Featured Image for 数据库真被卡脖子了吗?

    如果说“云数据库”算是成本ROI略欠体面的合格品,那么很多“国产数据库”就是烂泥扶不上墙的残次品。信创操作系统数据库约等于 IT 预制菜进校园。用户捏着鼻子迁移,开发者假装在卖力,陪着不懂也不在乎技术的领导演戏。大量人力财力被挥霍到没有价值的地方去,反而了浪费掉了真正的机会。基础软件行业其实没人卡脖子,真正卡脖子的都是所谓“自己人”。 垄断关系生意 北京欢乐谷门口大喇叭一直在喊:“请不要在门外购买劣质矿泉水”,小贩都被轰的远远儿的。进去后园区就会把一样的东西用五倍的价格卖给你(当然也可能是掺尿内 …

    Read more

  • PostgreSQL 宏观查询优化之 pg_stat_statements

    2023年10月26日 in PG 管理

    Featured Image for PostgreSQL 宏观查询优化之 pg_stat_statements

    在线业务数据库中,慢查询不仅影响终端用户体验,还会浪费系统资源、拉高资源饱和度、导致死锁和事务冲突,增加数据库连接压力,导致主从复制延迟等问题。因此,查询优化是 DBA 的核心工作内容之一。 在查询优化这条路上,有两种不同的方法: 宏观优化:整体分析工作负载,对其进行剖分下钻,自上而下地识别并改进其中表现最糟糕的部分。 微观优化:分析并改进一条特定的查询,这便需要记录慢查询日志,掌握 EXPLAIN 的玄机,领悟执行计划的奥妙。 今天我们先来说说前者,宏观优化有三个主要目标与动机: 减少资源消 …

    Read more

  • v2.5:Ubuntu & PG16

    2023年10月24日 in 版本发布

    Featured Image for v2.5:Ubuntu & PG16

    时值 1024 程序员节,Pigsty v2.5.0 发布了 🎉,这个版本添加了对 Ubuntu 与 Debian 系操作系统的支持,加上原有的 EL7/8/9 支持,可谓实现了主流 Linux 操作系统大满贯。 此外,Pigsty 正式支持了自托管的 Supabase 与 PostgresML,以及列式存储插件 hydra,激光雷达点云支持插件 pointcloud,图像相似度计算插件 imgsmlr,扩展距离函数包 pg_similarity 以及多语言模糊检索插件 pg_bigm。 在监控 …

    Read more

  • EL系操作系统发行版哪家强?

    2023年10月09日 in 数据库

    Featured Image for EL系操作系统发行版哪家强?

    有很多用户都问过我,跑数据库用什么操作系统比较好。特别是考虑到 CentOS 7.9 明年就 EOL了,应该有不少用户需要升级OS了,所以今天分享一些经验之谈。 太长不看 长话短说,在现在这个时间点如果用 EL 系列操作系统发行版,特别是如果要跑 PostgreSQL 相关的服务,我强烈推荐 RockyLinux,有“国产化”要求的也可以选龙蜥 OpenAnolis。AlmaLinux 和 OracleLinux 兼容性有点问题,不建议使用。Euler 属于独一档的 IT 领域预制菜进校园, …

    Read more

  • FerretDB:假扮成MongoDB的PG

    2023年10月08日 in PG 生态

    Featured Image for FerretDB:假扮成MongoDB的PG

    MongoDB 曾经是一项令人惊叹的技术,让开发者能够抛开关系型数据库的“模式束缚”,快速构建应用程序。然而随着时间推移,MongoDB 放弃了它的开源本质,这使得许多开源项目和早期商业项目无法使用它。 大多数 MongoDB 用户其实并不需要 MongoDB 提供的高级功能,但他们确实需要一个易于使用的开源文档数据库解决方案。PostgreSQL 的 JSON 功能支持已经足够完善了:二进制存储 JSONB,GIN 任意字段索引 ,各种 JSON 处理函数,JSON PATH 和 JSON …

    Read more

  • 如何用 pg_filedump 抢救数据?

    2023年09月27日 in PG 管理

    Featured Image for 如何用 pg_filedump 抢救数据?

    备份是DBA的生命线 —— 但如果你的 PostgreSQL 数据库已经爆炸了又没有备份,那么该怎么办呢?也许 pg_filedump 可以帮到你! 最近遇到了一个比较离谱的活儿,情况是这样的:有个用户的 PostgreSQL 数据库损坏了,是 Gitlab 自己拉起的 PostgreSQL。没有从库,没有备份,也没有 dump。跑在拿 SSD 当透明缓存的BCACHE上,断电后起不来了。 但这还没完,接连经受了几轮摧残之后,它彻底歇菜了:首先是因为忘了挂BCACHE盘,导致 Gitlab重新 …

    Read more

  • v2.4:监控云数据库

    2023年09月14日 in 版本发布

    Featured Image for v2.4:监控云数据库

    PostgreSQL 今天发布了新的大版本 16,带来了一系列改进。Pigsty在发布后的1小时内便立即跟进了全新版本 Pigsty v2.4 ,提供了对 PostgreSQL 16 正式版的完整支持。此外在 v2.4 中,还对监控已有PG实例,特别是 RDS for PostgreSQL 与 PolarDB 提供了额外的支持。Redis 监控基于 7.x 进行了改进,提供了自动化的基于 Sentinel 的高可用配置。 Pigsty v2.4 目前仍为 Beta 状态,可以使用以下命令快速上 …

    Read more

  • PG先写脏页还是先写WAL?

    2023年09月10日 in PG 内核

    Featured Image for PG先写脏页还是先写WAL?

    微信公众号原文 昨天在群里遇到一个有趣的关于 PostgreSQL 的问题: ”写脏数据页和写入WAL缓冲区的先后顺序是什么?“ 我们都知道, WAL 就是 Write Ahead Log / 预写式日志 的缩写,那从逻辑上说,好像是先写 WAL 再写数据页才对。 但其实这个问题有趣在,写入其实是发生在两个地方的:内存与磁盘。而这对这两者的写入顺序是不一样的:在内存中,先写脏数据页,再写 WAL记录。在刷盘时,先刷 WAL 记录,再刷脏数据页。 我们可以用一个简单的例子来说明, …

    Read more

  • 基础软件需要什么样的自主可控?

    2023年08月31日 in 数据库

    Featured Image for 基础软件需要什么样的自主可控?

    当我们说自主可控时,到底在说什么? 对于一款基础软件(操作系统 / 数据库)来说,自主可控到底是指:由中国公司/中国人开发、发行、控制?还是可以运行在“国产操作系统”/国产芯片上? 名不正则言不顺,言不顺则事不成。当下的“自主可控”乱象正是与定义不清,标准不明有着莫大的关系。但这并不妨碍我们探究一下“信创安可自主可控”这件事,要实现的目标是什么? 国家的需求说起来很简单:打仗吃制裁后,现有系统还能不能继续跑起来。 软件自主可控分为两个部分:运维自主可控 与 研发自主可控 ,国家/用户真正需要的自 …

    Read more

  • v2.3:丰富应用生态

    2023年08月20日 in 版本发布

    Featured Image for v2.3:丰富应用生态

    Pigsty v2.3 发布了 🎉,在这个版本中进一步完善了监控系统、应用生态、并跟进 PostgreSQL 例行的小版本更新(CVE修复)。 Pigsty v2.3 跟随 PostgreSQL 主干小版本进行更新,包括 15.4, 14.9, 13.12, 12.16 以及 16.beta3,此更新修复了一个 CVE 安全漏洞。此外高可用管控 Patroni 也升级到 3.1 版本,解决了一些 BUG 。 v2.3 提供了对 FerretDB 的支持,它是一个构建在 PostgreSQL 之 …

    Read more