DB architecture
-
hi to all, I have an application that requires a lot of calculation, there are a lot of clients that uses that application having separated DB’s. Now I am going to develop another web-application that will get the records of all those databases and on the basis of filter will display the results. I want to ask you a question that 1. Should I change the structure of the application in which all of my clients share a same database and from where I could get all the records I needed and perform calculation on them? 2. Would I keep the all databases separate (as it is condition) and develop a service that will fetch the records from the entire database into one from where I would perform my calculation and display the data. Do also tell me if there is some other solution to this application architecture.
-
hi to all, I have an application that requires a lot of calculation, there are a lot of clients that uses that application having separated DB’s. Now I am going to develop another web-application that will get the records of all those databases and on the basis of filter will display the results. I want to ask you a question that 1. Should I change the structure of the application in which all of my clients share a same database and from where I could get all the records I needed and perform calculation on them? 2. Would I keep the all databases separate (as it is condition) and develop a service that will fetch the records from the entire database into one from where I would perform my calculation and display the data. Do also tell me if there is some other solution to this application architecture.
What is the rationale for every client to have their own database? Would always be easier to have all of the information in one database but by no means a must - it would depend on the design and needs of the application.
"If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." Red Adair. nils illegitimus carborundum me, me, me
-
hi to all, I have an application that requires a lot of calculation, there are a lot of clients that uses that application having separated DB’s. Now I am going to develop another web-application that will get the records of all those databases and on the basis of filter will display the results. I want to ask you a question that 1. Should I change the structure of the application in which all of my clients share a same database and from where I could get all the records I needed and perform calculation on them? 2. Would I keep the all databases separate (as it is condition) and develop a service that will fetch the records from the entire database into one from where I would perform my calculation and display the data. Do also tell me if there is some other solution to this application architecture.
My vote is for a centralized DB where you store all of the data. This has the advanatage of 1 backup, transactions, no import logic and overall less headaches. The only advantage of each client having a local DB is that they can operate while disconnected from the network. Do your clients have a reliable connection to a central DB ? Good luck.
-
hi to all, I have an application that requires a lot of calculation, there are a lot of clients that uses that application having separated DB’s. Now I am going to develop another web-application that will get the records of all those databases and on the basis of filter will display the results. I want to ask you a question that 1. Should I change the structure of the application in which all of my clients share a same database and from where I could get all the records I needed and perform calculation on them? 2. Would I keep the all databases separate (as it is condition) and develop a service that will fetch the records from the entire database into one from where I would perform my calculation and display the data. Do also tell me if there is some other solution to this application architecture.
Unless there are very good reasons not to do so, I would go for a central DB. It may take some doing to get there, but it should be worth it. Remember, your app will grow, and maybe the number of clients will increase too, so delaying the decision probably will only make matters worse. Good reasons not to do so would be special circumstances, such as a relatively slow network. If so, I'd suggest to remedy them. :)
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.
-
hi to all, I have an application that requires a lot of calculation, there are a lot of clients that uses that application having separated DB’s. Now I am going to develop another web-application that will get the records of all those databases and on the basis of filter will display the results. I want to ask you a question that 1. Should I change the structure of the application in which all of my clients share a same database and from where I could get all the records I needed and perform calculation on them? 2. Would I keep the all databases separate (as it is condition) and develop a service that will fetch the records from the entire database into one from where I would perform my calculation and display the data. Do also tell me if there is some other solution to this application architecture.
adilsardar wrote:
Would I keep the all databases separate (as it is condition)
If that's the condition, then yes, keep them separate. Who came up with this restriction, and why? I can imagine some clients not feeling happy about mingling their valuable data with the data of their competitors. It would also mean that things go over "a line" outside the building, and some customers don't trust SSL. Do you need live access to their database, or could you suffice with a backup that they send you? Have you explained to them in detail what information you're going to pull from 'their' database? Do you need much of their data? Often? If so, it might be a better idea to replicate or synchronize the data. If not, could the query run during the night? Could it run at a lower priority when run during the day? Happy thinking :)
I are Troll :suss:
-
hi to all, I have an application that requires a lot of calculation, there are a lot of clients that uses that application having separated DB’s. Now I am going to develop another web-application that will get the records of all those databases and on the basis of filter will display the results. I want to ask you a question that 1. Should I change the structure of the application in which all of my clients share a same database and from where I could get all the records I needed and perform calculation on them? 2. Would I keep the all databases separate (as it is condition) and develop a service that will fetch the records from the entire database into one from where I would perform my calculation and display the data. Do also tell me if there is some other solution to this application architecture.
Probably one database. As for making calculations, it depends on the calculations. Are they such that you can keep a summary table from which to calculate them?
-
hi to all, I have an application that requires a lot of calculation, there are a lot of clients that uses that application having separated DB’s. Now I am going to develop another web-application that will get the records of all those databases and on the basis of filter will display the results. I want to ask you a question that 1. Should I change the structure of the application in which all of my clients share a same database and from where I could get all the records I needed and perform calculation on them? 2. Would I keep the all databases separate (as it is condition) and develop a service that will fetch the records from the entire database into one from where I would perform my calculation and display the data. Do also tell me if there is some other solution to this application architecture.
Furthermore, you will need a database engine which is capable of those amounts of calculations - go for Microsoft SQL Server or Oracle, postgres or MySQL (even worse) cannot be used for such a purpose.
-
My vote is for a centralized DB where you store all of the data. This has the advanatage of 1 backup, transactions, no import logic and overall less headaches. The only advantage of each client having a local DB is that they can operate while disconnected from the network. Do your clients have a reliable connection to a central DB ? Good luck.
Thnx for your reply, but what if the Database grows big coz of the data and the client. Also the backup will also become an issue due to larger size. All the users databases are also managed by us.
-
adilsardar wrote:
Would I keep the all databases separate (as it is condition)
If that's the condition, then yes, keep them separate. Who came up with this restriction, and why? I can imagine some clients not feeling happy about mingling their valuable data with the data of their competitors. It would also mean that things go over "a line" outside the building, and some customers don't trust SSL. Do you need live access to their database, or could you suffice with a backup that they send you? Have you explained to them in detail what information you're going to pull from 'their' database? Do you need much of their data? Often? If so, it might be a better idea to replicate or synchronize the data. If not, could the query run during the night? Could it run at a lower priority when run during the day? Happy thinking :)
I are Troll :suss:
The database contains approx 260 tables and what we need is the data from appox 150 tables. Is ssis packages are good solution if we use separate db's and then sych them.?
-
Probably one database. As for making calculations, it depends on the calculations. Are they such that you can keep a summary table from which to calculate them?
thnx for the reply, this involves a lot of calculation from multiple tables.
-
The database contains approx 260 tables and what we need is the data from appox 150 tables. Is ssis packages are good solution if we use separate db's and then sych them.?
adilsardar wrote:
The database contains approx 260 tables and what we need is the data from appox 150 tables.
That's over 50%. How much data would that be, in megabytes? And how often will you run this query?
adilsardar wrote:
Is ssis packages are good solution if we use separate db's and then sych them.?
I don't have personal experience with SSIS, but replication sounds good.
I are Troll :suss: