Design

At a high level, Imply is an integrated solution that consists of a powerful analytics engine (Druid), and a collaborative UI designed for arbitrary drill downs (Pivot).

Diagram

Loading data

Imply loads raw data from file systems such as AWS S3, HDFS, or local files, and message buses such as Apache Kafka, or AWS Kinesis. The raw data is converted to a specialized column format that is highly optimized for fast groupings, filters, and aggregations. A traditional database "table" is known as a "datasource" in Imply, and a single Imply deployment may hold multiple datasources.

Visualizing data

Datasources can be visualized by creating one or more data cubes in the UI. Each data cube contains a set of dimensions and measures. Dimensions are attributes of the data that you normally group or filter on. Measures are aggregates. Different visualizations can be created by dragging and dropping dimensions, and one or more measures can be displayed at any time. Data cubes have one primary visualization as the focus and you can arbitrarily drill into the visualization through any combination of dimensions.

Dashboards can be created from data cubes. Dashboards combine multiple visualizations into a single view and are best used to distill information rather than heavy exploration. Dashboards also support arbitrary filters. You can expand any given visual in a dashboard to return to the data cube view.

Direct queries

Imply's backend exposes a RESTful interface where you can issue queries directly. For more information, see here.

Overview