В настоящее время я изучаю MS Orleans для нашей организации. Я понимаю, что Orleans Grains будет оставаться синхронизированным с БД до тех пор, пока все обновления БД будут поступать через зерна.
Но что произойдет, если есть какой-то массовый процесс (например, обработка файла данных), который обновляет/вставляет/удаляет записи в БД?
Есть ли какой-то процесс или шаблон, который можно использовать с Orleans для этого? Или нам нужно обрабатывать весь массовый процесс через Grains? В случае, если мы обрабатываем массовые операции через зерна - мы делаем это, обновляя каждое зерно (кажется очень дорогим, если каждое зерно обновляет себя в БД) или есть какой-то массовый шаблон, который можно использовать для принудительного «обновления» всех затронутых зерен?
Ответ может быть очевиден. Я не нашел ничего в документации об этих сценариях.
Мы будем использовать Orleans в качестве локальной установки с сервером MS-SQL.
Редактировать:
Я имею в виду процесс, который обновляет данные о N зернах. Наличие одного вызова, который обновляет 1000 записей, намного лучше для sql, чем 1000 вызовов, которые обновляют одну запись. Конкретным примером может быть обновление запасов: каждый запас продукта будет зерном. Каждые 15 минут или около того от третьей стороны приходил файл, информирующий об изменениях количества запасов, которые произошли вне приложения. Это должно обновляться в базе данных и отражаться в зернах. Файл может иметь 10k записей...