有一个包含 5 个表的数据库 {MySql} A
, BIG
, C
, D
, E
。它们的生长因子约为1
/ 100
/ 1
/ 1
/ 1
。该表具有关于/ /的BIG
Insert/Read/Update 请求比率。插入和更新“不能失败”。1
10
2
表“BIG”具有以下数据:
- 它们在创建它们的同一天是关键的(从
ACID
观点来看,AC
它非常重要),2 天后它的关键性变得越来越小。 - 它们为其他一些表格(
F
、G
、...)中的统计信息提供了基础。有一些“数据泵”从 , 读取数据并将BIG
其写入。数据泵从 上读取大约 100 行,在 上写入大约 1 行,在 上写入 1 行,等等。在该操作之后,可以删除这些行。F
G
BIG
F
G
BIG
更多数字:对于大表,我预计:高峰日每天约 +2k 行,平均每天约 +0.5k 行。增长是周期性的:(即 mon=+0.5,...,wed=+0.5,sat=+1k,sun=+2k, mon=+0.5,...)因此我会激活清理每周一次的数据(即周一)
数据描述:它们基本上是需要“实时”(最多 1 小时)服务的用户请求。那些服务过的请求标记为已消费后,基本上不需要存储;我只需要对此做一些统计(也许在某一天之后,但不要着急)。
部署信息:部署在 Heroku 上,我会使用 MySql(据说擅长读取)或 Postgres(据说擅长更新?)对此有什么建议吗?
为了有效地管理数据库的可伸缩性,什么是好的选择?数据泵是一个好的解决方案吗?
我在考虑一个内存表BIG
,但据说它提供了一个很好的读取比率(就像它是一个缓存),那么插入和更新呢?还有其他选择吗?