Здравствуйте. Разрабатываю простенькое приложение для поиска самого дешевого авиарейса. Проект делаю для портфолио. Для поиска кратчайшего пути, буду использовать алгоритм Дейкстры. Цены - веса в графе.
Города и рейсы хранятся в Postgresql. В одной таблице хранятся города, а в другой прямые рейсы (рёбра) с ценами. Начальная и конечная точка - это внешние ключи на таблицу с городами, что бы было нельзя создать рейс из городов, которые не существуют.
Вопрос, как в больших системах решают вопрос с загрузкой больших данных в память. Ведь, надо загрузить все рёбра сразу, что бы потом запустить алгоритм Дейкстры. Я могу, конечно, перенести все расчёты на psql, что бы они считались в базе, но мне это решение не очень нравится.
Люди знающие, подскажите, как это делают правильно.