我正在尝试加速ec2上postgresql的性能。
ec2节点的结构如下 - 您拥有缓慢,持久的网络附加存储(EBS),并且您还拥有快速,易变的存储(临时存储)。即,在系统崩溃中,短暂的存储将会丢失。
为了加快数据库性能,我正在考虑将我的postgres temp_tablespace设置为生活在临时存储中的目录。但是,临时存储没有耐久性保证 - 在系统崩溃时,它将全部永久地被破坏。
这是否存在任何数据丢失的风险?原则上,在我看来它不应该,因为temp_tablespace用于临时对象。但是我并不熟悉postgres数据模型 - 这里有危险我不知道吗?
答案 0 :(得分:1)
是的,这应该是安全的,如果在需要临时表完全提交的操作之前崩溃,则应该恢复到操作之前的那一点。虽然,我不知道Postgresql是否在重启时清除该区域,我会自己检查。
现在,一个合适的极客会尝试在Amazon's memcache equivalent上实现一个文件系统并使用它......