215 похожих чатов

Всем привет! Хотел спросить как в Tarantool с группировками? Конкретно интерисует такой

кейс:
Например у меня есть space, в котором есть 10M кортежей.
Кадый кортеж описывает конкретный авиа-рейс. Вот пример:
origin, destination, flight_number, airline, price, departure_at

Где:
origin - пункт отправления
destination - пункт назначения
flight_number - номер рейса
price - цена
departure_at - время отправления

——
Представим что у меня есть задача выбрать все рейсы которые летят в destination, начиная с даты departure_at.
Допустим если бы я просто выполнил этот запрос, то мне вернулось бы 500K записей.

Но мне еще нужно сделать группировку по origin и destination и посчитать для каждой группы
средний price, максимальный price, и минимальный price. (могут оказаться группы в которых есть 100К записей)
——
Подскажите подходит ли Tarantool для решения такой задачи?

2 ответов

13 просмотров

Будет по скорости как mysql/pgsql

имхо нужно еще один спейс итогов, где для каждого месяца+origin+destination триггером рассчитывать количество таких рейсов и сумму цен тогда можно будет сделать хитрую луашную процедуру, которая будет выгребать данные из итогов, и дорассчитывать дробные месяцы. это будет быстро итогов в общем случае можно сделать несколько с разными периодами, условно день-месяц-год

Похожие вопросы

Обсуждают сегодня

Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
А чем вам питонисты не угодили?😂
.
79
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
Всем привет. Поделитесь, пожалуйста, опытом. Есть форма, на которой имеется dbgrid и кнопки: добавить, редактировать, удалить. Если нет записей в dbgrid, то кнопки редактирова...
Евгений
5
type TExtensions<GExtender>=class function GetExtension<GEntityExtenderType>:GEntityExtenderType; end; function TExtensions<GExtender>.GetExtension<GEntityExtenderType...
zamtmn
8
Всем привет. Подскажите, почему не меняется значение поля при переключении сайта?
Alexander Peterikov
11
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Всем привет, препод задал вопрос, подскажите пожалуйста, какой адрес инкапсулирует указатель?
Свинка Пеппа
8
Почему никто ещё не написал квантовую виртуальную машину на Windows?
КТ315
7
Карта сайта