postgresql AWS RDS存储使用的巨大差异

ttygqcqt  于 2023-10-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(116)

我正在使用AWS RDS for PostgreSQL,我注意到存储使用情况存在很大差异。我的RDS示例被分配了20 GiB的存储空间,但是当我使用pg_size_pretty(pg_database_size('my_database '))命令检查数据库的大小时,它报告说我的数据库只使用了大约2279 MB。
我了解总存储使用量包括实际数据、系统文件、索引、日志和备份。然而,这些元素消耗了总存储量的86%以上,这似乎是不寻常的。我最近没有删除大量数据,没有执行重大版本升级,也没有运行大型批处理作业或繁重的写入操作。
有谁能解释一下为什么存储使用率存在如此大的差异?是否有方法可以在AWS RDS中获得更详细的存储使用细分?
感谢你的帮助.

mrphzbgm

mrphzbgm1#

有谁能解释一下为什么存储使用率存在如此大的差异?
RDS显示的是连接到运行数据库引擎的容器并用于数据存储的EBS卷的大小。
EBS卷是一种存在于容器外部的虚拟硬盘驱动器,可以连接和重新连接到不同的工作负载。
这些硬盘驱动器中的所有存储空间(包括空块)都由您单独使用,经过加密,不能被其他用户重复使用。所以,你得付钱。
RDS是PostgreSQL、MySQL和其他数据库引擎的 Package 器。所有这些引擎的架构都与底层操作系统文件系统提供的存储抽象一起工作。虽然现代文件系统可以按需更改其大小,但要做到这一点而不中断服务,这不是一项简单的任务。这就是为什么存储大小的增量是逐步增加的。
其他云数据库产品(Google Spanner,Google AlloyDB等)将存储与其他数据库接口分离,因此数据在内部存储的方式不会被虚拟硬盘抽象。在这些产品上,存储增量和定价可能会更详细。
是否有方法可以在AWS RDS中获得更详细的存储使用细分?
只使用您的数据库工具可能提供的内容。
在引擎盖下,它只是一个硬盘驱动器,但AWS不会让您将其附加到任何旧的EC2示例并查看其内容。

相关问题