【问题标题】:Best database solution for Django on AWSAWS 上 Django 的最佳数据库解决方案
【发布时间】:2012-03-23 16:33:34
【问题描述】:

早上好,

我目前正在考虑在 EC2 实例上部署 Django 应用程序,但一切都让我感到困惑!我知道 Django 内置了 MySQL、PSQL 和 SQLite 的实现。现在,亚马逊拥有 RDS (MySQL)、SimpleDB 和 DynamoDB。各位大侠有什么建议可以用吗?我想要一些可以为未来扩展并且防弹的东西。 AWS 为其 SimpleDB 和 DynamoDB 提供了一个 python API。这能很好地与 Django 一起工作吗?!

非常感谢!

编辑:我宁愿专注于一个整体解决方案,该解决方案将是防弹、高效和快速,而且不太复杂。当我计划让更多人使用该系统时,我真的不想要复杂且难以维护的东西。我宁愿花更多的时间来实现和安装东西,但最终,解决方案会更快、更容易理解和使用。 (即:查询数据库将是直截了当的,没有黑客攻击)。

【问题讨论】:

  • 它们都可以与 Django 一起“很好地工作”,但您应该告诉我们您的优先事项是什么 - 开发速度/时间、系统管理时间、冗余、性能等?

标签: django amazon-web-services amazon-simpledb amazon-dynamodb


【解决方案1】:

SimpleDB 和 DynamoDB 是 NoSQL,因此您需要 django-nonrel 来处理它,并且无法保证一切正常。但是如果你需要使用 NoSQL - Django 有一些 3rd-party 模块。

RDS 是 MySQL,因此您可以使用 Django 的默认 MySQL 驱动程序、ORM 和 admin 等。这似乎是一个不错的解决方案,但您无法调整或更新这些 MySQL 实例。

如果您的数据库还不是很大很重,您可以在 EC2 上设置一个本地 mysql 实例,如果需要增长,可以将其移动到 RDS。

【讨论】:

  • 好酷。您会推荐使用 Django + MySQL(在每个 EC2 实例上)还是使用 Boto+DynamoDB(或 SimpleDB)或 Django+RDS?该产品将出售给 X 个不同的公司,他们将支付托管费用。作为开发人员,我们最好销售带有自己的 EC2 + MySQL 的 X EC2 实例,还是让 X EC2 实例都连接到 RDS/Dynamo(因此数据库在所有人之间共享)。把它想象成钱不是问题,但每个 EC2 的用户量不会超过 10k。
  • 10k 整体甚至每日用户可以在没有外部数据库的情况下使用一台服务器处理(如果您不提供核爆炸计算服务)。我会使用 MySQL(本地或 RDS),因为 nonrel db 添加了一个外部抽象来将 ORM 连接回对象,无论如何测试都比 Django 的 mysql 连接器少。但不确定哪一个(本地或 RDS)总体上更好。 RDS 似乎没有什么大问题,而且为每个实例部署它肯定更容易。加上可扩展性和其他东西......所以 RDS 看起来比本地数据库好一点。
  • @ilvar 你提到有 Django 使用 DynamoDB 的 3rd 方模块。除了会话模块,我什么也找不到。 ORM 怎么样?我还能像在 MySQL 中那样定义我的类并让它们在 dynamodb 上自动创建吗?
  • 看起来 Dynamo 没有后端,抱歉我的错误。
猜你喜欢
  • 1970-01-01
  • 2022-01-07
  • 2011-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-28
  • 1970-01-01
相关资源
最近更新 更多