My two cents... 1. What is the best database to use in the following application?
Considering that you only have 40 records, you might not even need a database. But since you mention two CPU's, I assume you're using two machines? If you do need some storage, you could use just flat files or a CSV file to store the the data, which is read when the application start and saved when the application closes. However, if you're using the database to share data between two applications or even two different machines, you might want to use a completely different approach. One solution would be to create a service to which other applications can connect. This service would maintain the data and other applications just communicate with it. (Either through Windows messages, named pipes, mailslots or TCP/IP.) Basically, this would be some kind of simple client/server architecture. 2. Could I put the database in RAM memory so the hard drive won't be busy? Yes, but if it eats up a lot of memory, your application will just swap between memory and the swap file all the time. Furthermore, if your application crashes, the data will be lost. It has not been suggested but it should also be possible to do the same through ADO and MS Access. For small amounts of records, you'd still get a good performance out of it and it tends to perform better in general. If you own MS Office then you also have some good tools to create and maintain this database. If not, you would need some knowledge about ADO to know how you can still create an Access table (through ADOX) and create the tables you need. You could also use just ADO combined with disconnected datasets. Those are similar to Borland's TClientDatasets but they rely on ADO instead of MIDAS. Similar techniques, actually, just different manufacturers. As an alternative, you could also just store everything in an XML file and load it in memory on start-up. You won't have easy-to-use data-aware controls in that case but it's a good approach for a document-based solution. But if you need to share this data between multiple processes or machines then this would not be a good solution. (Unless you create a service and let the service handle the XML file while the other processes just communicate with the service. -- With kind regards, \/\//\ Wim, W.A. ten Brink On 5/31/07, Fred <[EMAIL PROTECTED]> wrote: > > Hi All, > > 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? > > Application: > I build free submarine simulator software for teachers to teach > math and science to children. They perform scientific and > humanitarian missions only! > The database is dBase (.dbf) with 40 records (20k bytes) which hold > the location, speed, depth, course, ... for each contact (ships, > submarines, whales, navigarional aids, ...) The master math engine > (on CPU 1) updates data once every second, and other CPU's (Radar, > Sonar, Ships, Submarines, Aircraft, ...) read the data once every 2 > to 8 seconds. I can hear CPU 1 hard drive being very busy. I use > Delphi 5 and 2006. I suspect there is a better database for my > application than dBase! > Any thoughts! > > > > > ----------------------------------------------------- > Home page: http://groups.yahoo.com/group/delphi-en/ > To unsubscribe: [EMAIL PROTECTED] > Yahoo! Groups Links > > > > [Non-text portions of this message have been removed]

