Filesharing databases provide one integrated development environment in which the database and the user interface are developed using one tool. The database is then loaded on the server machine. The user's machine must have a copy of the program used to create the database in order to communicate with the server and share the database.
The server machine serves the database to the users by sending everything the user's machine needs to do the work. If a user wants to find one record in 5,000, the server machine will send all 5,000 records to the user's machine as well as the forms the user needs to view the data. The user's machine will then search through the 5,000 records to find the one that was requested. If 50 users want to find one record in 5,000, the server will send all 5,000 records and the necessary forms to all 50 users' machines. When the user is done making changes, all of the records will be sent back across the network so that the Server has an updated copy to send other users. As the number of users or the amount of data increases, the database will get slower because of the amount of data being sent back and forth. All network operations can be affected if there are too many users or too much data being shared. For this reason, most Filesharing databases should be limited to 10-20 users. Some Filesharing programs boast they can handle up to 100 or more users, but careful reading reveals they can actually handle 100 connections not 100 users. When Tables are stored separately, each user connecting to a Table takes one connection. If each user must connect to ten different tables, then only ten users can connect to the database.
When changes need to be made to the database, the integration of the data and structure of the database requires either that the database be taken off line while changes are made, or if changes are made on a copy, that the data be exported from the old database and imported into the new database. This generally only has to be done on the server machine.
Client-Server databases split the database and the work between the Server machine and the user's machine, called the Client. The Server machine houses the database engine, the structure of the database such as the Tables and columns (fields) and all of the data. The Client machine houses the user interface used to view and manipulate the data. Usually, these two parts are developed using two completely different programs that are designed to talk to each other. When a user asks for data, the Server machine finds the requested data and sends only what was requested to the user's machine. If a user asks for 1 record in 5,000, the server will find the one requested record and send it only. The Client machine may do some processing of the data but the Server machine will handle all of the tasks necessary to minimize network traffic. Because Client-Server databases are more efficient than Filesharing, Client-Server databases can handle more users and larger amounts of data without negatively impacting network operations.
When changes need to be made to the database, the changes may need to be made to either the Server software or the Client software or both. Because the Server software does not send the user interface along with the data, if the Client software is changed, the updated Client software has to be installed on each user's machine.
Like other Client-Server databases, 4th Dimension splits the work and the database between the Server and the Client. The Server serves only the requested data keeping network traffic down.
Unlike other Client-Server databases, 4th Dimension lets you develop both the Client software and the Server software in one integrated development environment rather than using two different programs. This speeds development time while minimizing costs, problems and conflicts.
Also, unlike other Client-Server databases, the only thing that needs to be installed on the user's machine is the basic 4D Client software. Using the basic Client software, 4th Dimension will automatically install or update the user interface for all 4D Server databases on the Client machine for you. If the user interface has not changed, 4th Dimension will not send any interface updates. If it has, 4th Dimension will automatically send the changes to the Client machine.
No other database program, Filesharing or Client-Server can compare with 4D's easy installation and updating. 4th Dimension separates the data and the structure of the database into separate files. This allows updates to be made on a copy of the database structure without taking the database off-line. When the changes are completed, simply replace the old structure file on the server machine with the new one. 4th Dimension will automatically handle the integration of the data file with the new structure file and update the Clients. Updates can be installed in minutes rather than hours or days.