Доброго всем вам.
Итак, имеем типичную задачу - есть таблица, в которой много-много событий, которые состоят из даты/времени, типа, кучи идентификаторов-ссылок, и кучки всевозможных флагов.
Функционально - необходимо подбить несколько десятков запросов на sum, avg, count, min, max и т.п. агрегации за определенный промежуток времени, при этом каждый запрос с определенными условиями where и group by по флагам и идентификаторам данной таблицы.
В свое время решались подобные задачи разными подходами:
1. последовательный перебор кучи select XXX from TTT where IDs and Flags group by CCC
2. копирование данных из таблицы в MEMORY-table (mysql) и все тот же последовательный перебор
3. выдергивание всех данных за промежуток времени (по индексу) в middleware и построчный подсчет необходимых значений, в потоковом режиме.
Первые два способа - говно, и обсуждать нечего - медленно до безобразия (второй быстрее, но надо очень много памяти, что не всегда доступно). Третий - очень быстро (в ~25 раз быстрее), минимальные затраты памяти.
Так сложилось исторически, что никто не пробовал все запросы запустить в параллель на базе - будет ли профит, допустим на mysql, 50-ти запросах, 2-8 головах CPU и 2-8GB RAM при среднем кол-ве строк ~10000000, около четверти килобайта на строку? Выборки - от 10000 до 1000000 строк за раз.
И самое главное - можно ли как-то решить эту задачу третьим способом, не пристраивая middleware, т.е. исключительно средствами SQL (mysql или pgsql). Глубинных знаний SQL не имею, т.ч. не пинайте.
спасибо.
Ответ на:
комментарий
от aydar
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Подскажите варианты решения поставленной задачи (2011)
- Форум BASH оптимальный вариант для решения задачи (2022)
- Форум Вариант решения (2008)
- Форум Решение тригонометрической задачи (2014)
- Форум Bash решение задач (2021)
- Форум Посоветуйте решение задачи (2007)
- Форум iptables.Подскажите возможные варианты решения (2011)
- Форум [варианты решения]iptables ICQ (2009)
- Форум Линукс и решения задачь (2007)
- Форум Корректен ли мой вариант решения задачи (поиск подстроки в строке)? (2023)