在设计 Web 应用程序时,确切地说是 Facebook 应用程序。由于其活力和密集程度,它可以迅速飙升和增长。
设计数据库时应注意哪些方面。例如,如果以后需要分片或使用主/从组合(使用 memcache),我应该留出哪些空间
考虑到我使用关系数据库和 mySQL
答案1
除了应用层通常的“无共享”之外,我认为首先要考虑的是“不可变”。这意味着你应该尝试(几乎)永远不修改记录,而是写一条新记录(使用新的 ID。你正在使用 ID全部表,对吧?)。这样,您就不必担心弃用缓存条目。只需让它们以相同的 ID 为键,并在不再使用时让它们过期。
答案2
这本书可扩展的互联网架构对扩展数据库(以及整个互联网基础设施)的考虑因素进行了深入讨论和分析。对于开发需要跨服务器扩展的 Web 应用程序和数据库的任何人来说,这都是必读之书。