【发布时间】:2018-08-28 07:17:25
【问题描述】:
我想使用 aws 来托管 django 应用程序并将 aws rds 用于数据库目的。该应用程序是一种类似博客的系统。
我无法决定应该选择哪个 RDS 而不是 MySql 或 Postgres?根据 aws 定价政策,兼顾价格和性能。
【问题讨论】:
标签: mysql database postgresql amazon-web-services amazon-rds
我想使用 aws 来托管 django 应用程序并将 aws rds 用于数据库目的。该应用程序是一种类似博客的系统。
我无法决定应该选择哪个 RDS 而不是 MySql 或 Postgres?根据 aws 定价政策,兼顾价格和性能。
【问题讨论】:
标签: mysql database postgresql amazon-web-services amazon-rds
这可能非常宽泛,可能是固执己见,我会尽量保持简短,因为我在某处读到它:
MySQL 非常适合任何 CMS 站点,因为它与它配合得非常好,而且 MyISAM 表在这里非常好。
从我读到的 PostgreSQL 比 MySQL 做得更好的地方:
高级数据建模意味着 PostgreSQL 在复杂数据建模方面比 MySQL 成熟得多。它具有非常成熟的可扩展类型系统、范围广泛的过程语言,并且在如何将这些语言插入现有查询方面具有极大的灵活性。
如果这还不够的话,事实上,您实际上可以在 PostgreSQL 中构建您的数据模型,不仅基于您存储的信息,而且通常从您存储的信息中派生出哪些信息。这使得诸如非第一范式之类的东西实际上可以在需要的地方使用。在表结构中添加集合和多重继承,您就拥有了一个非常复杂的数据建模平台,this blog 将帮助您更好地理解它。
除了内容管理系统市场之外,MySQL 的另一个主要市场是数据预计不会一次暴露给多个写入应用程序的应用程序。这导致在处理数据验证等方面存在显着差异。
在 PostgreSQL 中,验证总是同样严格。如果应用需要特殊的错误处理,它最好调用函数或强制转换来明确处理。
然而,MySQL 让应用程序负责定义数据验证规则。因此,虽然 PostgreSQL 允许关系和对象关系接口作为公共 API,但它本质上主要是作为 MySQL 中应用程序的私有 API。这是一个巨大的差异,许多试图做出选择的人不容易理解。这导致应用程序设计存在重大差异。
MySQL 是适用于您的应用程序的数据存储和报告解决方案。 PostgreSQL 是一种数据集中、建模和报告解决方案 为您的组织。两者截然不同。
现在根据定价来回答第二个问题,正如您从 MySQL Pricing Page 和 PostgreSQL Pricing Page 看到的那样,MySQL 比 PostgrSQL 便宜一点,阅读答案后您可以做出最适合您的明智决定。
希望这会有所帮助!
【讨论】:
我将为您提供第三种选择:Aurora - 试试看。它比那些 2 便宜并且与 MySQL 兼容。 This article 可能对您有所帮助。
对于简单的类似博客的东西,我会使用 MySQL(或 Aurora MySQL 兼容版本) 对于数据关键和高度相关的解决方案,我可能还会考虑 Postgres (Aurora)
【讨论】: