I have been given the task of bringing three legacy systems together into one user interface. This will be an Asp.Net Mvc application.
I have a Sql Server 2005 instance on one server, a Sql Server 2008 instance on another, an access database that holds compliance data and is populated through a custom plugin, and a Powerflex dat file database accessed through odbc.
For every user who accesses this new interface all of these databases need to be queried. One of the Sql Server databases and the Powerflex database has millions of records.
My question is what is the most efficient way to handle this situation?
Do I link the Sql Server databases and write a single query with joins for those servers?
Do I use disconnected in memory datasets?
Do I use minimalistic queries with a data reader?
Do I attempt to utilize the Entity Framework (I haven’t looked into a connector for the Powerflex database)?
I have never attempted to bring this many back ends together before and I am concerned about performance. A minimum of four round trips screams poor performance to me without ever writing a line of code. Any tips would be appreciated.
PS: Bringing them all together into a single database is out of the question at this time.