Database-as-IPC

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In computer programming, Database-as-IPC is an anti-pattern where a database is used as the message queue for routine interprocess communication in a situation where a lightweight IPC mechanism such as sockets would be more suitable. British computer scientist, Junade Ali, defined the Database-as-IPC Anti-Pattern as using a database to "schedule jobs or queue up tasks to be completed", noting that this anti-pattern centres around using a database for temporary messages instead of persistent data.[1]

Using a database for this kind of message passing is extremely inefficient compared to other IPC methods and often introduces serious long-term maintenance issues, but this method enjoys a measure of popularity because the database operations are more widely understood than "proper" IPC mechanisms.[2]

References[edit]

  1. ^ Ali, Junade (September 2016). Mastering PHP Design Patterns. Birmingham, England: Packt Publishing Limited. pp. 45–46. ISBN 978-1-78588-713-0. Retrieved 11 December 2017.
  2. ^ 5 subtle ways you’re using MySQL as a queue, and why it’ll bite you Schwartz, Baron. 2011 September 14.