数据库实验室引擎 2.2.0 和 Joe Bot 0.9.0

由 Postgres.AI 于 2021-02-25 发布
相关专有 相关开源

关于数据库实验室引擎

数据库实验室引擎 (DLE) 是一个用于 PostgreSQL 数据库的开源实验平台。 DLE 可以立即创建您生产数据库的完整大小的瘦克隆,您可以使用它们来

  1. 测试数据库迁移
  2. 优化 SQL 查询
  3. 部署全尺寸的预发布应用程序

数据库实验室引擎可以为任何大小的数据库生成瘦克隆,从而消除使用传统方法创建“厚”数据库副本所需的数小时(或数天!)的时间。 瘦克隆是独立的、完全可写的,并且行为与生产环境相同:它们将具有相同的数据并生成相同的查询计划。

了解有关数据库实验室引擎的更多信息,并在 https://postgres.ai/ 上注册一个帐户。

数据库实验室引擎 2.2.0

数据库实验室引擎 (DLE) 2.2.0 进一步改进了对两种 PostgreSQL 数据目录初始化和同步类型的支持:“物理”和“逻辑”。特别是,对于“逻辑”类型(对于托管云 PostgreSQL(如 Amazon RDS 用户)非常有用),现在可以设置多个磁盘或磁盘阵列,并按计划自动检索数据。这可以优雅地清理最旧版本的数据,而不会在克隆的生命周期中停机或中断。

其他改进包括

  • 客户端 CLI (“dblab”) 的自动完成
  • 克隆容器配置 — 现在可以在 DLE 配置中定义 Docker 参数(例如 --shm--size,这对于在使用并行工作进程处理查询时避免较新版本的 Postgres 中出现错误是必需的)
  • 允许请求具有非超级用户访问权限的克隆 — 这以 API 和 CLI 中的新选项“restricted”形式出现

数据库实验室引擎链接

Joe Bot 0.9.0 - 用于 SQL 优化的虚拟 DBA

“Joe Bot”是一个用于 SQL 优化的虚拟 DBA,是解决和优化 PostgreSQL 查询性能的革命性新方法。用户不是直接在生产环境中运行 EXPLAIN 或 EXPLAIN (ANALYZE, BUFFERS),而是将用于故障排除的查询发送给 Joe Bot。 Joe Bot 使用数据库实验室引擎 (DLE) 来

  • 生成新的瘦克隆
  • 在克隆上执行查询
  • 将生成的执行计划返回给用户

返回的计划在结构和数据量方面与生产环境相同 – 这得益于以下两个因素

  • 瘦克隆具有与生产环境相同的数据和统计信息(在指定时间点),并且
  • 克隆上的 PostgreSQL 规划器配置与生产配置匹配。

Joe Bot 用户不仅可以获得关于查询如何在生产环境中执行的可靠且无风险的信息,而且还可以轻松地对自己的瘦克隆应用任何更改,并查看查询行为如何受到影响。 例如,可以添加新的索引,并查看它是否真的有助于加速查询。

Joe Bot 的一个关键方面是,用户不会直接看到数据,他们只使用元数据。 因此,可以授予无权访问生产数据的团队使用此工具的权限 [1]

Joe Bot 0.9.0 的主要变化是提高了安全性:在以前的版本中,使用数据库超级用户。 现在,所有请求都使用非超级用户。 这使得无法使用 plpythonu、COPY TO PROGRAM、FDW 或 dblink 在严格防火墙无法很好保护的基础架构之外执行大量数据复制。 强烈建议所有用户尽快升级。

另一个主要新功能是生产持续时间估计器,目前处于“实验性”状态。 此功能旨在帮助用户了解特定操作(例如索引创建操作)在生产数据库上实际需要多长时间,生产数据库可能具有不同的物理基础架构(例如不同的文件系统、更多 RAM 和/或更多 CPU 内核),而不是在 DLE 上运行的瘦克隆。 阅读更多:“数据库实验室与生产环境之间的查询持续时间差异”

SQL 优化聊天机器人“Joe Bot”链接


[1] 尽管仅从 Joe Bot 返回元数据,但可以使用 EXPLAIN ANALYZE 探测特定值的数据。 在向没有生产级别访问权限的人员提供 Joe Bot 之前,请咨询您组织中的安全专家。


Joe Bot 和数据库实验室引擎均基于 OSI 批准的许可证 (AGPLv3) 分发。


非常感谢您的反馈