Programming guide to Unibase

4 : Server concept

Normally a CGI program is started for each call to an internet-server. When those CGI programs are bigger than nothing this can flood the computer with data and it is hard to keep persistent data. Often CGI programs do calls to a database management system that stays in the memory of the computer. My intended architecture is similar to this. The CGI is a very small program that only collect data on the request and sends it to the main program. This program reads the calls and returns the resulting html code back as an answer to the calling CGI program.

Data stays in memory

Now the data can stay in memory of the PC and can be saved on fixed points in time to prevent the log file from becoming too large. The database should also be stored and restarted when new versions of it are created. The data files created by the database should be translated to the new structure of the database and then the new program can be started.

Online change to database structure

In the future an interpreter of the language it planned and then the database can be altered when it stays in memory of the computer. The changed routines are interpreted but the unaltered routines can still be called. This will result in a slower database but when it is recompiled the performance is online again. This version of the database should contain all the code of the language so it is not recommended as a production version but more as an interactive development environment that will result in a much leaner end product.