c-treeACE has supported advanced partitioned files for many years. A partitioned file logically appears to be one data file (and its associated index files). It is actually a set of files whose contents are physically partitioned by the value of a partition key that can be based on a rule or expression. By dynamically splitting data over multiple physical entities, it is much easier to quickly purge or archive volumes of data.
With growing data volumes, this feature is becoming one of the most interesting scaling choices for database performance. One of the past limitations was a partition “rule” for keys was hard coded into our server based on particular needs, typically by date range.
c-treeACE has also long supported conditional expressions for advanced conditional indexing. By bringing our powerful built-in expression parser to partition rules, we’ve extended conditional expressions to the creation of partitioned files. Now it’s easy to create partitioned files at will by defining your partition rule as a conditional expression when creating the file.
An extended set of predefined functions allows extremely flexible rules. For example, partition by day of week, day of month, monthly, quarterly, or yearly. Partitioned Files are now a complete and easy ready-to-use feature for any deployment.
Example
To create a table partitioned by day of month (1-31):
CREATE TABLE log_data (timepoint TIMESTAMP, value VARCHAR(256));
CREATE INDEX date_partition (timepoint) STORAGE_ATTRIBUTES 'partition=DAYOFMONTH(timestamp)';