Есть голосование, результаты которого влияют на работу триггера (если большинство - согласно, выполнить триггер; в противном случае - нет). Голосование проводится асинхронно, т.е. может занять несколько дней, недель, месяцев.
Все пользователи не равны, у каждого - свой рейтинг, который определяет вес голоса. При этом, рейтинг не постоянен и может измениться в любой момент для каждого из пользователей. Для получения результата нужен кворум (по количеству рейтинга).
label 1: Как бы вы организовали работу подобной системы, чтобы избежать голосующих-стратегов? Типа, все голосуют сейчас (пока у всех рейтинг около 1.0), а я проголосую через две недели, когда мой рейтинг будет 5.0.
Хранить не сам рейтинг, а проголовавших и пересчитывать голоса каждый раз относительно нового рейтинга каждого из участников? Накладно.
На начало голосования записать текущий рейтинг каждого из участников и использовать его? Пока - лучший вариант.
Ясен красен, это зависит от целей проекта. Тем не менее, goto [1].