【发布时间】:2015-08-03 18:21:07
【问题描述】:
是否有用于模拟/镜像 Redshift SQL 接口的库以在隔离的开发环境中运行测试?
如果不是,请指出此类测试的建议最佳做法?
【问题讨论】:
标签: java amazon-web-services automated-tests amazon-redshift
是否有用于模拟/镜像 Redshift SQL 接口的库以在隔离的开发环境中运行测试?
如果不是,请指出此类测试的建议最佳做法?
【问题讨论】:
标签: java amazon-web-services automated-tests amazon-redshift
Amazon Redshift 专为在 AWS 基础设施上运行而创建。它不可下载。 (有趣的是,Amazon DynamoDB 确实有用于开发目的的可下载版本。)
最便宜的选择可能是每晚和周末关闭您的开发和测试实例。删除集群前先拍快照,第二天早上根据快照创建集群。这可以通过 AWS 命令行界面 (CLI) 自动执行,从而可以轻松地使用 cron 或计划任务进行计划。
您还可以拥有测试数据的快照,并在每天早上恢复该快照,这意味着测试数据库不会被测试用例填满。
另一个成本节约可能是减少非生产系统的节点数量。查询运行速度会变慢,存储总量会减少,但它可能更具成本效益。或者甚至使用“密集存储”2TB 节点而不是多个“密集计算”SSD 实例——它们将在更少的节点上提供更多的存储。
【讨论】:
如果您的应用程序是用 Java 编写的,您可以通过自定义 JDBC 驱动程序拦截和模拟 Redshift 特定命令。
自定义 JDBC 驱动程序将按如下方式工作。
我刚刚发布了redshift-fake-driver,一个模拟 Redshift 特定命令的 JDBC 驱动程序。 我希望这会对你有所帮助。
【讨论】:
Redshift SQL 庸医大多像 PostgreSQL,我在一个只是 postgres 的模拟数据库上取得了“一些”成功。 TBH 我最终把它撕掉了,主要是因为两者之间的窗口函数是如此的不同。
【讨论】: