For our Asteroid Crusaders game, my team has opted to use DynamoDB for the database. While I have heard about many of the other AWS services, I had never heard of the key-value, noSQL database called DynamoDB. Here are some of my findings from learning about this new tool.
DynamoDB tables are eerily similar to JSON. That is because they are JSON objects, the only difference is that each JSON record in DynamoDB must include the record key. This allows you to easily find and update records, which not all databases allow. Some make you delete the item and then add the new updated version.
When you create a table, you also create a unique primary key made up of a required partition key and a optional sort key. This key is used for finding the items that you want to look up. However, it is not the only attribute allowed in the table. Since it is JSON, there is no structure, and no schema. The attributes can be whatever you want or need for your items.
Finally AWS provides software development kits, to make adding items, and managing the database easier. The SDK takes the requests and translates it into HTTP calls. This means that your code can be clean and with fewer lines to manage. We are planning a react app with python and luckily python is one of the languages that AWS supports with their SDKs.
I am very excited to have been introduced to this new technology through this class. While I enjoyed building tables from scratch in previous classes. I greatly see the appeal of this key-value, noSQL approach that Amazon has taken. I look forward to all the new things I will learn about AWS DynamoDB in the future!