Database design 关系数据库和ADO.net的可扩展性是否足以在拥有数百万用户的大型应用程序上工作

Database design 关系数据库和ADO.net的可扩展性是否足以在拥有数百万用户的大型应用程序上工作,database-design,ado.net,Database Design,Ado.net,根据我在IT行业的经验,我发现许多公司避免使用关系数据库和ADO.net与数据库交互。相反,他们使用平面数据库并直接针对数据库编写sql语句,因为他们认为使用外键将多个表链接在一起,并使用ADO.net与数据库进行交互,这对于每天有数百万事务的大型应用程序来说会有严重的性能缺陷。,,这些点有效吗?不,这些点无效(在大多数情况下) 关系数据库在大型数据集中的速度更快,因为关系。(当然,除非你有大量的非关系型数据,坦率地说,在当今的大型应用程序中,哪些数据集不是关系型的?) 例如,stackover

根据我在IT行业的经验,我发现许多公司避免使用关系数据库和ADO.net与数据库交互。相反,他们使用平面数据库并直接针对数据库编写sql语句,因为他们认为使用外键将多个表链接在一起,并使用ADO.net与数据库进行交互,这对于每天有数百万事务的大型应用程序来说会有严重的性能缺陷。,,这些点有效吗?

不,这些点无效(在大多数情况下)

关系数据库在大型数据集中的速度更快,因为关系。(当然,除非你有大量的非关系型数据,坦率地说,在当今的大型应用程序中,哪些数据集不是关系型的?)

例如,stackoverflow.net每天获得约700万次页面浏览量,并且构建在关系数据库上

另外,请参阅此答案了解更多信息。类似的讨论:

编辑:我指的是每天数百万笔交易……)
编辑:删除了EF参考。

这个问题对我来说太笼统了。这取决于实现,它可能是真的,也可能不是真的。当您让应用程序处理引用完整性时,您正在尝试做数据库级别上已经做过的事情。严格来说,这个网站(Stackoverflow)使用的是实体框架,而不是实体框架。我认为twitter、facebook、google等网站使用的是平面数据库。另外,我的问题是关于使用平面数据库,其中可能有一个包含冗余数据的大型datbase表,而我不是说使用平面文件……。@marc_s是的,非常简洁。我是从记忆中走出来的,结果弄错了:实际上是工具:@johnG-Ah,我明白了。我认为您会发现关系数据库仍然提供了更好的选择。可能会有一些边际性能,但您仍必须在某个时候加入数据。最好让数据库来完成这项工作,而不是让应用程序或业务层来完成。