Questions:
1. What is the best database to use in the following application? 

2. Could I put the database in RAM memory so the hard drive won't 
be busy?

I would hold the data in the memory of the single server (in an array of 
records or in an objectlist);

This data could be read or written to i)a database or 2)a file if you want to 
keep a record of the data either periodically or at startup or closedown of 
your program; for myself, it seems that option 2) is better;

The 'client' or player computers only need to read or write data to the memory 
of the server computer. 
They do not need to update to or read directly from the database: this is best 
done when needed ONLY by the server whenever it is desired to update the 
database (eg. when something changes or at a fixed time cycle);

Data can be written/read to client computers using a messagebox or file 
transfer protocol such as trivial FTP (tFTP) or something similar (Delphi has 
demos for this using the Indy components);
I have used similar methods for controlling an array of industrial molding 
presses (almost as big as submarines too: 17 tonnes each!): each press put out 
(or read) a formatted text file of 20 lines holding all the parameters 
(hundreds for each press); only the server computer needed direct access to the 
database, though it monitored each press every 2 or 3 seconds (it was possible 
also to cycle faster, but was not necessary since the presses had a 23 second 
cycle); Data was sent to or from the presses only when parameters for that 
particular press changed, usually at the beginning of a task or if wanting to 
cancel a task in execution;

The problem that you have is partly one of theory: it is best to separate the 
functionality of database Server/Client from that of application Server/Client;

In some cases a database server may be on multiple machines which work 
together, however it is possible that there is an application server computer 
which maintains a single session with the database, but which has multiple 
application (non database) sessions open with client machines, none of which 
communicate directly with the database itself; if you are interested you could 
study the theory of Multithier computing: the principles apply in miniature to 
the program that you are working on;

Kevin O'Neill

[Non-text portions of this message have been removed]

Reply via email to