-
February 4th, 2013, 04:06 PM
#1
Difference between MERGE and DISTINCT subscription modes
MERGE and DISTINCT subscription modes differ in several aspects, where the main difference is in the way the snapshot is defined.
To resume:
As MERGE mode implies a "state" that has to be reproduced to the client:
- the updates represent changes in the state, so the Data Adapter is allowed to send to the Server only the modified fields;
- the snapshot is the current state (which can be carried by a single pseudo-update);
- in case of multiple updates in short time, filtering is encouraged, rather than queueing, because the client is expected to only display the current state;
as a consequence, the default buffer size limit is 1;
filtering consists in merging the updates, so that a cumulative update is sent, which allows the client to immediately turn to the current state.
As DISTINCT mode implies a source of "news" on some topic to be sent to the client:
- the updates represent new observations and are unrelated to one another, hence the Data Adapter must send all the relevant fields;
- the snapshot is the recent history of observations, so that the client could fill a static list at startup (each historical observation can be carried by a pseudo-update);
the size of the recent history to be preserved has to be configured and cannot be unlimited; - in case of multiple updates in short time, queueing is preferred to filtering, because the client is interested in showing all observations;
as a consequence, the default buffer size limit is the maximum allowed;
yet, if an observation may get filtered: in this case, it is lost for the client;
but this implies that many newer observations are available, which might cause the discarded observation to actually become unimportant.
Moreover, about both points 3, let's remind that the buffer size can be freely configured for each subscription and that "unfiltered" subscriptions can also be requested.
[Originally written by Dario Crivelli]
-
July 19th, 2013, 06:53 AM
#2
Hi Dario,
As you stated in point #2 in DISTINCT mode: "each historical observation can be carried by a pseudo-update". How does frequency "Update per Second for Each Item" work here?
Can client receive all historical observations at once or one by one by each second?
Thanks.
Last edited by tvhnet2013; July 19th, 2013 at 06:55 AM.
-
July 22nd, 2013, 10:12 AM
#3
Hi tvhnet2013,
In DISTINCT mode all the events belonging to the snapshot are sent to the client in an unfiltered dispatching fashion, despite the frequency and buffer size limits operating for normal updates.
-
July 22nd, 2013, 10:54 AM
#4
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
All times are GMT +1. The time now is 08:47 PM.
Bookmarks