A database is traditionally used to store data, but I have seen developers use database tables as a job queue. The purpose of the job queue is to track which data needs to be processed after it has been inserted into that table. A dedicated process then needs to periodically poll/query the database table for unprocessed data. Depending on the frequency of the polling and the availability of the unprocessed data, this technique can become very inefficient. Database polling is easy to implement and quick to prototype. Unfortunately as your systems grows, it will soon show its limitations in scalability and efficiency. RabbitMQ is an ideal solution to replace this type of database polling. In this video, I go over the high level design of how to replace database polling with RabbitMQ.