---
title: File Types
description: The following file types are important for settings, logs, configuration, escpecially for disaster recovery.
---

[Skip to content](https://docs.timebase.flow-software.com/knowledge-base/file-types#main-content)

[More support](https://docs.timebase.flow-software.com/knowledge-base/kb-tickets/new?hsLang=en)

[![FlowEmailHeader](https://docs.timebase.flow-software.com/hs-fs/hubfs/FlowEmailHeader.png?width=120&height=33&name=FlowEmailHeader.png)](https://flow-software.com/)

Open main navigation

Close main navigation

- [More support](https://docs.timebase.flow-software.com/knowledge-base/kb-tickets/new)
- [Open a Support Ticket](https://docs.timebase.flow-software.com/knowledge-base/kb-tickets/new)

[Open a Support Ticket](https://docs.timebase.flow-software.com/knowledge-base/kb-tickets/new?hsLang=en)

 Search all Timebase documentation

- There are no suggestions because the search field is empty.

1. [Timebase Knowledge Base](https://docs.timebase.flow-software.com/knowledge-base?hsLang=en)
2. [Timebase Historian](https://docs.timebase.flow-software.com/knowledge-base/timebase-historian?hsLang=en)

# File Types

## The following file types are important for settings, logs, configuration, escpecially for disaster recovery.

#### Overview

Timebase creates a defined set of file types as it stores data, maintains state, and protects against corruption. Knowing what each file does helps you back up the right files, understand what you see on disk, and recover correctly after a failure.

Files are written into two root locations by default:

- **Data and state:** `C:\ProgramData\Flow Software\Timebase\Historian\Data\<DatasetName>\`
- **Logs and settings:** `C:\ProgramData\Flow Software\Timebase\Historian\`

These paths can be changed in `settings.config`.

#### File type reference

### Data files

These are the files that contain your historical time-series data. They are the primary files to include in any backup.

| File / pattern | What it contains | Backup? |
| --- | --- | --- |
| `YYYY-MM-DD HH.N.data` | One hour of numeric and boolean tag values. Created every hour. The `N` is a partition index (0, 1, 2 …) — each partition holds up to 20,000 tags. A dataset with 60,000 tags produces three `.data` files per hour. | Yes |
| `YYYY-MM-DD HH.0000.object` | One hour of object values — strings, JSON blobs, arrays. Created every hour alongside the `.data` files when string or object tags are present. | Yes |
| `YYYY-MM-DD HH.N.last` | Last known value for every tag in the corresponding `.data` block. Updated every time new data is written. Used to answer "latest value" queries instantly without scanning the full block. If this file is missing or corrupt, the Historian rebuilds it automatically from the `.data` file — no data is lost, but startup is slower. | Recommended |
| `YYYY-MM-DD HH.N.late` | Late (out-of-order) data waiting to be merged into the corresponding `.data` block. Created when the Collector sends data with a timestamp earlier than the block's most recent point — this happens during store-and-forward replay. The file is deleted automatically once the merge is complete. If you see persistent `.late` files, a merge is in progress or was interrupted. | No (transient) |
| `YYYY-MM-DD HH.0000.object.bak` | Backup copy of the previous verified write of the `.object` file. Created automatically by `File.Replace` — always one confirmed-good save behind. If the primary `.object` file is corrupt (fails to deserialise), the Historian falls back to this file, restores the primary from it, and logs a warning. Safe to delete if disk space is a concern, but keeping it improves resilience against unexpected crashes during a write. | Optional — kept for resilience |

### State and configuration files

These files hold tag metadata and dataset/tag state. They are required alongside the data files for a complete and usable backup.

| File | What it contains | Backup? |
| --- | --- | --- |
| `tag.config` | **Critical.** Maps each tag's internal ID to its name, description, unit of measure, data type, and fields (metadata). Without this file, the Historian cannot associate tag names with the binary data in `.data` and `.object` files — data becomes unreadable. Must always be backed up with your data files. | Yes — required |
| `dataset.config` | Dataset-level configuration — purge age, purge size, and other dataset properties. Separate from `tag.config`. Required to restore the dataset with the same settings. | Yes |
| `tag.state` | Current write state for each tag — used during dataset initialisation to resume correctly after shutdown. | Recommended |
| `dataset.state` | Current state of the dataset as a whole (Running, Stopping, Stopped, etc.). Read at startup to determine whether any hourly block recovery is needed after an uncontrolled shutdown. | Recommended |
| `settings.config` | Historian process configuration — Kestrel network endpoints, logging levels, custom data/log paths, and authentication settings. Stored at `C:\ProgramData\Flow Software\Timebase\Historian\Settings\`. Back this up so you can restore the Historian to the same network and auth configuration. | Yes |

### Log files

| Extension | What it contains | Backup? |
| --- | --- | --- |
| `.txt` | Plain-text log files. Not needed to restore data, but essential for diagnosing failures. Default location: `C:\ProgramData\Flow Software\Timebase\Historian\Logs\` | No (for recovery) — Yes (for diagnostics) |

### Transient files — safe to ignore

These files are created and deleted automatically during normal operation. You should not see them when the Historian is idle. If they persist after a clean shutdown, they are safe to delete.

| File pattern | Purpose |
| --- | --- |
| `*.data.temp` | Intermediate write buffer for `.data` files. Written first, then atomically promoted to the final file. Prevents partial writes from corrupting the primary file. |
| `*.object.temp` | Same as `.data.temp`, for `.object` files. |
| `*.last.temp` | Intermediate write for `.last` (last-value cache) files. |
| `*.late.temp` | Intermediate write for `.late` (late data buffer) files. |
| `dataset.state.temp` | Intermediate write for `dataset.state`. |
| `dataset.config.temp` | Intermediate write for `dataset.config`. |
| `tag.config.temp` | Intermediate write for `tag.config`. |
| `tag.state.temp` | Intermediate write for `tag.state`. |
| `tag.last.temp` | Intermediate write for `tag.last`. |

#### Troubleshooting

| Symptom | Likely cause | What to do |
| --- | --- | --- |
| Data files are present but the Historian shows no tags or data after a restore | The `tag.config` file was not included in the backup | `tag.config` maps tag names to the binary data in `.data` and `.object` files. Without it, data cannot be decoded. Always back it up alongside the data files. If it is lost, the data in those files cannot be recovered |
| The Historian logs "Failed to deserialize" for an `.object` file on startup | The `.object` file was partially written (e.g. due to a crash mid-write) | The Historian automatically falls back to the `.object.bak` file if one exists, restores the primary from it, and continues. If both the primary and `.bak` are corrupt, restore from your external backup |
| Persistent `.late` files remain after the Historian has been running for a while | A `.late` file merge was interrupted (e.g. the Historian was stopped during a backfill), or the Historian is still actively merging a large backfill | The Historian merges `.late` files automatically during each write cycle. Allow it to run. If files persist after 30+ minutes with no new data arriving, check the Historian logs for merge errors |
| `.temp` files remain on disk after the Historian is stopped | The Historian was shut down unexpectedly (crash, power loss) while writing | These are safe to delete when the Historian is not running. The Historian re-creates them as needed on the next write |
| The Historian startup is slow after restoring from backup | `.last` files were not included in the backup; the Historian is rebuilding them by scanning each `.data` file | This is automatic — no action needed. Include `.last` files in future backups to avoid the rebuild delay |
| Disk space is larger than expected from the number of tags logged | Old hourly `.data` and `.object` files are accumulating, or `.bak` files are doubling the storage for `.object` files | Check the dataset purge settings (purge age/size) via the Historian browser or REST API. Old hourly files can be archived or deleted without affecting ongoing logging. `.bak` files are roughly the same size as their primary `.object` file |

- [Software Releases](https://docs.timebase.flow-software.com/knowledge-base/software-releases?hsLang=en)
- [Timebase Quick Start](https://docs.timebase.flow-software.com/knowledge-base/timebase-quick-start?hsLang=en#main-content)

    - [Start Here!](https://docs.timebase.flow-software.com/knowledge-base/timebase-quick-start?hsLang=en#start-here)
    - [System Requirements](https://docs.timebase.flow-software.com/knowledge-base/timebase-quick-start?hsLang=en#system-requirements)
    - [Advanced Topics](https://docs.timebase.flow-software.com/knowledge-base/timebase-quick-start?hsLang=en#advanced-topics)
- [Timebase Historian](https://docs.timebase.flow-software.com/knowledge-base/timebase-historian?hsLang=en)
- [Timebase Data Collectors](https://docs.timebase.flow-software.com/knowledge-base/timebase-data-collectors?hsLang=en)
- [Timebase Explorer](https://docs.timebase.flow-software.com/knowledge-base/timebase-explorer?hsLang=en)
- [Timebase Pulse](https://docs.timebase.flow-software.com/knowledge-base/timebase-pulse?hsLang=en)
- [Windows Services Starter](https://docs.timebase.flow-software.com/knowledge-base/windows-services-starter?hsLang=en)

Copyright © 2025, Flow Software