database - Postgresql - 计算数据库大小

标签 database postgresql

我需要为包含许多 postgres 数据库 (720) 的中型应用程序制定部署计划。几乎其中的模型是相似的,但我必须将其与经理和绩效分开。每个数据库大约有 400.000 到 1.000.000 条记录,包括读写记录。 我有两个问题: 1. 我如何计算每台机器上的数据库数量(在 centos 2.08 GHz CPU 和 4 GB RAM 中)?或者我可以在每台机器上开发多少个数据库?同意我客人约 10。 2. 有计算数据库大小的教程吗? 3. postgres数据库可以“主备”吗?

最佳答案

我认为您的服务器不可能处理这样的负载(如果这些是您的真实数字)。

简单计算:让我们将您的 720 个数据库四舍五入为 1000 个。 还可以将平均行宽 7288 向上舍入到 10000 (10KB)。 假设每个数据库将使用 100 万行。

考虑到所有这些事实,数据库的总大小(以字节为单位)可以估算为:

1,000 * 10,000 * 1,000,000 = 10,000,000,000,000 = 10 TB

换句话说,您将需要至少几个可以用钱买到的最大硬盘(可能是 4TB),然后您将需要使用硬件或软件 RAID 来获得足够的可靠性。

请注意,我没有考虑索引。根据数据和查询的性质,索引可以占数据大小的 10% 到 100%。全文搜索索引比原始数据多 5 倍。

无论如何,只有 4GB RAM 的服务器几乎无法移动来尝试为如此庞大的安装提供服务。

但是,它应该能够为您的设置服务不是 1,000 个,而是可能 10 个或更多的数据库。

关于database - Postgresql - 计算数据库大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19511631/

相关文章:

sql - 如何避免数据库中出现 NULL,同时还代表缺失数据?

SQL Server 批量插入 - "Bulk load data conversion error"

mysql - 如何更改多个表中的字段信息

java - 无法从 Java 应用程序打开 orientdb 数据库

Postgresql 函数不处理重复记录

python - 创建 Pyramid 教程应用程序时如何检查数据库中的数据?

postgresql - 如何在 PostgreSQL 中匹配模式时转义字符串

postgresql - Docker 网络 - Keycloak 无法连接到在单独的 docker 实例中运行的 postgresql

postgresql - 如何获取PostgreSQL支持的时区列表?

区域内点的 Hibernate-Spatial 查询