Currently CUBRID supports three ways of data partitioning: range partitioning, hash partitioning and list partitioning. Partitioning is implemented using subtables. A subtable is created for each partition.
You can define a range partitioning by using the PARTITION BY RANGE clause. When defining a range partitioning you should specify the column which is the key of the range. And the ranges themselves. As an example we might want to store seprately olympic games which were held before 1970 and after.
You can define a hash partitioning by using the PARTITION BY HASH clause. When defining a hash partition you specify the column which will be the seed of the hashing algorithm and the number of partitions you want to have. Depending on the hash value of the key the record will be stored in the respective partition.
You can define a list partitioning by using the PARTITION BY LIST clause. List partitioning allows you to specify the key column and to define which values of the column correspond to which partition.