Изменения документа Инициализация процесса
Редактировал(а) Alexandr Fokin 2024/06/12 15:27
<
>
отредактировано Alexandr Fokin
на 2024/01/11 12:43
на 2024/01/11 12:43
отредактировано Alexandr Fokin
на 2024/01/11 12:38
на 2024/01/11 12:38
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -6,12 +6,8 @@ 6 6 Предполагается [[Пессимистичная блокировка>>doc:Архитектура и модели.Блокировки.Пессимистичная блокировка.WebHome]] на уровне всех экземпляров. 7 7 |(% style="width:181px" %)Выборка до исчерпания|(% style="width:1063px" %)((( 8 8 Выборка данных до тех пор пока они не исчерпаются. 9 +Плохо подходит для больших объемов данных. 9 9 10 -Замечания: 11 - 12 -* Плохо подходит для больших объемов данных. Может привести к тому, 13 -* Плохо подходит для сложных условий т.к. может привезти к тому, что будет невозможно выразить полный набор условий в виде запроса или запрос получиться сложным и также будет долго выполняться. 14 - 15 15 Пример: 16 16 Соединение таблицы доменных сущностей с таблицей процесса и выборка тех сущностей, по которым нет записи в таблице процесса. 17 17 ))) ... ... @@ -20,22 +20,15 @@ 20 20 |(% style="width:181px" %)Перебор всего сета доменных сущностей.|(% style="width:1063px" %)((( 21 21 Необходимое условие: Наличие способа перебрать данные батчами, гарантия что данные не удаляются. 22 22 23 - Вариант 1:19 +Пример: 24 24 Если мы уверены, что доменные объекты не удаляются, то мы можем отсортировать их по дате создания и первичному ключу. Таким образом мы получим фиксированные страницы данных, которые можно обрабатывать параллельно. Невозможно выполнить, если допускается удаление объектов. 25 25 26 -Вариант 2: 27 -Если есть уникальный автоинкреметный числовой ключ, то можно использовать его. 28 - 29 -Вариант 3: 30 -Если кол-во записей не очень велико и мы можем без проблем полностью уместить сет всех ключей в оперативной памяти. 31 -(Не требует гарантии не удаления т,к. в случае обнаружения удаления можно просто пропустить ключ). 32 - 33 33 Can queries that users ORDER BY using date to sort data be non deterministic? 34 34 [[https:~~/~~/dba.stackexchange.com/questions/241056/can-queries-that-users-order-by-using-date-to-sort-data-be-non-deterministic>>https://dba.stackexchange.com/questions/241056/can-queries-that-users-order-by-using-date-to-sort-data-be-non-deterministic]] 35 35 ))) 36 36 ))) 37 37 |(% style="width:61px" %)Валидация перед запуском|(% style="width:1393px" %)((( 38 -1. Валидация доменных объектов на возможность запуска экземпляра процесса (с гарантией, что доменной объект не будет изменен до конца транзакции планировщика , иначе мы можем принять некорректное решение о запуске процесса).27 +1. Валидация доменных объектов на возможность запуска экземпляра процесса (с гарантией, что доменной объект не будет изменен до конца транзакции планировщика). 39 39 1. Если существуют предыдущие экземпляры процесса (по ключевому набору), то они также вадидируются на возможность запуска нового экземпляра (например: В1 - процесс может запускаться только один раз, В2 - новый процесс не может быть запущен, пока есть активный предыдущий процесс). 40 40 ))) 41 41 |(% style="width:61px" %) |(% style="width:1393px" %)