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?