Consumers:
Kusto
data access is an option to access the data directly from a database. It is
immensely helpful when we want to browse through the data or explore it. APIs
encapsulate logic with access to the data and provide validation, error
translation, and response formatting along with diagnosability, telemetry and
troubleshooting help. These are owned by the service team that also owns the
data.
Kusto
queries can also be quite elaborate or custom-defined to suit specific needs
that are faster and lightweight compared to the staged management, release
pipelines, and scheduled delivery of features introduced into the APIs. The
ability to include such queries in background automation is sometimes useful
because they don't have interactivity with the customer and those automations
can be kicked off periodically or on-demand.
Kusto data access can be
programmatic involving the use of a query provider and a HTTP client. No code or low code scenarios prefer this approach.
There are
two ways of consuming data from Kusto. These are:
1.
Polling
1.
On-demand
fetch
We compare them as follows:
When the changes are
infrequent, but the scenario requires immediate responsiveness, on-demand
direct access can be especially efficient. The fetch gets just the data that
has changed and as soon as the change happens that enables downstream systems
to be reactive and changes to propagate immediately. The downstream systems are
also relieved from implementing anything more than a message handler. There is
also the benefit that comes from the scope of the change that is passed down to
the subscribers, so they get additional information on just what data was
needed. If the changes become frequent, the number of messages is large
leading up to performance bottlenecks with variations in the queue size and
delays in the messages. Instead, when the changes span a lot of data, it is
best to get those changes in bulk. A polling mechanism can get changes in
batches over time and then process through all those changes. It can even find
only the updates that were made from the time of the previous polling. This
enables incremental updates at the destination. Since a polling mechanism is a
loop that perpetually finds changes, if any, and applies them to the
destination, it can work in the background even as a single worker if it has a
destination store. A polling mechanism is a read-only operation and therefore
it does not need to fetch the data from the store where the configuration is
being actively updated.
No comments:
Post a Comment