1.1.1

Table Of Contents
Figure 2: Partitioned Table Data
Although each bucket is assigned to one or more specic servers, you can use a procedure to relocate buckets
in a running system, in order to improve the utilization of resources across the cluster. See Rebalancing Partitioned
Data on SQLFire Members on page 69.
You can also pre-allocate buckets before loading data into the table, to ensure that imported data is evenly
distributed among table partitions. See Pre-Allocating Buckets on page 69.
Understanding Where Data Is Stored
SQLFire uses a table's partitioning column values and the partitioning strategy to calculate routing values
(typically integer values). It uses the routing values to determine the "bucket" in which to store the data.
Each bucket is then assigned to a server, or to multiple servers if the partitioned table is congured to have
redundancy. The buckets are not assigned when the table is started up, but occurs lazily when the data is actually
put into a bucket. This allows you to start a number of members before populating the table.
Note: If you intend to immediately load a new, partitioned table with data, use the
SYS.CREATE_ALL_BUCKETS procedure to create the buckets before loading data. This best practice
ensures that partitions are balanced even if you rapidly load data into the table using concurrent threads.
vFabric SQLFire User's Guide62
Managing Your Data in vFabric SQLFire