原始数据存储在数据库(多个表)中。它需要手动检查和纠正。检查的数据也应与原始数据一起存储在数据库中。在这种情况下,创建两个单独的数据库(例如 raw_data 和 checked_data)会是个好主意吗?还是应该只有一个数据库?谢谢
3 回答
如果您的原始数据和检查数据将变得非常庞大,而不是仅使用两个不同的数据库
通过规范化和使用过程,您可以在一个数据库中维护它。
除了您自己的喜好之外,这里没有推荐的方法。您可以将清理后的数据与原始数据一起存储在同一个数据库但不同的表中,并且可以在原始数据表中添加类似 raw_ 的前缀。
否则,您可能对每种类型的数据都有一个单独的数据库。好处将是分离,而如果需要在这两者之间完成,缺点将是成本更高的加入等。
一般来说,在单个实例中工作比在多个实例中工作要容易得多。分布式事务执行较慢。它们需要更多的输入(总是必须添加数据库链接)。这不仅是方便的问题,也是完整性的问题。您可能希望确保给定记录在 RAW 数据集或 CLEANSED 数据集中,但不能同时在两者中。在单个数据库中检查这类事情更容易管理。
您如何在单个数据库中组织事物在某种程度上取决于您选择的 DBMS 风格及其支持的内容。您可以拥有单个架构(用户帐户)并使用诸如前缀之类的命名约定,例如 RAW_TABLE_1 和 CLEAN_TABLE_1。或者您可能想要使用不同的模式,这将允许您保留相同的表名,例如 RAW_USER.TABLE_1 和 CLEAN_USER.TABLE_1。两种方法都有优点。不断提醒我们使用的是原始数据还是干净数据总是好的。另一方面,我们可能有我们想要使用的工具或应用程序,它们需要正常的表名。同义词可以在这方面有所帮助。