首先让我说我认为有比我现在做的更好的做事方式......所以,请不要发表评论和回答说我应该使用不同的技术等。我有一个“合理”的具体问题。
一点背景:
基本上,我有一个系统,我每天都在处理大量不同但相当结构化的数据馈送(CSV 文件)。这是一个相当通用的 ETL 类型的系统。我开始编写 Python 脚本来在内存中完成这一切。但是,我发现我正在编写大量代码来检查和执行可以很容易地由 db 模式描述的规则。因此,我有一系列 SQS 队列(每个源一个),其中包含要处理的文件位置(在 s3 上)和要加载的 PostgreSQL 数据库脚本。哈基?是的; 大概。但是,在某种程度上,在 PostgreSQL 中定义所有规则非常容易。至少对于拥有大约 15 年 RDBMS 经验的我来说(那句老话是什么,当你只有一把锤子时,一切看起来都像钉子?)
所以,一切都很好。但是,在创建 EC2 实例时,我可以选择 image_id 和类型/大小。我有我使用的基本“PostgreSQL 工作人员映像”,但它确实适用于一种尺寸(微型)。
但是,现在我正在考虑尝试玩一下,看看如果我选择中小型,我可以获得什么样的收益。我最初的想法是,我将创建单独的 image_ids,并使用适合它们的 postgres conf 设置。不过,好像有点乱。(但是,整个事情有点混乱和hacky)
鉴于我所拥有的,有没有比单独的 AMI 更好的方法来实现这一点?
最后注意事项:
我的 AMI 都是 PostgreSQL 9.1 和 Ubuntu 12.04。数据库只是临时存储。它们仅在加载/处理/输出数据所需的 15 或 20 分钟内存在。
如果您觉得这个问题可以在 SE 的 DBA 网站上得到更好的回答,请随时添加评论。我通常从 StackOverflow 开始,因为它是一个更大的社区,而且它是一个让我感觉更自在的社区。我更像是一名开发人员,而不是一名 DBA。