An important decision to make when porting your schema is setting up the appropriate shard keys, which determine how rows are partitioned (see Sharding for more details).
You can choose how to shard a table by adding a
b - all rows with the same values for both
b will be on the same partition:
CREATE TABLE t1(a INT, b INT, c INT, SHARD KEY(a, b));
If your table has a
PRIMARY key, SingleStoreDB will by default choose that key as the shard key.
CREATE TABLE t1(a INT, b INT, PRIMARY KEY(a));CREATE TABLE t1(a INT, b INT, SHARD KEY(a), PRIMARY KEY(a));
If your table does not have a primary key, then SingleStoreDB will by default shard rows uniformly across the partitions.
CREATE TABLE t1(a INT, b INT);CREATE TABLE t1(a INT, b INT, SHARD KEY());
If you aren’t sure yet what your workload will look like, these defaults will allow you to continue developing your application and do not impose any functional restrictions.
Last modified: June 22, 2022