我正在为我公司的RoR项目设计工作,我们的开发团队已经对设计,特别是数据库进行了一些辩论。
我们有一个叫做Message的模型需要持久化。这是一个非常非常小的模型,除了id之外只有三个db列,但是当我们进行生产时,可能会有很多这些模型。我们每天要查看多达1,000,000次插入。这些模型只能通过两个可以索引的外键进行搜索。同样,这些模型永远不会被删除,但是我们也不需要保留它们大约三个月大。
那么我们想知道的是,如果在Postgres中实现这个表将会出现重大的性能问题?有没有人有非常大的sql数据库的经验来告诉我们这是否会是一个问题?如果是这样,我们该怎么办?
每个表的行不会是它自己的问题。
原文链接:https://www.f2er.com/postgresql/193249.html所以大概说每天100万行90天是9000万行。我看不到Postgres无法处理的原因,不知道你在做什么的所有细节。
根据您的数据分发,您可以使用某种索引,过滤索引和表分区的混合,以便在看到您可能有或可能没有的性能问题后加快速度。在我知道的任何其他RDMS上,您的问题将是一样的。如果您只需要3个月的数据设计,就可以在不需要任何数据的情况下修剪数据。这样就可以在表格上拥有一致的数据量。你的幸运你知道有多少数据将存在,测试它的音量,看看你得到什么。测试一个具有9000万行的表可能会像以下那样简单:
select x,1 as c2,2 as c3 from generate_series(1,90000000) x;
http://www.postgresql.org/about/
Limit Value Maximum 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