我正在开发一个大型的webapp,它(其中)有一个表格,这个表格是从现有的在线数据集构建的。此数据集可能会更改(尽管可能不会频繁),因此我们的总体计划是每1-2个月更新/重建一次。这一切都将通过Python和SQLAlchemy实现
在处理way应用程序和大型数据库方面经验不足的情况下,最好的方法是什么?从头开始构建数据库将需要5-6个小时,老实说,这是可以接受的停机时间(这是一个科学分析服务器)。当然,另一种选择是并行创建第二个表,然后删除原始表并重命名新表,但这是否存在一致性问题?有没有一种方法可以“实时更新”一个表,或者这里发生崩溃的风险是不值得的(例如,如果你崩溃了,让表处于与真实数据不一致的状态)?
显然,在简单性、安全性和缺少停机时间之间存在权衡,但我只对我的选择感兴趣(找出那些“未知的未知”)。
发布于 2012-09-22 02:29:56
以下是我的建议:
<代码>H113重新启动应用程序<代码>H214<代码>G215
这应该会产生最小的停机时间,即删除旧表并重命名旧表所需的时间。备份为您提供了安全,以防您搞砸了什么。
发布于 2012-09-22 05:12:33
这个怎么样?
将表old_table重命名为tmp_table,new_table重命名为old_table;
这是new_table之前创建的。重命名是原子的
https://stackoverflow.com/questions/12536068
复制相似问题