在本地环境中,最佳的处理数据库的方式是什么?

0

【以下的问题经过翻译处理】 我们目前正在使用Aurora RDS postgres数据库。最初,我们的数据库很小,容易管理,我们将转储发送到S3并提供给开发人员开发新功能和解决错误。

目前我们的数据库重达700GB,**最好的策略是什么,以便开发人员可以获得数据?**下载整个数据库是不可能的,这将浪费大量时间成本。最重要的是,开发人员能够获得数据库的副本来构建开发环境,以支持他们开发新功能和解决缺陷。

profile picture
专家
已提问 8 个月前13 查看次数
1 回答
0

【以下的回答经过翻译处理】 首先,考虑一下是否拥有一个所有开发人员都连接的单个副本可以满足您的需求。他们可以远程连接,并且它将是您生产数据的一个副本。因此,它非常棒,因为很容易定期更新并保证覆盖所有生产用例。它有很多优势。

但这可能不能满足您的需求。您说您需要本地数据库。在这种情况下,我认为您有两条主要路径要考虑。

  1. 生成示例数据
  2. 创建提取生产数据子集的过程

在开始时,生成示例数据可能需要更多的工作。但它有一些不错的优点。很容易确保您生成所需的数据。它将是参数化的,因此每个开发人员在那个时刻生成他/她关心的数据。下载大数据集没有网络问题。

但如果您确实需要提取主数据库的一部分,那么您需要将其视为提取-转换-加载(ETL)项目。使用数据集成(DI/ETL)工具连接到主数据库并提取一些子集。理想情况下,子集将很容易定义。也许对于大多数表,您只需取最近2个月的数据,对于其他表(如参考表),则取整个表。定义所有单个映射可能需要很大的努力...但实际上并不复杂。您可以决定详细信息,如将数据加载到另一个数据库或保存到CSV文件中。然后使数据库转储或CSV文件可供您的开发人员使用。作为一名开发人员,您可能会倾向于编写自己的脚本来执行此作业。当然,这是可能的。但有许多优秀的ETL工具可供使用(包括一些免费工具),强烈推荐用相关工具来处理类似任务。

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则