Scalability is the system's capability to handle growing requirements and an increasing workload.
Applied solution modes
The 1C:Enterprise system is highly scalable. It features file and client/server modes that provide various scalability options.
The infobase is located on the user's computer. This option is recommended for home use and for laptops.
The infobase is shared between several users in a local network. This easy-to-deploy and user-friendly option is recommended for small work groups.
The client/server mode is recommended for large work groups and enterprises. It is built on three-tier architecture, with a 1C:Enterprise cluster and a separate DBMS. It provides reliable data storage and ensures that a large number of users can work simultaneously without any problem.
Large corporations can use distributed infobases, which support both file and client/server modes. A distributed infobase unites geographically remote subsidiaries, and each of the subsidiaries can use either the file mode or the client/server mode. A distributed infobase ensures that identical configurations are used in each subsidiary and performs data exchange between the infobases.
Each applied solution (configuration) is capable of running in both file and client/server modes. Switching from the file mode to the client/server mode does not require any modification of the applied solution. The choice of mode depends solely upon the customer's needs and budget. One can start using the application in the file mode and seamlessly switch to the client/server mode later as the number of users and the database size grow.
Multiple user connections
One of the main system scalability criteria is the ability to maintain high performance as the number of tasks, the volume of data being processed, and the number of concurrent users grow.
The client/server mode supports concurrent work of a large number of users. Extensive research has demonstrated that a growing number of concurrent users will not result in any significant decrease in document input speed. Thus acceptable performance with a large number of connected users generating significant system load is ensured.
The 1C:Enterprise data model ensures that multiple users will only rarely access database tables concurrently when logically linked data must be accessed. Concurrent access is never used for accessing data belonging to different subject areas.
The execution of scheduled jobs does not require you to switch to exclusive mode. Scheduled jobs can run whenever it is convenient for end users and the entire company or organization. The exclusive mode is never set at system startup; it is only set when it is required for performing a specific operation. Once the operation is completed, the exclusive mode can be turned off.
The 1C:Enterprise technological platform includes a set of features for optimizing applied solution functions.
Transaction lock management
The managed transaction lock mode is used to lock logical data sets (such as "all records related to a specific city") and improves the performance of concurrent user work.
In the client/server mode, the most resource-consuming data processing operations are performed on the 1C:Enterprise server. For example, during the execution of complex queries, the client application only receives the requested selection, while all intermediate data processing is performed server-side. Increasing server performance is usually easier than upgrading all client computers.
1C:Enterprise caches the data retrieved from the database using object-oriented tools. When an object attribute is accessed, all object data is stored in a memory cache. When retrieval of other object attributes is requested, the attributes are taken from the cache, which reduces the total data retrieval time.
Server-side script execution
In the client/server mode, all operations on applied objects are performed server-side. The form and command interface functionality is also executed server-side.
The following actions are performed server-side: preparing form data, positioning form elements, and recording form data after changes have been made. The client displays the form that was generated server-side, handles data input, and performs server calls for recording entered data and for other server-side operations.
Similarly, the command interface is generated server-side and displayed client-side. Reports are also generated server-side and displayed client-side.
Next page: Cross-platform design