DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

Splunk


Splunk is a database system designed for extracting structure and analyzing machine-generated data. It takes in data from other databases, web servers, networks, sensors, etc. and then offers services to analyze the data, and produce dashboards, graphs, reports, alerts, and other visualizations. All this data is captured in a searchable repository and served via a web interface called Splunk Web. [04][05]

Developer
Country of Origin
US
Start Year
2002 [06]
Project Type
Commercial
Written in
C++
Supported Languages
C#, Java, JavaScript, PHP, Python, Ruby
Operating Systems
BSD, Linux, macOS, Solaris, Windows, z/OS
License
Proprietary

Splunk is a horizontal application and is useful for many different kinds of users with different knowledge bases in an organization, such as monitoring IT operations, security, and performing business analytics. It is also possible to extend the Splunk environment by installing or developing an app. An app runs on the Splunk platform and includes inputs, lookups, and reports to display information about the data to add specific functionality.

Database Entry

Splunk


Splunk is a database system designed for extracting structure and analyzing machine-generated data. It takes in data from other databases, web servers, networks, sensors, etc. and then offers services to analyze the data, and produce dashboards, graphs, reports, alerts, and other visualizations. All this data is captured in a searchable repository and served via a web interface called Splunk Web.

Splunk is a horizontal application and is useful for many different kinds of users with different knowledge bases in an organization, such as monitoring IT operations, security, and performing business analytics. It is also possible to extend the Splunk environment by installing or developing an app. An app runs on the Splunk platform and includes inputs, lookups, and reports to display information about the data to add specific functionality.[04][05]

History[06][07][08][09][10][11]


Splunk was founded by Erik Swan, Michael Baum, and Rob Das in 2002. Prior to founding Splunk, all three founders were dealing with large-scale search infrastructures and were unhappy about the tools available for analyzing log files at the time. Early customers of Splunk reported their experience of debugging their environments as ‘digging through caves’ and ‘crawling through the muck to find the problems’, which inspired the founders to name the company after the word for exploration of caves, spelunking.

Splunk raised a $5 million Series A in 2004 led by August Capital and went public in 2012. It acquired SignalFx, a cloud monitoring platform for infrastructure, microservices, and applications, in August 2019 for $1.1 billion.

Checkpoints[12][13]


Splunk stores data in indexes organized in a set of buckets by age. The hot buckets contain data that is currently being written to. This is eventually rolled to the warm, cold, and frozen buckets. The hot bucket cannot be backed up, but Splunk provides the ability to create a consistent snapshot of the other buckets. This is done either using incremental ongoing backups (using the user's preferred snapshot utility) or a single backup of all data. Taking periodic snapshots from a healthy environment allows you to recover from the last valid checkpoint in the event of a catastrophic event.

Compression[14][15][16]


A Splunk index stores the raw data in compressed form along with index files that contain metadata that is used to search the event data. For indexes, it supports gzip (default), lz4, and zstd for compression and can handle different buckets compressed with different algorithms. Splunk calculates disk storage using the formula (daily average indexing rate) * (retention policy) * 0.5 because it compresses raw data to up to approximately "to approximately half its original size."

Concurrency Control[17]


Splunk supports concurrent search but limits the number in order to preserve performance. It also allows you to configure the maximum number of concurrent searches between scheduled and summarization queries based on your usage.

Splunk also supports concurrent users. A user uses exactly one CPU core on each indexer for the duration of the search. By default, a search on Splunk cannot use multiple cores.

Data Model[18][19]


Splunk is a NoSQL database management system. Its data model is a hierarchical search-time mapping of data. The knowledge managers on a Splunk instance design the data model.

Foreign Keys[20]


Splunk supports referential integrity.

Hardware Acceleration[21][22]


FPGA and GPU can be used to accelerate Splunk's performance.

Indexes[23][24]


Splunk adds all incoming data to indexes after processing it. It indexes data by breaking them into events, based on the timestamp. After breaking the data up into events, the events are passed through the indexing pipeline where additional steps are taken, such as breaking the events into segments so indexing and searching can be done efficiently, building data structures for the indexes, and writing the events out to disk.

Splunk supports events and metrics indexes. Events indexes are the default index type, impose minimal structure, and can accommodate any type of data. Metrics indexes are highly structured and designed to handle high volume and low latency demands. These indexes have better performance and less space utilization compared to events indexes.

Isolation Levels[25]


In Splunk, workload management allows resource isolation search and ingest processes. This lets users allocate resources to search pools without affecting ingest processes.

Joins[26]


Splunk supports inner (default), outer, and left joins using the join command. This works best when the results of the subsearch are less than 50,000 rows.

It can also join a search result set with itself using the selfjoin command.

Logging[27]


Scripts in Splunk can send logging data to splunkd.log for tracking and troubleshooting using the stderr command. It supports 5 log levels:

  • DEBUG
  • INFO
  • WARN
  • ERROR (default)
  • FATAL

Query Execution[28]


Splunk uses MapReduce to speed up searches.

Storage Architecture[29]


Splunk is disk-oriented.

Storage Model[30]


Splunk stores data in a flat file format. All data in Splunk is stored in an index and in Hot, Warm, and Cold buckets depending on the size and age of the data. It supports both clustered and non-clustered indexes.

Views[31]


Splunk's Web Framework includes a library of views (such as Chart, Table, SplunkMap, Timeline, etc.), UI widgets that allow you to display certain data in certain ways.

Citations

31 sources
  1. Splunk | Unified Security & Observability for Digital Resilience splunk.com
  2. Splunk® Enterprise - Splunk Documentation splunk.com
  3. Splunk - Wikipedia wikipedia.org
  4. https://www.crunchbase.com/organization/splunk crunchbase.com
  5. About Splunk Enterprise - Splunk Documentation splunk.com
  6. https://www.splunk.com/view/SP-CAAAGBY splunk.com Dead — Check Archive
  7. https://www.crunchbase.com/organization/splunk#section-funding-rounds crunchbase.com
  8. IT search company Splunk reaches profitability | VentureBeat venturebeat.com Dead — Check Archive
  9. Splunk Soars as Investors Embrace Data Boom - The New York Times nytimes.com
  10. https://www.crunchbase.com/organization/signalfuse crunchbase.com
  11. Splunk Inc.’s Splunk Data Center Search Party – Computerworld computerworld.com
  12. How the indexer stores indexes - Splunk Documentation splunk.com
  13. Back up indexed data - Splunk Documentation splunk.com
  14. How Splunk Enterprise calculates disk storage - Splunk Documentation splunk.com
  15. indexes.conf - Splunk Documentation splunk.com
  16. Splexicon:Indexfiles - Splunk Documentation splunk.com
  17. Set limits for concurrent scheduled searches | Splunk Cloud Platform (last updated 2026-05-14T14:02:03.551Z) splunk.com
  18. About data models - Splunk Documentation splunk.com
  19. Splunk System Properties db-engines.com
  20. Release Notes for Splunk Enterprise Security - Splunk Documentation splunk.com
  21. https://2018gputechconf.smarteventscloud.com/connect/sessionDetail.ww?SESSION_ID=152351 smarteventscloud.com Dead — Check Archive
  22. How Ryft Uses AWS’s Reprogrammable Chips for Big Data Analytics in Hyb datacenterknowledge.com
  23. Indexes, indexers, and indexer clusters - Splunk Documentation splunk.com
  24. Command line tools for use with Support - Splunk Documentation splunk.com
  25. How workload management works - Splunk Documentation splunk.com
  26. join - Splunk Documentation splunk.com
  27. Set up logging - Splunk Documentation splunk.com
  28. Technical introduction to Splunk | DBMS 2 : DataBase Management System Services dbms2.com
  29. Reference hardware - Splunk Documentation splunk.com
  30. Solved: Where exactly and how is the data stored in splunk... - Splunk Community splunk.com
  31. Splunk views | Documentation | Enterprise | Splunk Developer Program splunk.com
Revision #15