|
Посоветуйте максимально быструю реализацию
|
|||
---|---|---|---|
#18+
Привет парни. Есть задачка по интеграции между двумя системами. Хочу решить оптимальным образом. Чтобы не жрало сильно памяти и отрабатывало быстро. Суть такая. Есть порядка 30-40 тысяч пользаков и порядка 1000 подразделений. Для интеграции предоставлены вьюхи из базы из которой нужно это добро синхронить в нашу СЭД. Как бы вы это делали на шарпе? 1 вариант тупо в лоб читаем настройки открываем конекшен и пока Read по очереди обходим пользаков сверяем через всякие асинхронные методы данные и если что-то поменялось перезаписываем в своей базе. 2 вариант к которому я больше склоняюсь и мне кажется он отработает быстрее это создаем модельки вытягиваем всю вьюху в какой нибудь list<UserModel> и обходим его через Parallel.ForEach внутри параллели дергая методы для сравнения. Внутри параллели тоже можно пойти разными способами. Например от модельки можно отнаследоваться и научить класс самого сверять пользака. Либо из базы приемника тоже можно все барахло загрузить в через модельки в коллекцию и уже сверять чисто в оперативке две коллекции. Есть еще всякие экзотические варианты и я понимаю что одну и ту же задачу можно решить миллионом способов но как и сказал вначале ищу адекватный и максимально эффективный. Вообще конечно при наличии времени я бы с удовольствием сам пописал и поюзал десяток разных способов, но так как времени как обычно нет хотелось бы положиться на ваше экспертное)) Заранее спасибо за ваше время! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2021, 00:44 |
|
Посоветуйте максимально быструю реализацию
|
|||
---|---|---|---|
#18+
unq Есть задачка по интеграции между двумя системами 1. начать с регламента 2. возможно, там скорость вообще нафиг не надо будет. или будут такие требования, что регламент будет с вашей стороны не реализуем, тогда п.1 или "ой все" ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2021, 18:11 |
|
Посоветуйте максимально быструю реализацию
|
|||
---|---|---|---|
#18+
love_bach, Сейчас скорость и нагрузка не важны. Но когда всевозможных интеграций будет пару десятков это может стать узким местом. А я привык сразу делать качественно, и этот топик тому следствие. По реализации комментариев не дождался, поэтому решил делать по второму варианту который описывал выше. К нему и склонялся изначально. Всем спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2021, 22:16 |
|
Посоветуйте максимально быструю реализацию
|
|||
---|---|---|---|
#18+
unq По реализации комментариев не дождался по реализации чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2021, 22:27 |
|
Посоветуйте максимально быструю реализацию
|
|||
---|---|---|---|
#18+
SqlBulkCopy , это если нужна оптимизация, причем копирование табличек можно распараллелить, это дает существенный прирост. А еще проще BCP.EXE ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2021, 16:14 |
|
|
Start [/forum/topic.php?fid=17&msg=40098526&tid=1349022]: |
0ms |
get settings: |
28ms |
get forum list: |
25ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
16ms |
get forum data: |
2ms |
get page messages: |
205ms |
get tp. blocked users: |
2ms |
others: | 316ms |
total: | 665ms |
0 / 0 |