Pre Requisites
In this part, we'll presume that you:
- Have worked with a relational database before ( like MySQL ).
- Have a basic understanding of NoSQL databases.
-
Know the fundamentals of the following:
1. Concurrency : Are you familiar with the terms threads, deadlock, and starvation? When numerous processes / threads attempt to edit the same data, what happens? A fundamental grasp of read and write locks is required.
2. Networking : Do you have a basic understanding of networking protocols such as TCP and UDP? Do you know what switches and routers are for?
3. File systems : You should have a good understanding of the systems you're working with. Do you have a basic understanding of how an operating system, file system, and database work? Do you understand the several levels of caching in a modern operating system?