从我的角度来看,数据库始终是瓶颈。因为我可以将CPU功率扩展到任何所需的值。即使使用群集或复制,db资源也是有限的。我可能在这里错了,但这些是我迄今为止使用云软件的expierences。
所以我认为保持数据库关系将保存db资源不会吗?
例如,如果您有一个users表和一个user_friends表。 user_friends中的外键是users表的主键。所以如果我在users表中有像ON DELETE这样的关系 - >从user_friends中删除...数据库将保持一致性并运行所有需要的查询。如果我的软件将运行两个简单的查询DELETE FROM users WHERE user_id ...和DELETE FROM user_friends WHERE friend_id ...
当然,这种垮台可能会出现不一致,但这不会减少数据库负荷吗?
答案 0 :(得分:0)
在我看来,你应该使用独立的对象(行)而不是关系,所以你不再需要使用任何复杂的查询。除此之外,它还可以使查询缓存(服务器端和数据库端)更容易。
为防止出现不一致,您应该使用:
所以,基本上,它可能更难编码,但它会让你获得更好的数据库设计,它具有令人难以置信的性能并且具有很高的可扩展性。
顺便说一句。如果您考虑不使用关系,我建议您使用no-SQL-db。 SQL数据库非常难以扩展(与无SQL数据库相比),并且当您不使用关系时也会导致显着的开销(同样,与无SQL数据库相比)。