Zabbix data retention architecture¶
Zabbix employs a dual-database architecture to manage monitoring data, distinguishing between raw history for detailed inspection and aggregated trends for long-term performance analysis^[600-developer-operation-maintenance-zabbix-zabbix-intro.md].
History Data¶
History tables in Zabbix are responsible for storing the raw, detailed data collected from various items^[600-developer-operation-maintenance-zabbix-zabbix-intro.md]. Zabbix maintains several variations of these tables—such as history, history_str, history_log, and history_uint_sync—to accommodate different data types (e.g., numeric, string, log)^[600-developer-operation-maintenance-zabbix-zabbix-intro.md]. The retention period for this granular data is typically defined in the history field within the items table^[600-developer-operation-maintenance-zabbix-zabbix-intro.md]. This data acts as the source for graphs and visualizations covering short time intervals, such as one hour or one day^[600-developer-operation-maintenance-zabbix-zabbix-intro.md].
Trends Data¶
Trends tables (e.g., trends, trends_uint) are designed to store statistical summaries of historical data rather than raw values^[600-developer-operation-maintenance-zabbix-zabbix-intro.md]. The system automatically processes history data to calculate these statistics, which typically include the minimum, maximum, and average values over a specific interval^[600-developer-operation-maintenance-zabbix-zabbix-intro.md]. This aggregation process occurs hourly, condensing the raw data into a format optimized for long-term storage and analysis^[600-developer-operation-maintenance-zabbix-zabbix-intro.md]. Consequently, trend data serves as the primary data source for graphs displaying monitoring information over longer periods^[600-developer-operation-maintenance-zabbix-zabbix-intro.md].
Database Configuration¶
The internal database houses numerous tables that support this retention architecture^[600-developer-operation-maintenance-zabbix-zabbix-intro.md]. The items table is particularly important, as it defines the configuration for each monitoring item, including the specific delay for data collection and the duration for which history should be preserved^[600-developer-operation-maintenance-zabbix-zabbix-intro.md]. Other tables, such as graphs and graphs_items, map these data points to user-defined visualizations^[600-developer-operation-maintenance-zabbix-zabbix-intro.md].
Related Concepts¶
- [[Zabbix]]
- [[Time-series data]]
- [[Data aggregation]]
Sources¶
^[600-developer-operation-maintenance-zabbix-zabbix-intro.md]