Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Difference between Pipe and AQ

Re: Difference between Pipe and AQ

From: Thomas Kyte <tkyte_at_oracle.com>
Date: 7 Mar 2002 08:32:46 -0800
Message-ID: <a684ne025rm@drn.newsguy.com>


In article <a66kbp$31g$1_at_bob.news.rcn.net>, "Ryan says...
>
>Thanks Tom,
>
>Ive actually read quite a bit of that document along with some other stuff.
>The impression Im getting is that AQ is a technological advancement over
>Pipe. So, Pipe should only be used for something simple. Does pipe have any
>functionality that AQ does not?
>

they are quite simply apples and toaster ovens in a comparision. I'm at a loss as to how to say "pipe has this funtionality which AQ does not". A pipe is a very simple, basic interprocess communication device that does not have a stable store backing it, no way to setup payloads (message types), nothing.

These two technologies are NOT comparable in my opinion. AQ is a full messaging implementation. Pipes, they are just a simple IPC thing.

>"Thomas Kyte" <tkyte_at_oracle.com> wrote in message
>news:a66etr01lps_at_drn.newsguy.com...
>> In article <a6642t$10q$1_at_bob.news.rcn.net>, "RKG" says...
>> >
>> >Ive been looking at these two packages and they seem fairly similiar. It
>> >just seems like AQ has more features. Would someone please tell me the
>> >differences?
>> >
>> >Also, yes I have read alot of the documentation.. I did not see any
>compare
>> >and contrast. Just some basic references.
>> >
>> >
>>
>> They are really apples and oranges.
>>
>> With a pipe -- you can put a message in there (very finite in size) and
>someone
>> else can pull it off. Very much like a named pipe in Unix land. If the
>> database is shut down -- message goes away. If no one takes the messages
>off
>> the pipe, eventually the person putting the messages on will either block
>or get
>> an error. This is a very very simple inter-process communication device.
>>
>> Queues -- they are very different.
>>
>> You can have specific message payloads (object types)
>>
>> you are not restricted in size/amount (other then the amount of data you
>can
>> store)
>>
>> they survive database shutdown/restarts
>>
>> they can be prioritized, routed, and dequeued by multiple consumers
>>
>> they can propagate from instance to instance (queue a message on db1,
>dequeue on
>> db2)
>>
>> and so much more.
>>
>> See:
>>
>http://technet.oracle.com/docs/products/oracle8i/doc_library/817_doc/appdev.
>817/a76938/toc.htm
>>
>> there is an entire application developers guide dedicated to AQ -- pipes,
>its
>> just a little utility package in comparison.
>>
>> --
>> Thomas Kyte (tkyte@us.oracle.com) http://asktom.oracle.com/
>> Expert one on one Oracle, programming techniques and solutions for Oracle.
>> http://www.amazon.com/exec/obidos/ASIN/1861004826/
>> Opinions are mine and do not necessarily reflect those of Oracle Corp
>>
>
>

--
Thomas Kyte (tkyte@us.oracle.com)             http://asktom.oracle.com/ 
Expert one on one Oracle, programming techniques and solutions for Oracle.
http://www.amazon.com/exec/obidos/ASIN/1861004826/  
Opinions are mine and do not necessarily reflect those of Oracle Corp 
Received on Thu Mar 07 2002 - 10:32:46 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US