社交网站需要多少个数据库?我让我的技术团队致力于开发一个社交网站,但他们所有的桌子都在一个数据库中。我想为用户数据,临时表等创建单独的表集,并且可能只有一个单独的数据库用于关键数据等,但我不是技术人员,现在确定它是如何工作的?该网站将成为本地评论网站。
答案 0 :(得分:2)
答案 1 :(得分:2)
简单的答案一如既往地尽可能少。
稍微复杂一点的答案是,一旦您开始突破服务器的限制并开始考虑具有主/从复制的多个服务器,那么您可能希望将频繁写入表与您的很少写表,这会降低主从更新要求。
答案 2 :(得分:1)
如果您开始使用单独的数据库,您也可以使用备份/恢复策略。如果您有5个数据库并备份所有5个数据库,当您需要恢复其中一个数据库时会发生什么情况,那么您是否需要恢复所有这五个?
我会选择数量最少的数据库。
答案 3 :(得分:1)
您希望拥有多个数据库的原因是扩展到多台计算机。在“社交应用”的背景下,大量/高可用性是一个问题。如果您预计需要扩展到多台机器以处理大量数据,那么表的突破应该是逻辑上需要保持在一起的那些。
因此,例如,您可能希望将与特定主题区域(可能是状态更新)相关的表格保存在一个数据库中,将其他与不同主题区域相关的表格(例如用户的图片库)保存在一起不同的数据库。
将表保存在单独的物理或逻辑数据库中存在逻辑和性能原因。
答案 4 :(得分:0)
您希望在不同的数据库中使用它的原因是什么?
您可以将所有表放在一个数据库中而不会出现问题,即使是多个安装的开源软件包也是如此。在这种情况下,您可以使用表前缀。
答案 5 :(得分:0)
除非您正在开发一个真正的大型网站,否则一个数据库是继续进行的方式(顺便说一句,您是否考虑过使用各种数据库时可能出现的问题?)。
如果您担心性能问题,可以随时在多个存储设备上配置不同的表空间,以改善时序。
如果您担心安全性,只需增加它(更好的密码,没有直接root登录,没有端口转发,避免隧道等)。
答案 6 :(得分:0)
我不是仅仅进行功能分析的技术人员,但我拥有该项目,所以我需要监督技术团队。我有多个数据库的原因是安全性和性能。
由于这将是一个新的创业公司,没有资金投入强大的安全性或使数据库设计完美无瑕。此外,目前还没有备份政策,因此: 1)我想分离关键数据,如用户密码/基本配置文件信息,然后分离用户媒体(他们在个人资料上上传的照片),然后分离用户内容。然后分离出系统内容。当前的设计是必须有多层表:每个模块的整个系统和模块表的主表。 2)性能:有很多模块正在设计中,这是一个数据密集型社交网站,其中包含大量的报告/分析,因此需要进行大量的读/写操作。也许最好根据目的在数据库之间分配负载?
由于没有多少资金,因此我想在我的投资第一时间做到正确,因此数据库可以扩展和扩展。努力工作直到收入实际上投入到正确的投资。当然可能还有6个月的时间,也可以说有一百万用户。
哦&有计划添加升级/生产模式也是如此单独或相同的数据库?
答案 7 :(得分:0)
你现在可以坚持使用一个数据库了。您的开发人员可以通过使用数据库模式来隔离/分离应用程序数据。使用多个数据库可以很快成为一个痛苦世界的旅程,除非它绝对至关重要,否则应该避免。