Executando verificação de segurança...
2

Qual a utilidade deste sorting, que dor sua ela resolve ou é apenas um pet project ?
Gostei dessa abordagem "trotsky sorting", talvez eu possa pensar na utilidade disso se eu tivesse uma fila enorme de eventos que foram gerados por exemplo por um dispositivo, e quero priorizar processar certos tipos de eventos em detrimento de outros.

Por exemplo, trabalhei com rastreadores de veículos, estes geram diferentes tipos de eventos para diferentes coisas que acontecem no veículo. Ex: Abertura de porta direita, esquerda, traseira, ignição ligada/desligada, sensor de carona ativado, etc.

Imagina o cenário onde eu tenho milhares de veículos rastreados, gerando trocentos eventos e enviando para minha infra e e quero priorizar processar os eventos de abertura de porta por algum motivo.

Teoricamente eu poderia fazer um "ORDER BY" em uma tabela de um banco RDBMS e a situação estaria resolvida, OU, aplicar este trotsky a uma estrutura mais efêmera, onde os dados estão sendo recebidos mais ainda não armazenados em banco para processamento futuro.

Carregando publicação patrocinada...
1

Antes de qualquer resposta sobre, o projeto vai ter outras alterações.
as alterações que desejo fazer por agora:
pesos dinâmicos;
prioridade contextual;
aging (eventos antigos sobem);
integração com filas / streams;

A ideia do projeto não é substituir um 'ORDER BY' ou algum outro mais clássico. Ele faz mais sentido antes do banco, em estruturas efêmeras, onde os dados estão chegando continuamente e ainda não foram persistidos.

A proposta não é apenas organizar, mas manter uma fila viva aceitavelmente organizada, enquantos novos eventos continuam mudando (as prioridades podem mudar dependendo do contexto)
o mecanismo funciona assim:
os eventos entram em qualquer ordem,
cada evento pode ter um peso ou relevância,
o sistema aplica correções locais e incrementais,
eventos mais críticos tendem a emergir para o topo com o tempo,
sem bloquear ingestão e sem exigir um estado final “perfeitamente ordenado”.