Ram*_*ive 7 database scalability database-performance sharding
第一个问题:如果您不需要 ACID 属性,为什么要开始使用关系数据库?听起来您正在做某种非事务性工作,因此获取带有事务的 RDMBS 对您的环境来说可能太繁重了。
第二个问题:你存储什么样的数据?您听起来像是需要一个列存储数据库,而且它是用于某种数据仓库项目的。
第三个问题:如果您坚持使用 PostgreSQL(这是一个很好的数据库),它是当前版本吗?8.x 之前的旧版本速度非常慢,但从那时起已经进行了大量改进,您提到的一些问题(例如 autovacuum)现在可以通过“一劳永逸”设置轻松解决。
* Data growing with snowball effect
Run Code Online (Sandbox Code Playgroud)
一些关于这方面的额外信息会很好。为什么会滚雪球?你能规范化它以减少存储吗?
* existing postgresql locks table etc for vaccuum tasks periodically
Run Code Online (Sandbox Code Playgroud)
如果这是一个问题,我已经可以看出您正在运行旧版本。较新的版本对此具有每个表的控件,您甚至可以将其完全关闭。
* Archiving data is tideous currently
Run Code Online (Sandbox Code Playgroud)
在这里很难做出任何判断,因为没有太多可使用的。档案转储到什么媒体?涉及多少持续的 I/O?您在什么时间范围内运营?多少数据?它需要是“热”转储还是可以是“冷”?
* Human interaction involved in existing archive, vaccuum, ... process periodically
Run Code Online (Sandbox Code Playgroud)
我想看看“正常”使用如何需要手动干预,因为它不应该。真空现在是自动的,并且(如前所述)可以设置为根本不发生,并且大多数备份都是脚本化的(并且当您可以编写脚本时,您可以安排)。那么这是如何发生的呢?
* Need a 'set it. forget it. just add another server when data grows more.' type of solution
Run Code Online (Sandbox Code Playgroud)
您正在谈论集群服务器安排。
对我来说,这听起来像以下内容:
除此之外,这里没有足够的信息来确定什么是合适的。