Oracle Streams AQ (Advanced Queuing) provides highly scalable database-backed queuing functionality. Does an equivalent feature exist in SQL Server (any version)?
Note: I do not mean simply using a table as a queue, but a specific vendor-provided enhancement to the database platform.
A queue can be the target of a SELECT statement. However, the contents of a queue can only be modified using statements that operate on Service Broker conversations, such as SEND, RECEIVE, and END CONVERSATION. A queue cannot be the target of an INSERT, UPDATE, DELETE, or TRUNCATE statement.
Oracle Database 12c provides such an enterprise-messaging infrastructure with Oracle Advanced Queuing (AQ), which is a key component in automating business process workflows for distributed applications.
The AQ$ Queue_Table_Name view describes the queue table in which message data is stored. This view is automatically created with each queue table and should be used for querying the queue data. The dequeue history data (time, user identification and transaction identification) is only valid for single-consumer queues.
What is a Queue Based Database Application? A queue based database application is an application (or part of one) where multiple users need to work on a pool of records in a queue to process them. The records in the queue are in an "unprocessed" state.
Service Broker. A good intro is here: An Introduction to SQL Server Service Broker. Available since SQL Server 2005. High scale, high performance messaging, built into the SQL Server engine, completely integrated (messages are stored in hidden tables in the DB, the access API is fully integrated into T-SQL language as BEGIN DIALOG, SEND, RECEIVE verbs), supports Activation, message correlation and many more. Is it scalable enough to provide the messaging back bone for MySpace.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With