我们正在关闭另一个关闭办公室的工作项目。生产数据库大约150GB,我们不愿意将它复制到4台dev机器上工作。是否有任何脚本,实用程序或建议,我们可以如何捕获这些数据的一小部分,比如5%,以便在开发中使用 - 同时保持关系,关键表等的完整性?
我想最后一部分的意思是,如果我有一个500行的订单表并随机取样25行,我需要确保我从产品表中取出5%的产品包括任何产品需要满足这些订单.....必要时超过5%。
我希望我解释得那么好。有人有什么想法吗?
答案 0 :(得分:1)
冒着听起来像第三方产品皮条客的风险,您是否考虑过使用Hyperbac这样的产品?它允许您将数据库恢复到您的开发机器上,但是以压缩但高效的方式。
Hyperbac Online可能是最相关的:
答案 1 :(得分:1)
我想第一步是绘制表之间的依赖关系/关系,以及如何找到给定表中给定行的所有依赖关系。
完成后,您可以随机抽取一个高级表(例如“Customers”),并从依赖表中递归获取任何相关行。
对于您选择的第一个表格的“依赖性heirachy”中没有出现的任何表格进行冲洗和重复,直到您从所有表格中抽样为止。
肯定不会有一个通用的脚本来做这个,但我会说用这种方式在数据库中映射出依赖关系的时间花在了解数据库结构上的时间。
Tbh我可能会反过来 - 清空数据库并在必要时将记录添加到相关表中。开发人员确实没有必要总是运行代表性的数据采样,实际上你应该确保定期测试数据的完整采样,以防万一95%留下的数据库包含导致问题的行。