9.1 Data Model Architecture & The Pivot Tool

Key Takeaways

  • A Data Model is a hierarchically structured knowledge object that applies a meaningful, business-oriented semantic schema over raw, unstructured machine data without modifying the underlying indexed events.
  • Datasets within a data model represent specific collections of data (events, searches, or transactions) and their associated attributes (fields), functioning analogously to tables or views in a relational database catalog.
  • The Pivot tool is Splunk's visual drag-and-drop report builder that empowers business analysts and non-technical stakeholders to build sophisticated tables, charts, and metric visualizations without writing SPL search syntax.
  • Data models serve as the underlying data provider for Pivot: users select a data model, choose a dataset, and configure split rows, split columns, filters, and metric aggregations directly in the Pivot interface.
  • Power Users and administrators manage and govern data models via Settings > Data models in Splunk Web, controlling dataset schemas, attribute definitions, sharing permissions, and acceleration settings.
Last updated: August 2026

9.1 Data Model Architecture & The Pivot Tool

Quick Summary: A Data Model is a hierarchical Splunk knowledge object that provides a structured, business-meaningful semantic schema over raw machine data. Functioning analogously to a relational database schema, a data model organizes data into datasets (tables/views) and attributes (fields/columns) without altering the underlying raw events on disk. Data models serve as the engine behind the Pivot Tool—Splunk's visual, drag-and-drop report builder that enables business analysts and non-technical users to generate charts, statistical tables, and dashboard panels without writing a single line of Search Processing Language (SPL).


1. The Semantic Abstraction Layer: Why Data Models Exist

In an enterprise Splunk environment, indexers ingest terabytes of diverse machine data daily—ranging from firewall traffic and web server access logs to Windows authentication events and cloud infrastructure metrics. While technical administrators and security analysts can query this data directly using complex SPL queries, non-technical stakeholders, business analysts, and compliance managers often struggle with SPL syntax, boolean logic, pipeline formatting, and vendor-specific field names.

Furthermore, even for experienced SPL authors, raw logs present operational challenges:

  • Inconsistent Field Naming: Different web servers record client IP addresses under different keys (c_ip, clientip, src_ip, remote_host).
  • Complex Search Syntax: Simple business questions—such as calculating quarterly web traffic by product category—require intricate combinations of stats, eval, lookup, and chart commands.
  • Performance Overhead: Ad-hoc reporting over billions of raw events requires substantial CPU and disk I/O to decompress raw event journals and parse regex extractions dynamically.

Data Models solve these challenges by creating a semantic abstraction layer between raw machine data and the end user.

+------------------------------------------------------------------------------------------------+
|                                 DATA MODEL ARCHITECTURAL LAYERS                                |
|                                                                                                |
|  1. CONSUMPTION LAYER (End-User Analytics & Reporting)                                         |
|     +----------------------------+     +----------------------------+     +-----------------+  |
|     |      Pivot UI Builder      |     |     Accelerated Dashboards |     |  | tstats SPL   |  |
|     | (Visual Drag-and-Drop BI)  |     |   (Executive KPIs & Charts)|     | (Power Analysts)|  |
|     +----------------------------+     +----------------------------+     +-----------------+  |
|                                      ▲                                                         |
|                                      | Queries Datasets & Attributes                           |
|  2. SEMANTIC LAYER (Data Model Schema Definition)                                              |
|     +---------------------------------------------------------------------------------------+  |
|     | DATA MODEL: Web_Intelligence                                                          |  |
|     | +-- Root Event Dataset: Web_Requests (index=web sourcetype=access_*)                   |  |
|     |     |-- Attributes: client_ip, method, uri_path, status, bytes, response_time        |  |
|     |     +-- Child Dataset: Successful_Requests (status >= 200 AND status < 400)           |  |
|     |     +-- Child Dataset: Web_Errors (status >= 400)                                     |  |
|     |         |-- Child Dataset: Client_Errors_4xx (status >= 400 AND status < 500)         |  |
|     |         \-- Child Dataset: Server_Errors_5xx (status >= 500)                          |  |
|     +---------------------------------------------------------------------------------------+  |
|                                      ▲                                                         |
|                                      | Maps Schema-on-Read Over Raw Events                     |
|  3. PHYSICAL STORAGE LAYER (Splunk Indexers & Buckets)                                         |
|     +---------------------------------------------------------------------------------------+  |
|     | Raw Event Buckets (journal.zst / .tsidx): Apache, Nginx, IIS, Cloudflare Access Logs  |  |
|     +---------------------------------------------------------------------------------------+  |
+------------------------------------------------------------------------------------------------+

Relational Database Analogy

To understand data models, consider how relational database management systems (RDBMS) structure data compared to Splunk:

Relational Database (RDBMS) ConceptSplunk Data Model EquivalentArchitectural Function
Database Schema / CatalogData ModelThe top-level container defining the complete data domain (e.g., Web, Authentication, Network_Traffic).
Database Table / ViewDataset (Object)A specific subset of data defined by search constraints and filters (e.g., Web_Errors, VPN_Logins).
Table Column / FieldAttribute (Field)A named characteristic extracted, calculated, or looked up for events in that dataset (e.g., user, status, bytes).
Table Row / RecordSplunk EventAn individual timestamped event matching the dataset's constraints.
Clustered / Materialized ViewAccelerated Data Model (TSIDX)Pre-computed summary index files built on indexers for high-speed statistical queries.

Preserving Schema-on-Read

Crucially, creating a data model does not alter, move, or transform the raw underlying event logs stored in index buckets. Splunk maintains its fundamental schema-on-read philosophy: raw logs remain immutable on disk, while the data model dynamically applies structure, business names, and hierarchical relationships when queries are executed.


2. Core Architectural Components of a Data Model

A complete Data Model consists of three core components: the container, datasets, and attributes.

+------------------------------------------------------------------------------------------------+
|                                 DATA MODEL HIERARCHY STRUCTURE                                 |
|                                                                                                |
|  DATA MODEL: Network_Security (Container)                                                      |
|  │                                                                                             |
|  ├── DATASET 1: All_Traffic (Root Event Dataset: index=firewall sourcetype=cisco:asa)          |
|  │   │   ├── Attributes: _time, host, src_ip, dest_ip, dest_port, transport, action, bytes   |
|  │   │                                                                                         |
|  │   ├── DATASET 1.1: Blocked_Traffic (Child Dataset: action="blocked" OR action="drop")      |
|  │   │   └── Inherited Attributes: All parent attributes + Child Attribute: block_reason       |
|  │   │                                                                                         |
|  │   └── DATASET 1.2: Allowed_Traffic (Child Dataset: action="allowed" OR action="permit")    |
|  │       └── Inherited Attributes: All parent attributes + Child Attribute: session_duration   |
|  │                                                                                             |
|  └── DATASET 2: Monthly_Bandwidth_Summary (Root Search Dataset: | stats sum(bytes) ...)       |
+------------------------------------------------------------------------------------------------+

1. The Data Model Container

The data model container is the top-level knowledge object. It has a title, description, internal ID, destination app container (e.g., search or Splunk_SA_CIM), and access permissions. In the Splunk filesystem, data models are defined as JSON files stored in:

  • $SPLUNK_HOME/etc/apps/<app_name>/default/data/models/<datamodel_name>.json (System/App defaults)
  • $SPLUNK_HOME/etc/apps/<app_name>/local/data/models/<datamodel_name>.json (Customized/Local configurations)

2. Datasets (Formerly "Objects")

Datasets are the discrete logical components within a data model. Each dataset defines a specific category of data. A single data model can contain multiple independent root datasets, and each root dataset can have multiple child datasets organized in a parent-child hierarchy.

3. Attributes (Fields)

Attributes are the fields associated with a dataset. Attributes can represent standard extracted fields (like host, source, sourcetype), calculated fields derived from eval expressions, fields enriched from lookup tables, or fields extracted using custom regular expressions. When a dataset is queried, only its defined attributes are exposed to the user or reporting interface.


3. The Triad Relationship: Data Models, Datasets, and Pivot

Understanding how Data Models, Datasets, and the Pivot tool interact is critical for both the Splunk Power User certification and real-world administration:

+------------------------------------------------------------------------------------------------+
|                       THE DATA MODEL -> DATASET -> PIVOT INTERACTION PIPELINE                  |
|                                                                                                |
|  +-------------------------+      +-------------------------+      +-------------------------+ |
|  |       DATA MODEL        |      |         DATASET         |      |        PIVOT TOOL       |
|  |-------------------------|      |-------------------------|      |-------------------------| |
|  | Comprehensive schema    | ---> | Specific structured     | ---> | Interactive visual UI   | |
|  | representing an entire  |      | table/view with defined |      | where non-SPL users     | |
|  | business domain         |      | constraints & attributes|      | drag & drop fields into |
|  | (e.g., E-Commerce_Sales)|      | (e.g., Completed_Orders)|      | charts and reports      | |
|  +-------------------------+      +-------------------------+      +-------------------------+ |
+------------------------------------------------------------------------------------------------+

Comparison: Traditional SPL Search vs. Data Model + Pivot Workflow

Workflow DimensionTraditional SPL Search WorkflowData Model + Pivot Workflow
Target UserSplunk Administrators, SOC Analysts, Power Users with SPL expertise.Business Analysts, Department Managers, Executives, Non-technical users.
Query InterfaceSplunk Search bar requiring manual syntax authoring (search, stats, chart, eval).Interactive visual interface with dropdowns, split-by selectors, and drag-and-drop elements.
Knowledge RequirementRequires knowledge of index names, sourcetypes, raw field names, boolean logic, and transforming commands.Requires only knowledge of business concepts (e.g., "Orders", "Revenue", "Web Errors", "Country").
Underlying ExecutionDispatches standard SPL search jobs across indexers parsing raw events.Dispatches optimized pivot or tstats queries generated automatically by the UI.
Speed & AccelerationUnaccelerated searches decompress raw journal files; report acceleration requires explicit saved searches.Can be accelerated globally across indexers using Data Model Acceleration (.tsidx summaries).
MaintenanceQueries scattered across individual user dashboards; field changes break multiple dashboards.Centralized schema; modifying a field in the Data Model updates all dependent Pivot reports.

4. Navigating and Using the Pivot Tool Interface

The Pivot Tool is Splunk's point-and-click report generator. It allows users to design data visualizations without writing search queries.

+------------------------------------------------------------------------------------------------+
|                                    SPLUNK PIVOT UI BUILDER                                     |
|                                                                                                |
|  Dataset: Web_Activity > Web_Errors                                  Time: Previous 7 days     |
|  +------------------------------------------------------------------------------------------+  |
|  | FILTERS          | [+ Add Filter]  status >= 400 | method = POST                         |  |
|  |------------------+-----------------------------------------------------------------------|  |
|  | SPLIT ROWS       | [+ Add Row Split]    client_ip (Top 10) | uri_path                    |  |
|  |------------------+-----------------------------------------------------------------------|  |
|  | SPLIT COLUMNS    | [+ Add Column Split] status                                           |  |
|  |------------------+-----------------------------------------------------------------------|  |
|  | COLUMN VALUES    | [+ Add Value]        Count of Web_Errors | Avg of response_time (ms)  |  |
|  +------------------------------------------------------------------------------------------+  |
|                                                                                                |
|  Generated Pivot Output Table:                                                                 |
|  +--------------------+-----------------------+------------+------------+-------------------+  |
|  | client_ip          | uri_path              | status:404 | status:500 | Avg response (ms) |  |
|  |--------------------+-----------------------+------------+------------+-------------------+  |
|  | 198.51.100.42      | /api/v1/checkout      | 142        | 87         | 452.1             |  |
|  | 203.0.113.19       | /login.php            | 310        | 12         | 112.4             |  |
|  | 192.0.2.88         | /cart/update          | 45         | 63         | 890.6             |  |
|  +--------------------+-----------------------+------------+------------+-------------------+  |
+------------------------------------------------------------------------------------------------+

The Pivot Editor Layout Elements

When a user selects a dataset and clicks Pivot, the Pivot Editor presents four primary configuration panels:

  1. Filters Panel:

    • Allows users to restrict the dataset using ad-hoc criteria.
    • Supports string matches (starts with, contains, is), numeric comparisons (>, <, =, between), and boolean flags.
    • Includes a Time Range Picker to define the temporal scope of the analysis.
  2. Split Rows Panel:

    • Defines the vertical categorization of the data table.
    • Each added row split acts like a field in an SPL BY clause (e.g., stats count BY client_ip, uri_path).
    • Supports sorting (ascending/descending) and limiting results (e.g., Top 10, Bottom 5).
  3. Split Columns Panel:

    • Defines the horizontal categorization across the table headers.
    • Operates similarly to the second argument in an SPL chart ... BY row_field, col_field command.
    • Splitting by status creates distinct columns for each HTTP status code (200, 404, 500).
  4. Column Values (Metrics / Aggregations) Panel:

    • Defines the mathematical calculation performed on the events in each cell.
    • Supports multiple aggregation functions:
      • Count: Total number of matching events.
      • Distinct Count: Number of unique values for a field (e.g., distinct count of user).
      • Sum / Average: Total or mean of numeric fields (e.g., sum(bytes), avg(response_time)).
      • Max / Min: Highest or lowest observed value.
      • First / Last: Chronologically earliest or latest observed value.
      • Standard Deviation: Statistical variance measure.

Supported Visualization Formats in Pivot

The Pivot interface can render results into numerous visualization formats directly from the toolbar:

  • Statistics Table: Multi-dimensional tabular grid with sorting and totals.
  • Column / Bar Charts: Clustered or stacked visual comparisons.
  • Line / Area Charts: Time-series trends and volume distributions.
  • Pie Charts: Proportional share of categories.
  • Scatter Charts: Correlation plots between two numeric attributes.
  • Single Value Displays: Big-number KPI widgets with sparklines.
  • Radial / Filler / Marker Gauges: Metric values against defined warning and critical thresholds.

5. Enterprise Benefits of Data Models and Pivot

Deploying Data Models and Pivot across an enterprise delivers substantial operational and organizational benefits:

1. Democratization of Data (Self-Service Analytics)

Business analysts in finance, marketing, logistics, and executive leadership can explore machine data independently. They do not need to submit ticketing requests to the Splunk administration team for every ad-hoc report or chart variation.

2. Standardized Governance & Single Source of Truth

When different teams write raw SPL independently, they often define business metrics differently (for example, one team might calculate "Successful Checkout" as status=200, while another includes status=201 and status=204). By encapsulating corporate business logic inside a shared Data Model, every Pivot user and dashboard reports consistent, verified figures.

3. Seamless Integration with Reports and Dashboards

Visualizations constructed in Pivot can be saved directly as:

  • Saved Reports: Scheduled or on-demand reports that can run automatically and send email alerts.
  • Dashboard Panels: Visual panels embedded directly into new or existing Splunk dashboards.
  • Exported Datasets: Data exported as CSV, PDF, or raw XML for external presentations.

6. Configuring and Managing Data Models in Splunk Web

Power Users and administrators manage data models through the graphical interface or configuration files.

+------------------------------------------------------------------------------------------------+
|                                MANAGING DATA MODELS IN SPLUNK WEB                              |
|                                                                                                |
|  Navigation: Settings > Data models                                                            |
|                                                                                                |
|  Data Models Management Table:                                                                 |
|  +----------------------+---------------+-------------+---------------+----------------------+ |
|  | Title                | App           | Owner       | Sharing       | Actions              |
|  |----------------------+---------------+-------------+---------------+----------------------+ |
|  | Web_Intelligence     | search        | admin       | Global        | Edit v | Pivot       |
|  | Network_Traffic      | Splunk_SA_CIM | admin       | Global        | Edit v | Pivot       |
|  | Authentication       | Splunk_SA_CIM | admin       | Global        | Edit v | Pivot       |
|  | Executive_Sales      | sales_app     | rchen       | App           | Edit v | Pivot       |
|  +----------------------+---------------+-------------+---------------+----------------------+ |
|                                                                                                |
|  Actions Dropdown Options:                                                                     |
|  [ Edit Title / Description ]   [ Edit Permissions ]   [ Edit Acceleration ]                  |
|  [ Clone ]                      [ Export ]             [ Delete ]                             |
+------------------------------------------------------------------------------------------------+

Step-by-Step Management Tasks under Settings > Data models:

  1. Creating a New Data Model:

    • Navigate to Settings > Data models.
    • Click the green New Data Model button.
    • Enter a human-readable Title (e.g., Corporate Web Traffic).
    • Splunk automatically generates the internal ID (e.g., Corporate_Web_Traffic), which cannot be changed after creation.
    • Select the App context (e.g., search) and click Save.
    • The browser opens the Data Model Editor to begin adding datasets.
  2. Managing Permissions & Sharing:

    • Click Edit > Edit Permissions on the target data model.
    • Configure sharing scope:
      • Private: Accessible only to the creator.
      • This App Only (App): Accessible to all users with access to the parent application.
      • All Apps (Global): Accessible across every application on the search head.
    • Configure role-based permissions: Grant Read or Write access to specific user roles (e.g., user, power, admin).
  3. Cloning, Exporting, and Deleting:

    • Clone: Creates an exact duplicate of the data model under a new name—ideal for testing schema modifications without impacting production dashboards.
    • Export: Downloads the data model definition as an XML/JSON file for backup or deployment into version-controlled CI/CD pipelines.
    • Delete: Permanently removes the data model. (Requires delete_data_models or admin capability).
Loading diagram...
Data Model Architectural Layers & Pivot Reporting Flow
Test Your Knowledge

What is the primary architectural purpose of a Splunk Data Model?

A
B
C
D
Test Your Knowledge

In the Splunk Pivot interface, which configuration panel determines how metric calculations (such as Count, Average, or Sum) are distributed horizontally across the columns of a statistics table?

A
B
C
D
Test Your Knowledge

A Splunk Power User creates a new Data Model for the Finance department and needs to make it accessible to all users across every application on the search head. Where in Splunk Web must the permissions be updated, and what sharing level must be selected?

A
B
C
D