Building Messaging Systems with JMS, Page 3
Databases are an ideal approach for long-time data storage, but storage of the temporary data and users' notifications on their changes is not their strength. In spite of the fact that it is considered inefficient, interrogations of databases are frequently used in practice. All these requests demand a lot of additional "hidden" work. If plenty of objects frequently address a database, it can lead to significant loading of the database server and a network. Most of the time, requests do not return any data, or, even worse, already known information comes back to processing.
Simply put, databases are not intended for frequent inquiries or events. If it is necessary for you to react as soon as possible to a change of the data or any event, a simpler and more effective way will be through the use of asynchronous messages.
A characteristic feature of such applications is usually a huge number of agents (agents can be people, operations of automatic processes, or even the physical equipment, for example printers or devices), each of which incurs the performance of a small problem and transfers its to the following agent, according to business logic. At the creation of such applications, the main task of development is the confidence of fast performance, and also confidence of absence of failures. MQ Servers, which work with databases, simplify the process of processing such technological processes in your application; doing it is more flexible, scaled, and expanded.
Also, it is very convenient to use MQ technology for applications focused on events. It concerns applications working in the area of financial or new services. In financial markets, operations should be done very quickly; users are interested in changes as soon as they occur.
Page 3 of 3