Hello world is a very simple example with a limited set of data, so it does not require partitioning. However, partitioning is critical to the performance and scalability of VoltDB applications. So it is a good idea to learn to use partitioning early on.
When VoltDB partitions a database table, it partitions both the content and the processing that accesses it. The partition in which a row ends up depends on the value of one of the row's columns, called the partitioning column.
To optimize the performance of your application, you should choose a partitioning column that uniquely identifies the rows that are being accessed during each transaction. For the hello world application, records are accessed according to the language. So we want to define DIALECT as the partitioning column.
You define how a table is partitioned using the PARTITION TABLE statement in the database schema. Add the following
statement to your
helloworld.sql file after the definition of the helloworld table:
PARTITION TABLE HELLOWORLD ON COLUMN DIALECT;