PostgreSQL表太大了?
我正在为我的公司进行RoR项目的设计,我们的开发团队已经对设计(尤其是数据库)进行了一些辩论。
我们有一个Message
需要持久化的模型。这是一个非常小的模型,除了id之外只有三个db列,但是当我们投入生产时,可能会有很多这样的模型。我们每天最多要看1,000,000次插入。只能通过可索引的两个外键来搜索模型。同样,不必删除模型,但是一旦它们使用了大约三个月,我们也不必保留它们。
因此,我们想知道的是,在Postgres中实现此表是否会带来严重的性能问题?有没有人有使用大型SQL数据库的经验,可以告诉我们这是否会成为问题?如果是这样,我们应该选择哪种选择?
回答:
每张表的行数本身就不会成为问题。
因此,大致来说,每天一百万行90天是9000万行。我认为没有任何理由,Postgres不能解决这个问题,而又不知道您正在做的所有细节。
根据数据分布的不同,可以在看到可能存在或不存在哪些性能问题后,将索引,过滤索引和某种类型的表分区混合使用以加快处理速度。在我所知道的任何其他RDMS上,您的问题将相同。如果您只需要3个月的数据设计时间即可修剪掉数据,那么您就不需要了。这样,您将在表上拥有一致的数据量。幸运的是,您知道将存在多少数据,对其容量进行测试并查看获得的结果。测试一个具有9千万行的表可能很容易:
select x,1 as c2,2 as c3from generate_series(1,90000000) x;
https://wiki.postgresql.org/wiki/常见问题解答
Limit ValueMaximum Database Size Unlimited
Maximum Table Size 32 TB
Maximum Row Size 1.6 TB
Maximum Field Size 1 GB
Maximum Rows per Table Unlimited
Maximum Columns per Table 250 - 1600 depending on column types
Maximum Indexes per Table Unlimited
以上是 PostgreSQL表太大了? 的全部内容, 来源链接: utcz.com/qa/397262.html