gpt4 book ai didi

database - 如何正确迁移非规范化和不一致的用户数据库

转载 作者:行者123 更新时间:2023-11-29 14:35:51 24 4
gpt4 key购买 nike

我目前在一家初创公司工作,该公司不知何故忽略了他们的基础设施和数据库。我们的用户数据库一团糟(感谢 WordPress),我目前正在努力将其迁移到 PostgreSQL。问题是数据不一致。例如,一些用户没有邮政地址,邮政地址格式随时间变化,其他用户使用电子邮件而不是电话号码作为用户名...

我们找到了一些解决方案,例如我们使用 Google Maps API 对邮政地址格式进行地理编码。但是,很明显,我们无法拥有与当前数据一致的数据库。

所以问题是:我们是为不一致的用户使用另一个表,并在他们在第一次连接后更新他们的帐户时将他们移到"new"表,还是为所有用户使用一个表并做出一些让步。 .

最佳答案

您需要考虑两件事:

  1. 您的数据将用于哪种类型的应用程序 -> 软件 -> 系统?如果您的应用程序需要规范化数据(换句话说,您的应用程序“需要”具有主键/外键关系的结构化数据),那么您需要使用关系数据库来表示您的数据。

  2. 如果您的数据不需要“结构化”- 您可以使用 noSQL 数据库(如 https://redis.io/),它按键 -> 值(将键链接到文档/数据结构)。

如果您需要使用关系数据库或 noSQL 数据库:

我会清理您的数据,并拥有一致的联系信息。

我会让用户更新他们的联系信息(他们下次登录时),并将这个“干净的联系数据存储在不同的表中”,带有一个 bool 字段(可以是用户联系数据是一致的 true/false) .

不要做“让步”,否则您将“永远”得到不一致的数据,以及代码中的(业务逻辑)黑客攻击(人们会忘记)——这将永远不允许您清理数据。

关于database - 如何正确迁移非规范化和不一致的用户数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44883207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com