Live Platform
  • Introduction
  • Release Notes
    • Live 3
      • 3.59.0
      • 3.58.0
      • 3.57.0
      • 3.56.0
      • 3.55.0
      • 3.54.0
      • 3.53.0
      • 3.52.0
      • 3.51.0
      • 3.50.0
      • 3.49.0
      • 3.48.0
      • 3.47.0
      • 3.46.0
      • 3.45.0
      • 3.44.0
      • 3.43.0
      • 3.42.0
      • 3.41.0
      • 3.40.0
      • 3.39.0
      • 3.38.0
      • 3.37.0
      • 3.36.0
      • 3.35.0
      • 3.34.0
      • 3.33.0
      • 3.32.0
      • 3.31.0
      • 3.30.0
      • 3.29.0
      • 3.28.0
      • 3.27.0
      • 3.26.0
      • 3.25.0
      • 3.24.0
      • 3.23.0
      • 3.22.0
      • 3.21.0
      • 3.20.0
      • 3.19.0
      • 3.18.0
      • 3.17.0
      • 3.16.0
      • 3.15.0
      • 3.14.0
      • 3.13.0
      • 3.12.0
      • 3.11.0
      • 3.10.0
      • 3.9.0
      • 3.8.0
      • 3.7.0
      • 3.6.0
      • 3.5.0
      • 3.4.0
      • 3.3.0
      • 3.2.0
      • 3.1.0
      • 3.0.0
    • Live 2
  • Articles
    • Creating an aggregation
    • Creating a pipe
  • Theoretical Background
    • Fundamentals
    • Key Advantages
  • Platform Architecture
    • Introduction
    • Queries
    • Glossary
  • Featured plugins
    • Annotations
    • Groovy support
    • Messenger
    • Microsoft Teams
    • MongoDB
    • MongoDB Timeseries
    • MongoDB Kit
    • Purge plugin
    • SQL
    • TCP Input
    • TimescaleDB
  • Data visualization
    • Pipes widgets
      • Temporal
      • Cartesian
      • Multi-value snapshot
      • Single-value snapshot
      • Tables
      • Heatmap
      • JSX Widgets
      • Lollipop
      • Histogram
      • State Timeline
      • Boxplot
    • Pipes modifiers on Pipes charts
  • Alerts and notifications
    • Pipes modifiers on rules
  • Pipes Queries
    • Introduction
    • Dynamic filters
    • Meta parameters
    • Reducer
      • Uniform compress
      • PIP
    • Storage Hints
    • Execution Context
    • Event flow modifiers
  • Developers
    • Plugins
    • Packages
    • Backend API
      • Lookup Tables
      • Extensions
      • Settings
      • Storage Providers
      • Web Services
      • Web Setup
      • Entity Audit
    • Web application
      • Services
        • Point service
        • Menu service
      • Browser Compatibility
      • Runtime modules
        • Core Javascript modules
        • Library modules
        • Adding modules to runtime
      • Localization (i18n)
      • Date formatting
      • Dashboard and Widgets
        • Widget API
        • Custom widget editors
        • Live Event Types
        • Live Widget Configuration
        • Live Widget Packaging
        • Widget Request Interceptors
      • React Contexts
        • Dashboard
        • Dashboard widget
      • Registering Home Page options
    • Python application
    • Subscribing to Live Events
  • Administration
    • Configuration
      • Home Page Customization
      • live.properties
    • Infrastructure Monitoring
    • Storage Monitoring
    • Queries Monitoring
    • Logs Monitoring
    • Data Purging
  • Features
    • Access Permission
    • Datasources
    • Export Dashboard
    • Partial Indexes
    • WebApp Metrics
    • Entity Audit
Powered by GitBook
On this page

Was this helpful?

  1. Features

Datasources

PreviousAccess PermissionNextExport Dashboard

Last updated 2 years ago

Was this helpful?

INTELIE Live has a built-in feature to aggregate, enrich or make any processing over the real-time events flow. A datasource enables the end-user to create a query using any available.

The most traditional approach for datasources is to use the for such data processing. However, you can use other query providers such (e.g , , or create your own query provider to gather data from external sources.

Once a new datasource is created the user can choose a new event type to represent the output of such processing.

Query isolation

INTELIE Live delivers an opt-in feature flag to isolate window advance from all unrelated queries.

By default, non-datasource queries run their pipes instance in a separate per-query thread, but this mechanism is bypassed for datasource queries, because the ordering of their output relative to the window advance lock is important, since otherwise the events could end up in the wrong window of dependent queries.

To preserve that ordering while also allowing datasource queries to run in a separate per-query thread, each per-query queue is replaced by a linked list of per-window queues. The window corresponding to an event generated by a datasource is propagated to dependent queries through a thread-local side channel, and a window advance which generates no events is propagated to dependent queries through a match on the event type for the datasource.

Each query keeps track of which per-window queues are potentially waiting for events or window advances of its datasource dependencies. In the common case where a query has no datasource dependencies, it can reuse the same queue for all windows, avoiding unnecessary allocations and linked list manipulations.

A datasource may be attached to some perspective to ensure only users allowed can edit and collaborate on that data processing methodology. See more about .

To enable that opt-in feature flag and make the datasource queries to run in a separated thread, the administrator needs to edit the and change live.useAsyncDatasourceProvider to true.

Acess Permission
live.properties
query provider
INTELIE Pipes Language
Pipes
MongoDB
SQL
Datasource entry on configuration menu
Datasource listing
Editing a datasource