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]

