管理两份数据

时间:2011-11-03 15:51:56

标签: django database-design

我有一个cron进程,可以定期读取多个公共网站并将数据存储在数据库中。收集的数据随后将发布在我的网站上。

这些数据由django中的一组相关模型表示。

我需要有两组数据:一组是已发布的,另一组是由cron进程收集的。在手动检查后者的准确性之后,我需要将其公开并删除之前公开的集合。

我认为有两种方法可以做到:

  1. 让每个模型都包含一个标志,指示它是否公开。
  2. 有两个独立的数据库。
  3. 每个都有其自身的缺点和优点。

    之前有没有人实现类似的东西?关于如何优雅地做到这一点的任何建议?

1 个答案:

答案 0 :(得分:0)

通常,所有应用程序都拥有私有的数据,而其他人则需要公开。例如,在stackoverflow上,您可以阅读您的电子邮件地址,但我无法阅读您的电子邮件。这并不意味着stackoverflow为每个用户都有一个数据库。

基本上,您有两种方法来保护数据:

  1. 应用程序限制对数据的访问。
  2. 数据库限制对数据的访问(包括用户,视图和评级)
  3. 您可以实施applicacion security(1)或application + database security(1 + 2)。

    如果您的安全设计正确,但是您可能收集大量数据(几TB)并且您希望将数据库负载分配到两台服务器上,那么一个数据库就足够了。真的,这个问题有很多参数。

    Wheell,这是一个综合练习。