На самом деле вы говорите о масштабируемости.
Если вы говорите о миллионах строк и нуждаетесь в их вычислениях, то как вы думаете, что будет быстрее?
- Запрос DBM суммировать миллионы строк и вернуть вам два числа.
- Возвращать миллионы результатов запроса по сети, которые вы повторяете дважды.
В первом сценарии вы можете увеличить ваш хост БД с более быстрыми процессорами, большим объемом ОЗУ, более быстрыми дисками или предварительно вычислить значения через равные промежутки времени.Вычисления, которые вы хотите выполнить в DBM, - это как раз то, для чего они написаны.
Во втором сценарии вам нужно увеличить масштаб вашего вычислительного хоста и, возможно, коммутатор, соединяющий DBM и вычислительный хост, плюсможет быть, хост базы данных, потому что ему придется получать и отправлять данные.Представьте себе влияние на сеть, когда она обрабатывает данные, и влияние на процессор вычислительного хоста, когда он делает все.
Я бы сделал первый, поскольку он кажется мне гораздо более масштабируемым.