Changes API and Data Subscription
are services that a RavenDB Server provides subscribing clients.
Both services respond to events that take place on the server, by sending updates
to their subscribers.
Changes API is a Push Notifications Service.
Changes API subscribers receive notifications regarding events that
took place on the server, without receiving the actual data entities
affected by these events.
For the modification of a document, for example, the client will receive
object with details like the document's ID and collection name.
The server does not keep track of sent notifications or
checks clients' usage of them. It is a client's responsibility
to manage its reactions to such notifications.
Data Subscription is a Data Consumption Service.
A Data Subscription task keeps track of document modifications in the
database and delivers the documents in an orderly fashion when subscribers
indicate they are ready to receive them.
The process is fully managed by the server, leaving very little for
the subscribers to do besides consuming the delivered documents.