Scenario
- I use a single DynamoDB table with the single-table design pattern for 3 completely different types of data.
- I need my ingress to be clustered for 2 of these types of data on the same data field.
Restrictions
- Per Rockset’s documentation, clustering requires that the clustered field be specifically named in the SELECT clause.
- Per Rockset’s documentation, there should be only 1 collection doing the ingress transformation per DynamoDB table.
Questions
- What is downside of having 2 collections doing ingress transformation on the same DynamoDB table? I would use a WHERE clause on the sk to prevent the collections from pulling the same data.
- How does Rockset handle the fact that the fields are mostly different for different rows of the DynamoDB table? Does it flatten them into a single row with a lot of null values for fields that don’t exist for that sk?
a. Corollary is how would Rockset handle this if the fields were the same name but had different data types in them? - If I just want to pull all fields from DynamoDB, but I need the clustering field named, what is the recommended way to handle this?
- How does a List of Map types get imported into Rockset?