The more people I talk to about DynamoDB, whether it be online, or general conversation, I find in most cases do no adopt DynamoDB Terminology.
Initially, I didn’t think to much of it – synonyms after all right?
Giving it more thought, I feel it is a little more than that. I feel lack of adoption of terminology, may also indicate traditional relational thinking.
I could be wrong, but regardless, I thought it was worth a post to compare DynamoDB terminology to SQL.
|Primary Key||Partition Key|
|Composite Primary Key||Partition and Sort Key|
Local Secondary Index or Global Secondary Index
The big one that bugs me is the Column vs Attribute.
DynamoDB is schema-less. In SQL, you typically define columns at table creation time, where as in DynamoDB, attributes are not owned at the table level, but at the item level.
This is a big difference. This flexibility should be leveraged as it is very powerful.