gpt4 book ai didi

mysql 一个还是多个数据库?

转载 作者:搜寻专家 更新时间:2023-10-30 23:32:54 26 4
gpt4 key购买 nike

我一直在寻找使用 MySQL 对数据库建模的答案,但找不到。

什么是最佳实践,是在 1 个存储库中对 1 个数据库和所有表和数据进行建模,还是拆分为多个数据库来处理每个东西(如模块)?

例如,我有一个包含 55 个表的项目,如果我将使用 php 开发一个域中的服务,那么会更多;到目前为止,还开始了另一个有 22 张 table 的项目。对于两者,我以不同的方式使用用户登录、信息和数据;并且像 6 或 10 个表和关系被组织在一个布局中(感谢 MySQL 方案支持这一点)。但是,如果我将两个用户句柄拆分到一个外部数据库中并用那个数据库处理两个数据库呢?

我只是想象如果我将所有布局拆分到其他数据库中,用 php 编程将是一场噩梦(花了几个月时间并且有很多进步)但很容易进行维护。我说得对吗?

最佳答案

除非您有特定理由违反该规则,否则您应该坚持使用一个数据库和一个数据库。正当理由的例子包括:

  • 您有一个 Multi-Tenancy 应用程序,该应用程序的实例不共享数据,因此您将它们分布在多个数据库中以消除单点故障。即使那样,这些实例也只是相同基本模式的克隆。
  • 出于性能原因或无法以任何其他方式以经济高效的方式解决的存储限制,您需要跨多个实例共享数据。这些分片共享一个模式,但只是整个数据集的一部分。
  • 出于数据仓库和/或报告原因,您需要创建数据副本或衍生数据集。这些实例可能具有完全不同的架构,因为它们是围绕读取事件而不是写入进行优化的。

除非你正在做一些真正涉及的事情,插入 MySQL 的限制,坚持使用一个数据库。您的开发人员会很感激。

五十、六十张表对于一个重要的应用程序来说并不是很多。一些应用程序有数百个以上,但使用正确的命名约定和良好的文档这不是问题。一个好的命名系统意味着您可以快速搜索您想要的内容,并且可以通过 Tab 键自动完成以直接到达您想要去的地方。

关于mysql 一个还是多个数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46852451/

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