Мы в своем решение, написанном на .NET, в момент, когда потребовалось внедрить очередь, просто поставили Microsoft Message Queue. Сейчас, если бы у меня был выбор и подобная задача, я бы остановился скорее на RabbitMQ, а может и нет. Все зависит от задач.
Отвечая на вопрос, используйте ZeroMQ/RabbitMQ/MSMQ и не изобретайте колесо. Для них не нужно БД, да и реализовывать это куда проще чем городить взаимодействие с БД.
А еще, можно попробовать к примеру, Hangfire, но это не совсем очередь а больше планировщик задач.