P
P
PrTe2020-11-17 21:28:46
System administration
PrTe, 2020-11-17 21:28:46

How to update software in continuous production 24/7. In particular, large bases 1C?

There is a continuous production with a string of just 1C. Needs to be updated periodically. The database is large and the update takes time (users can not work) . How to update without stopping production, 1C requires an exclusive mode.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
A
Andrey Shamin, 2020-11-17
@PrTe

In the current formulation of the question - without stopping the base - in any way.
However, if downtime requirements are identified, it is possible.
For example, a simple base of 60 minutes is invalid. While a simple 5 min base to update is perfectly acceptable.
If a downtime for maintenance of 5 minutes is allowed, then this interval can be met.
What is a 1C database update.
During the update, new code is rolled out, as well as the base is restructured. Code rolling is fast.
The main update time is occupied by the restructuring of information security.
The question is - how to reduce the time of IB restructuring.
Not every update affects database tables. Therefore, not every update will be long.
Consider the case when a change was made to a large table.
Restructuring by means of 1C is a long process. First, a new table is created with a new structure. Further, records (one at a time!) From the old table are transferred to this new table. The power of the equipment does not solve much with this approach. No matter how powerful the servers are, they cannot greatly speed up the process of shifting records "one at a time".
Decision:
1. Organizational. Define "heavy" and "light" releases in advance. Those. releases that affect heavy tables and that do not.
2. Technical. Do not make changes to the existing fields of "heavy" tables, but only add new fields, on the side. With this approach, it is possible to intervene in the process of IS restructuring.
The fact is that when you add a new field, 1C still performs restructuring, even if this field is empty. Such 1C is "stupid". Nothing to do about. However, this can be compensated by working at the DBMS level. At the restructuring stage, you can replace the names of tables in such a way that 1C will restructure an empty table. Then replace the table back. For example:
Given:
Table - A - large and heavy
A new field AB was added to table A
Task:
It is necessary to restructure table A as quickly as possible.
Solution:
At the whine level, rename table A to _A
Turn on 1C
restructuring Restructuring creates the missing table A in accordance with the configuration
We transfer data from _A to A using the DBMS - at the whining level, this is done as quickly as possible.
We launch 1C, we make sure that the data is working
We delete _A Something
like this.
PS Dynamic update is NOT recommended to use ever.

D
Drno, 2020-11-17
@Drno

No way, as far as I know.
Actually, according to the regulations, there is a time for "maintenance" of various software and equipment.
Well, or raise 2 duplicating 1s to the cluster, 1 is not available - they work on the second.

D
darst, 2020-11-26
@darst

There are also extensions in 1s. They are best used when you only enter code in the configuration or you need to display some props on the form, which can be done programmatically. And in the future, I recommend adding all your new details programmatically, this will make it easier to update the program with updates from 1c.
Also talk to your superiors about stopping the program at lunch. I worked at a meat factory, where everything was also tied to 1s, so there twice a week, Monday and Thursday, the program was updated exclusively. This time was not only used to update 1s, but also the system administrator updated their hardware, servers, routers, etc.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question