Технология хорошо расписана в самой публикации. Вкратце оно так выглядит:
Всё проводили на удалённом сервере в Швеции на 100 Мбитном линке. Сначала мы попытались выкачать всю БД NSVS. 18 Гб скачали, но при попытке разрвернуть всю БД, потребовалось больше терабайта места, обломались. Поэтому данные получали таким образом. Выкачали только БД со списками объектов NSVS и их параметрами, без кривых блеска. Развернули и провелю фильтрацию по стандартным полям базы NSVS (n_obs, rms_mag, med_err). Получили что-то около 80 тыс. объектов. Точные числа в публикации. Для этих объектов написали парсер, который wget'ом забирает кривую блеска с сайта Skydot и создаёт файл локально на винчестере. Связались с Возняком, он любезно согласился, чтобы наш сервер изнасиловал Skydot. На этом этапе все 80 тыс. объектов у нас лежат локально и не нужен терабайтовый винчестер. Далее поудаляли из этой локальной БД объекты в известных каталогах - Red Variables in NSVS Возняка, MISAO, GCVS, и т.д.. Для этого сделали опять же парсер и конвертер астрономических координат, свой для каждого каталога. Он сранивал координаты и удалял из локальной БД попадания. Тут поклон MySQL, т.к. операции сравнения были очень многочисленными (измерялись миллиардами операций). Всё это заняло около недели процессорного времени и постоянного кача.
Для всех оставшихся объектов сделали процессинг, используя слегка модифицированный код AAVSO TS12, VARTOOLS и свой процессор, названный TFE. Дополнили БД полями периода, индексами переменности Стетсона, R_AOV, и т.д. Далее для каждого объекта получили фотометрию и кроссы из каталогов. Для этого опять-таки, написали парсер для VizieR. Парсер лезет на визирь, забирает стандартную веб страницу с результатами согласно координатам объекта и через реглуярные выражения выдирает оттуда необходимые данные, занося их в локальную БД. Потом фильтруем по всем критериям, описанным в публикации и выбираем SR+L и мириды. Для каждой из звёзд смотрим, чтобы она не была в VSX и гугле. Для этого опять написали парсер. С VSX пришлось немного повозиться, т.к. используется метод POST для отсылки данных на сервер.
В общем, всё на парсерах построено и для каждого шага он получился свой.