🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#139
Author: Lance Robaldo
Date: Fri, 20 Jul 2007 14:14
33 lines
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
#141
Author: billaras
Date: Thu, 16 Aug 2007 23:51
84 lines
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