
Databases Introduction - System Design Fundamentals
Introduction to databases for system design covering data storage, retrieval, relational databases, NoSQL, and choosing the right database for your application.

Introduction to databases for system design covering data storage, retrieval, relational databases, NoSQL, and choosing the right database for your application.

Complete guide to NoSQL databases including document stores, key-value stores, column-family databases, and graph databases for unstructured data.

Complete guide to database resiliency covering replication (master-slave, multi-master), backup strategies, and disaster recovery for system design interviews.

Complete guide to database scalability covering sharding strategies, partitioning, consistent hashing, and horizontal vs vertical scaling for system design.

Background I have in the past, in my previous job, used ElasticSearch extensively for our internal search. When I joined my current firm, I proposed using Elastic Search for our policy search problem, which apparently was slow and inefficient. This wasn’t surprising at all to me, as they were using simple SQL to search for relevant data. This was bound to be slow. So having proposed Elastic Search, I did a little POC and showed how easy it was for me to set up Elastic search on my machine on one node and showed how searching was a breeze using RESTAPIs and other clients. This POC was sufficient enough for us to consider a wider project and develop a solution which later got ported to Azure Search as we migrated to the cloud. To this day, we haven’t regretted our decision. ...