Thread View: borland.public.cppbuilder.database.multi-tier
2 messages
2 total messages
Started by Lance Robaldo
Fri, 20 Jul 2007 14:14
Database connections
Author: Lance Robaldo
Date: Fri, 20 Jul 2007 14:14
Date: Fri, 20 Jul 2007 14:14
33 lines
2510 bytes
2510 bytes
We have a product consisting of several hundered seperate applications, all of which access an Oracle database. The main program is not much more than a simple menu that spawns all of the other programs. The problem is that on some of our larger customers, they may have 50 or more people each running an average of 10 or so programs at a time from the menu. Each program has a database connection, and up to 30 query components. Since this creates a seperate database connection for each program, some of our clients are starting to experience some serious performance issues on the database because of all the open Oracle connections. Is there any way the main application can open a single connection to the database, and the spawned programs share that database connection component? Datasnap kind-of allows us to do this with datasets, but it requires all of the datasets to reside on the application server. In our case each program does something entirely different with the data, so putting all the datasets in an application server really won't work well for us. Also, our product consists of literally hundreds of executable programs executing thousands of different queries on around 100 tables, it would be a nightmare to try to put all the necessary datasets in a single application server. We really need to share the database connection, but have the datasets themselves in the individual executable programs. Thanks for any ideas here. Lance Robaldo Lance@Robaldo.com
Re: Database connections
Author: billaras
Date: Thu, 16 Aug 2007 23:51
Date: Thu, 16 Aug 2007 23:51
84 lines
4301 bytes
4301 bytes
honestly i dont think that i would be the best one to advise you on this issue since im just a student but why dont you try to use a more distributed model. for example you could divide the services and isolate them in diffrent application servers. this way you would have many application servers (datasnaps) each one with one database connection .users would then use their applications to connect to the appropriate datasnap server and perform the transactions.let me give you an example: lets say that the services are: 1)login service 2)messaging service 3)file exchange service you could have 3 application servers,each managing one separate service. each server could maintain one database connection (3 total connections).users would connect to diffrent servers to perform their transactions. imagine for example one client program having 2 socketconnection components to connect to the 2 services. you could even divide the database itself in diffrent parts (something like a distributed database) in order to increase the performance. this way you would have much less database connections, you could increase the performance by isolating the services in diffrent servers.the system could be managed and updated easier. the most serious issue i think is that you use (if i uderstood correctly from "access an Oracle database") only one database for all tables.try distributing the database and balance the workload in diffrent servers. as i said im just a student so i dont think that my proposed solution is very professional or valid since i dont have must "real life" experience in these situations.sorry if the above was st...:):):):) thanks "Lance Robaldo" <RRobaldo@wltsoftware.com> wrote in message news:46a0c33c$1@newsgroups.borland.com... > We have a product consisting of several hundered seperate applications, > all of which access an Oracle database. > The main program is not much more than a simple menu that spawns all of > the other programs. > > The problem is that on some of our larger customers, they may have 50 or > more people each running an average of 10 or so programs at a time from > the menu. > > Each program has a database connection, and up to 30 query components. > Since this creates a seperate database connection for each program, some > of our clients are starting to experience some serious performance issues > on the database because of all the open Oracle connections. > > Is there any way the main application can open a single connection to the > database, and the spawned programs share that database connection > component? > > Datasnap kind-of allows us to do this with datasets, but it requires all > of the datasets to reside on the application server. In our case each > program does something entirely different with the data, so putting all > the datasets in an application server really won't work well for us. > Also, our product consists of literally hundreds of executable programs > executing thousands of different queries on around 100 tables, it would be > a nightmare to try to put all the necessary datasets in a single > application server. > > We really need to share the database connection, but have the datasets > themselves in the individual executable programs. > > > Thanks for any ideas here. > > Lance Robaldo > Lance@Robaldo.com > >
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads