> For the complete documentation index, see [llms.txt](https://help.tellius.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.tellius.com/tellius-6.4/settings/storage-and-cache.md).

# Storage & Cache

Set how Tellius stores and caches data for the whole workspace: size limits, where data is copied, cache clearance and TTL, NULL values, cardinality and job thresholds.

Under **Settings → Modules → Data → Storage & Cache**, administrators set how Tellius stores, caches and loads data for the whole workspace. The settings here apply to everyone, not per user. Most of them trade speed against memory, disk or freshness, so the right values depend on how much data you load and how often it changes.

<figure><img src="https://1702728550-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC5PhRxmOjkQZJEO6F9Zw%2Fuploads%2FcbPJXO5GFx06dZI95b0E%2Fstorage-cache-top-64.png?alt=media&amp;token=0693e7b1-d657-40c7-b5e7-cad98563fe9c" alt="The top of the Storage and Cache page: Column description, Dataset size limitations and Copy to sections, with Cancel and Save at the top right" width="563"><figcaption></figcaption></figure>

The page is one form with ten sections. Each setting has an information icon that explains it. Number fields have up/down arrows, or you can type a value. The **Note** under a number field gives its upper limit, for example **Auto-adjusted to 999999**: a larger value is brought down to that limit instead of being rejected.

{% hint style="info" %}
**Coming from an earlier release?** In releases before Tellius 6.4, most of these settings were under **Settings → Application Settings → Data**, and you saved each part with **Update**. In Tellius 6.4, they are on this page, and one **Save** applies all of them.
{% endhint %}

### Column description

**Show column description:** When it is on, hovering over a column anywhere in Tellius shows that column's description. It works only for columns that have a description, which you add in the Metadata view under Data prep. Turn it on when your columns have names that people outside the data team won't recognize.

### Dataset size limitations

Both limits are in gigabytes (GB).

* **Single Dataset size Limit (GB):** the largest dataset a user can load. For example, with a limit of 1 GB, a user can't upload a 2 GB dataset.
* **Total Dataset Library Size Limit (GB):** the most data each user's dataset library can hold in total. For example, with a limit of 10 GB, a user can't upload more than 10 GB of datasets altogether.

The single-dataset limit can't be larger than the library limit. If it is, Tellius doesn't save the page and shows an error.

### Copy to

Three switches set where Tellius keeps a copy of your data by default.

* **Cache:** keeps datasets in the in-memory cache. Data in the cache makes transformations and Insights faster, but it uses extra memory and disk, and it must be refreshed to stay current. With the cache off, Tellius reads the data from the source again each time, which is slower.
* **Fast Query Engine:** stores Business Views in the Fast Query Engine by default.
* **Disk:** keeps a copy of each dataset in Tellius distributed disk storage. When the cache has to be rebuilt, Tellius rebuilds it from this copy instead of going back to the source.

{% hint style="success" %}
**Which copies to keep?** Keep **Cache** on in most workspaces: it is what makes everyday analysis fast. Turn on **Disk** as well when reading from the source is slow or costly, so a cache rebuild doesn't hit the source again. Turn **Cache** off only when memory is tight or the data must always be read fresh from the source, and expect slower answers.
{% endhint %}

### Scheduled Cache Clearance

**Enable:** clears cached data on a schedule, so the cache lines up with when your data is refreshed and people see current numbers instead of older cached results. Turning it on shows four fields. Turning it off hides them again.

* **Start date:** the date of the first clearance. Select the calendar icon to pick a date.
* **Start time:** the time of day the clearance runs, in 24-hour format, for example **00:00**. Select the clock icon to pick a time. Enter your local time. Tellius stores it in UTC.
* **Frequency:** how many units pass between clearances, from 1 to 999999.
* **Frequency Unit:** the unit that **Frequency** counts in: **Yearly**, **Quarterly**, **Monthly**, **Weekly**, **Daily** (the starting value) or **Hourly**.

Frequency and unit work together: a **Frequency** of 2 with **Weekly** clears the cache every two weeks.

<figure><img src="https://1702728550-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC5PhRxmOjkQZJEO6F9Zw%2Fuploads%2F88BlJ3TZPEyRo0sfjdeS%2Fstorage-cache-scheduled-clearance.png?alt=media&amp;token=e74538f2-73fd-4d8e-bbcf-79787dd97db6" alt="Scheduled Cache Clearance turned on, with Start date, Start time, Frequency, and the Frequency Unit list open showing Yearly, Quarterly, Monthly, Weekly, Daily and Hourly" width="563"><figcaption></figcaption></figure>

{% hint style="success" %}
**Scheduled clearance or Cache TTL?** **Cache TTL** expires each cached result a set time after it was cached, whenever that was. **Scheduled Cache Clearance** clears the cache at fixed times. Use a schedule when your data loads at a known time, for example a nightly load that finishes at 02:00: clear the cache shortly after, at 02:30, so the first questions of the day read the new data.
{% endhint %}

### Cache TTL

How long cached results are kept before they expire, in minutes.

* **For in-memory datasets:** the cache lifetime for datasets loaded into Tellius.
* **For live datasets:** the cache lifetime for the results of queries on live datasets, which Tellius reads from the source system.

A longer TTL makes repeat questions faster but can serve older data. A shorter TTL keeps results fresher but refreshes the cache more often. For how TTL works with the size of the cache, with examples, see [Time-to-Live (TTL) and Caching](/tellius-6.4/data/time-to-live-ttl-and-caching.md).

<figure><img src="https://1702728550-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC5PhRxmOjkQZJEO6F9Zw%2Fuploads%2Fz3kvmgKIk1S50DAH3ycb%2Fstorage-cache-ttl-null-cardinality.png?alt=media&amp;token=e1851f04-e822-4280-b992-e64a84a2bdc9" alt="The Cache TTL, Include NULL and Cardinality sections of the Storage and Cache page, with Include NULL highlighted" width="563"><figcaption></figcaption></figure>

### Include NULL

**Query results will include null values:** By default, Search and Vizpads leave out NULL values. Turn this on to include them across the workspace.

In Tellius 6.4, this setting is also the starting value of the **Include Nulls** option in a new viz's advanced settings. When the setting is on, a new viz starts with **Include Nulls** on. When it is off, a new viz starts with it off. Vizzes that already exist keep the choice they were saved with, and you can still change **Include Nulls** on any single viz.

{% hint style="info" %}
**Turn it on when blanks carry meaning,** for example orders with no assigned territory. Leaving out NULL values hides those rows from counts and totals. With **Include Nulls** off on a viz, pivot and table totals don't count the hidden NULL rows either.
{% endhint %}

### Cardinality

Cardinality is the number of distinct values in a column. These three limits decide how Tellius treats a column when the data is loaded.

* **High Cardinality limit:** columns with more distinct values than this are treated as high-cardinality. They can't be used in Insights, and machine learning leaves them out by default.
* **Medium Cardinality limit:** columns above this limit are treated as medium-cardinality. Insights and machine learning leave them out by default, but a user can add them explicitly, by editing the Insight or by choosing them in the model.
* **Measure to Dimension limit:** a numeric column with no more distinct values than this is categorized as a dimension rather than a measure when the data is loaded. For example, with a limit of 5, a rating column that holds only 1 to 5 becomes a dimension.

{% hint style="success" %}
**When to change the limits.** Raise **High Cardinality limit** when Insights skip a column you need, such as a product column with a few hundred values. Lower it to keep Insights quick on very wide data. Raise **Measure to Dimension limit** when numeric codes, such as store numbers, are loaded as measures and summed by mistake.
{% endhint %}

### BV Expansion Validation

* **BV Expansion Validation Enabled:** checks joins while an in-memory Business View is created. It catches joins that would multiply the number of rows, for example ten times or more, which can use up the workspace's resources and make Business View creation unstable or fail. Turning it on shows **Data Expansion Multiplier**.
* **Data Expansion Multiplier:** the most a join may grow the data. With a value of 3, the joined data can be up to three times the size of the original dataset. A join that grows it more fails validation. Enter a whole number. Decimals aren't accepted.

<figure><img src="https://1702728550-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC5PhRxmOjkQZJEO6F9Zw%2Fuploads%2FnD46dXOYRy07x1PDdYF5%2Fstorage-cache-bv-cache-disk.png?alt=media&amp;token=cebc81ce-d73c-48c3-b803-44a74838b4f9" alt="The BV Expansion Validation, Cache and Disk storage threshold sections of the Storage and Cache page" width="563"><figcaption></figcaption></figure>

{% hint style="warning" %}
**A Business View fails validation?** A join that grows the data beyond the multiplier usually joins on a key that isn't unique, so rows repeat. Check the join keys before you raise the multiplier.
{% endhint %}

### Cache

* **Insights:** caches the input data for Insights.
* **AutoML:** caches the input data for machine learning.

Both use more memory and disk, and make the work run faster overall. Turn them on for the module your teams use most.

### Disk storage threshold

**Disk storage threshold for job execution:** the share of disk storage, as a percentage, that can be in use when a job starts. The default is 90%. Before it starts any job, Tellius checks the disk storage in use. If it is above this threshold, the job doesn't start, which keeps the system from running out of space.

### Save your changes

**Cancel** and **Save** at the top right become active once you change something on the page.

* **Save** applies every change on the page. A message confirms when the settings are updated.
* **Cancel** discards your changes and restores the saved values.

If you leave the page with unsaved changes, Tellius asks whether to **Keep editing** or **Discard changes**.

### Related pages

* [Time-to-Live (TTL) and Caching](/tellius-6.4/data/time-to-live-ttl-and-caching.md)
* [Vizpad](/tellius-6.4/settings/vizpad.md)
* [Data Caching FAQs](/tellius-6.4/getting-started/faqs/data-caching-faqs.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.tellius.com/tellius-6.4/settings/storage-and-cache.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
