Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Difference between Pipe and AQ
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 CorpReceived on Thu Mar 07 2002 - 10:32:46 CST