0

From my experience in the IT industry i found that many companies avoid using relational databases and ADO.net to interact with the database. instead they use flat Databases and write sql statement directly against the database ,, since they believe that having many tables that are linked together using Foreign keys and using ADO.net to interact with the DB will have serious performance drawbacks on large application that have millions of transaction per day.,, Are these points valid?

John John
  • 1
  • 72
  • 238
  • 501
  • The question seems too general to me. Depends on implementation, it may or may not be true. When you let application handle referential integrity you are trying to do what is already done on database level. – a1ex07 Mar 08 '12 at 02:24

1 Answers1

1

No, these point are not valid (in most scenarios).

Relational databases are faster in large datasets because of the relations. (Unless of course you have a huge list of non-relational data and frankly, what datasets are not relational in a huge application these days?)

stackoverflow.net for example gets about 7 million page views a day and is built on a relational database.

Also, please see this answer for more. A similar discussion: database vs. flat files

EDIT: by huge I mean millions of transactions per day.... :) EDIT: removed EF reference.

Community
  • 1
  • 1
Andrew Grothe
  • 2,562
  • 1
  • 32
  • 48
  • Strictly speaking - this site (Stackoverflow) uses [Dapper Dot Net](http://code.google.com/p/dapper-dot-net/) - not Entity Framework – marc_s Mar 08 '12 at 06:33
  • i think web sites like twitter, facebook, google use flat databases. Also my question was about using flat databases where you might have a big datbase table that contains redundant data ,, and i was not talking about using flat files........ – John John Mar 08 '12 at 13:50
  • 1
    @marc_s yes, dapper it is. I was going from memory and had it wrong: Actually tools: http://meta.stackexchange.com/questions/10369/which-tools-and-technologies-build-the-stack-exchange-network – Andrew Grothe Mar 08 '12 at 21:46
  • @johnG Ah, i see. I think you will find that relational databases still provide the better option. There may be some marginal performance but you still have to join the data at some point. Better to let a database do that then your app or business layer. – Andrew Grothe Mar 08 '12 at 21:49