In Teradata the definition of a clustered table is very simple and exists in a single syntax (correct me if I'm wrong).
CREATE TABLE table_name (charcol1 varchar(10), idcol integer)
primary index (idcol);
I am reading that there are a whole number of "clustered" table types in DB2 with respect to creating a share-nothing physical data layout for the object.
Defined primary index in TD will spread the table data across all nodes/virtual cpus available to the TD server.
What is the closest method (and syntax) to achieve the same within DB2?
I would recommend to start with this overview of data partitioning (concepts) for Db2.
All three clauses can be used within the same CREATE TABLE statement. Its usage depends on the data and the envisioned queries.
The database partitioning (DISTRIBUTE BY) is the shared-nothing you asked for. Distribute the data across partitions based on the YEAR.