# Data Tables



Overview [#overview]

Data Tables are a mechanism for you to store and organize large volumes of data for reference from plugins. These can be referenced from any plugin and can be versioned based on effective dates using the [Versioned Resource Selection](/configuration/resources/versioned-resource-selection) feature.

Configuration [#configuration]

The structure of each table is established in configuration by declaring the name of the table along with the number and type of each column. A typical declaration looks like this:

```json
{
	// At the top level of the configuration
	"tables": {
		"PersonalAutoRates": {
			"selectionTimeBasis": "termStartTime",
			"columns": {
				"state": {
					"dataType": "string",
					"isKey": true
				},
				"baseRate": {
					"dataType": "decimal",
					"isKey": false
				},
				"taxRate": {
					"dataType": "decimal",
					"isKey": false
				},
				"rateCode": {
					"dataType": "string ",
					"isKey": false
				}
			}
		}
	}
}
```

This declaration declares a table with the static name `PersonalAutoRates`, with three columns: a key column called `state` and three value columns called `baseRate`, `taxRate`, and `rateCode`.

Limitations [#limitations]

Tables support up to one million rows each.
