使用Amazon Redshift进行本地开发和登台

fre*_*ley 28 amazon-web-services amazon-redshift

我喜欢用生产,登台和本地开发来设置工具和服务.我想使用Amazon Redshift,对于一个柱形商店数据库来说,每月180美元的起价似乎相当合理,但实际上我是否需要将其视为每月180美元的环境?有什么方法可以为Redshift提供免费的登台和本地环境吗?

能够针对本地实例进行开发而不是依赖于网络也很好.我认为使用Redshift是不可能的.

使用Redshift时,如何使本地开发更容易,更快速,更便宜?

Chr*_*ell 16

除了John Rotenstiens之外,如果您决定运行第二个集群进行升级,它还可以说明如何降低成本,还有一些其他选项可供选择,因为当您的用例非关键任务时.

由于Redshift是postgres 8的一个分支,您可以使用亚马逊提供的postgresql 8.4 JDBC或ODBC驱动程序,并将它们指向本地运行的postgres 8实例.这在开发期间很有效,因为这里的工作通常适用于您的生产系统(有一些例外).

另一种选择是在Redshift集群上有一个单独的表来运行非​​生产活动.这可能对你的测试套件和"最终测试"开发有好处.

然后,您可以将部署进入生产阶段,并在完全部署之前监视暂存环境以查找问题.


Joh*_*ein 15

Amazon Redshift专门用于在AWS基础架构上运行.它不能下载.(有趣的是,Amazon DynamoDB确实有一个可下载的版本用于开发目的.)

最便宜的选择可能是每晚和周末关闭你的开发和测试实例.在删除群集之前拍摄快照,然后根据快照在第二天早上创建群集.这可以通过AWS命令行界面(CLI)自动执行,从而可以轻松地使用cron或计划任务进行计划.

你也可以有一个快照测试数据,并每天早晨,这意味着测试数据库不填充了测试用例恢复快照.

另一个节省成本可能是减少非生产系统的节点数量.查询将运行得更慢,存储总量将减少,但它可能更具成本效益.甚至使用"密集存储"2TB节点而不是几个"密集计算"SSD实例 - 它们将在更少的节点上提供更多存储.

  • 需要注意的一件事是,虽然这很好,但如果我不想或无法连接到 AWS 进行开发,它对我没有帮助。对于大多数较大的服务(SQS、Dynamo、S3 等),我有一个本地开发类似物。 (3认同)

小智 15

另一个降低成本的解决方案是将每个数据库视为单个群集中的环境.数据库没有任何成本,您可以在群集中使用其中的60个

我们尝试过Postgres-as-emulator解决方案,但它确实很好

  • 性能特征完全不同
  • 使用不属于Redshift的Postgres功能很容易(反之亦然)
  • 维护具有可选部分的模式(例如,一个索引,另一个的排序键)是一种痛苦.

我们暂时放弃了这一点,但随着我们变得越来越大,我们可能不得不使用混合解决方案,其中验收测试和暂存是Redshift中的数据库,而开发人员则回到使用Postgres.