In this course, we will delve into the essential concepts and building blocks that power the rapidly evolving development tooling industry. We will explore a variety of tools and technologies that are used to scale and automate different aspects of the development process, from traditional databases to cutting-edge AI tools. However, due to the dynamic nature of this field, it is impossible to cover specific tools in great depth. The industry is constantly evolving, with new tools and technologies emerging and others becoming obsolete quickly. This is why small companies with limited resources can become wildly popular within a few months, and successful products can vanish just as rapidly. Both the course material and the assignments have been designed with this reality in mind.

In this module, we will focus on Datastores, the backbone of managing data in any application. We interact with Datastores in our daily lives without even realising it; for instance, every mobile device has multiple datastores that store application and user data like contacts, photos, and messages. Without datastore technologies, we would rely on paper to store any kind of data, which would be a cumbersome process. Our objective is to provide a comprehensive understanding of how datastores work and how to effectively use them in your applications.

There are three important types of datastore technologies used in web development:

  • Relational databases: MySQL, PostgreSQL, and Microsoft SQL Server are examples of relational databases. These databases use a table-based structure and are typically used to store structured data.
  • Non-relational databases: MongoDB, Cassandra, and Redis are examples of non-relational databases. These databases use a more flexible data model and are typically used to store unstructured data or data that doesn’t fit well in a table-based structure.
  • In-memory databases: such as Redis, Apache Ignite, and Memcached, store data in RAM, meaning that they allow faster access than traditional disk-based technologies. They are typically used to store data that is frequently accessed or data that requires low-latency access such as a cache.
Tags: