Thanks for watching! If you like this content we need your support to grow our channel. Please subscribe and share it with your friends. If you have any suggestions, please share with us too 🙂
I am preparing for my system design interview, and trying to understand how NoSQL databases work. This video is of great help! A couple of points: - You keep alternating between "partition key" and "primary key". I have suspicion that "PK" always means "partition key" in this context - There is probably a typo on the slide around the 25:00 mark, I think it should say ORG#org-id#EMP#emp-id in the bottom right corner. Typos in the educational videos are much worse than regular typos, as the viewer does not have enough context to figure out whether it's a typo, or they simply don't understand the material
Wow! I have been struggling with DynamoDB modeling for weeks and for the first time I was a to find your channel with such a simple and concise explanation about the topic. AMAZING! Keep up the great work and thanks a lot for sharing your knowledge with us.
Thank you! This is such a good video. I really appreciate the effort that you made to put this video for free on internet when everyone is just trying to sell courses. There were some concepts which I wanted to understand for so long and they just got covered here.
Thank you for uncluttered way of explaining the topics. As many users said, it’s underrated unfortunately. Kudos to all the efforts. I will subscribe to your udemy and help you in my own way to continue what you doing.
keep in mind, PK and SK can not be changed once it created and also while creating a table be aware of reserved keys, those will affects to querying the table data in the future
At 26:10, there seems to be typo in GSI Partition Key (PK) (& possibly in GSI Sort Key). It should be ORG##EMP# (and possibly GSI Sort Key (SK) should be ORG##PRO#). Or have I missed something?
Great video, Explains well, @ 28:10 - slide - Identify Secondary index - What will happen if in one oraganisation there are 2 employees with same name. ex. PK=ORG#123 and SK=EMP#John Smith (as there could be 2 John Smith in one Org.
Everywhere you're assuming IDs will be available for you to query the data. In reality, you mostly work with email. A user logs in with their email, you query Dynamo to get the user item and from then point on you have access to org id, project ID and so on.
Keep in mind that petition-key and sort-key cannot be modified. According to the example, you cannot easily change a project type in the sort-key. So put attributes into the sort-key requires careful plan.
You may want to annotate an error I found here: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-OfZgHXsYqNE.html about inverting indexes because I do not feel the `Project-Employee-Index` are accurate. PK should refer to "#ORG#org-id#EMP#emp-id" and SK should refer to "#ORG#org-id#PRO#project-id", what do you think?
Great tutorial. However, coming from Firebase, DynamoDB feels very antiquated. It's not very reasuring to have to rely on haking primary keys to keep your data organized.
While deciding PK and SK for Projects and Employees, why did we not use org-id in the SK as well? Isn't it possible that two organisations org-id map to the same partition? And if it is possible, how will we be able to bifurcate between two organisations in the same partition?
can we use single table data modeling for Graph QL ? If you can make some video using amplify, graphql using dynamo DB modeling so it would be really helpful.
28:40 finding employees projects and organizations by name, in ur design they all require org id. Is there a way to search just on the name and without org id.
Hello, kindly help me out, I am following this tutorial and I got stock after execution the first command. I got 'getaddrinfo ENOTFOUND dynamodb.us-east'. Thanks
Hi ArchiTECHt Vinit. I would like to hear more on your reasoning. There are different database offerings from AWS (Relational, Document & Graph) which suits different use cases.
@@EnlearAcademy with other databases you can create index on any field and search using that. With dynamo db only sorting key can be used. BTW, I am looking for a database to store chat messages of groups of a chatting app. There isn't any database optimised for this
Hi Jivan, if you are familiar with MongoDB clustering and internals it should be fine. But you will have to manage the cluster and operations including the updates, security & etc. Typically these costs are high long term so if you already have expertise internally I think it should be fine. Otherwise would recommend to go for a manage service.
@@jivanmainali1742 We use documentdb heavily. Almost all the features for mongodb are included and AWS keeps on adding new features. So far we didn't face any issue with docdb.
Tbh it is very confusing explanation and it shouldn't be. Also, you didn't explain what is what. You are saying ""we need to switch this ID to etc etc." and there are 2 IDs, which one do you mean? Please be more precise when you want to explain.