gpt4 book ai didi

database-design - 为可扩展性创建数据库

转载 作者:行者123 更新时间:2023-12-02 06:25:28 25 4
gpt4 key购买 nike

如何创建可扩展的数据库?我在 http://www.slideshare.net/vishnu/livejournals-backend-a-history-of-scaling 中间我看不懂 ATM,需要离开。但我想了解更多有关创建可扩展数据库的信息。它提到并在我脑海中出现的事情是

  • 读取和写入的单独句柄?
  • 当一台服务器繁忙(IO 或 CPU 受限)而我需要两台服务器写入时会发生什么?
  • 我要创建多个数据库吗?有用户的 clusterId 吗?
  • 将用户从一个集群移动到另一个集群时会不会有问题?
  • 我是否可以编写此代码,使集群 A 上的数据库 A 中的用户 ABC 和集群 B 中的数据库 B 中的 DEF 具有相同的主键?
  • 当我将以上内容移至集群 C 时?这是否意味着我需要编写大量代码才能将它们移动到另一个集群/数据库?
  • 要使上述问题不成问题,我是否可以不使用 PRIMARY KEY 并通过读取其他集群上的其他数据库来手动设置 ID?

等等

最佳答案

要创建一个可针对 99.9% 的用例进行良好扩展的数据库,请不要为这些事情烦恼。相反,设计一个适当规范化的模式;使用主键、外键和其他约束来确保完整性;索引表很好。研究您的 DBMS 供应商关于性能和可伸缩性主题(例如分区、不同的表和索引结构等)的建议,并使用最适合您的情况的建议(基准选项以证明它们提高了可伸缩性)。

当然,如果您在 Google、Ebay 或 Amazon 工作,那么您可能会落入 0.1% 的阵营,他们需要抛弃规则手册,去做您正在阅读的所有这些疯狂的事情。但我猜你不会,对吧?

关于database-design - 为可扩展性创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1711835/

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