小编Bru*_*aco的帖子

PostgreSQL 的正确存储大小估计技术

我们正在为生产使用准备一个 PostgreSQL 数据库,我们需要估计这个数据库的存储大小。我们是一个在数据库管理方面缺乏专业知识的开发人员团队,因此我们正在研究、阅读手册并使用我们的一般信息技术知识来实现​​这一目标。

我们有实际数据要迁移到这个数据库,并对增长有一些粗略的估计。为了这个例子,假设我们估计每年增长 50%。

关键是:进行良好尺寸估计的一般正确技术是什么?

我们根据以下规则估算存储使用量。我们需要建议的主题用粗体文本标记。非常欢迎对整个过程的反馈:

  1. 估计每个表的大小
    1. 发现每一行的实际大小。
      • 对于具有固定大小的字段(如bigintchar等),我们使用文档中描述的大小
      • 对于具有动态大小的字段(如text),我们估计了字符串长度并使用了函数select pg_column_size('expected text here'::text)
      • 我们为PostgreSQL 内部使用的OID增加了 4 个字节
    2. 将每行的大小乘以估计的行数
    3. 我是否需要在这里考虑任何开销,例如行或表元数据?
  2. 估计每个表索引的大小
    • 不知道如何估计,这里需要建议
  3. 估计事务日志的大小
    • 不知道如何估计,这里需要建议
  4. 估计备份的大小(完整和增量)
    • 不知道如何估计,这里需要建议
  5. 对实际最小尺寸的所有估计求和

  6. 对 1 年后的最小规模的估计值 1、2 和 4 的总和应用 1.5 倍(增长 50%)的系数

  7. 应用 1.2 ~ 1.4(多 20% 到 40%)的总体系数来估计 5 和 6 以获得良好的安全裕度

我知道规则变得相当广泛。让我知道是否需要示例以更好地理解。

postgresql database-size scalability

8
推荐指数
2
解决办法
2万
查看次数

标签 统计

database-size ×1

postgresql ×1

scalability ×1