Backend Engineering (Intermediate)
This collection of videos covers major system design concepts and fundamentals that every backend engineer needs to understand. This will help you in your design interviews. The videos are ordered in the way they should be consumed. This playlist is designed for intermediate viewers
List of all Backend Engineering Playlists
👨💻Backend Engineering (Beginner) https://www.youtube.com/playlist?list=PLQnljOFTspQUNnO4p00ua_C5mKTfldiYT
👩💻Backend Engineering (Intermediate) https://www.youtube.com/playlist?list=PLQnljOFTspQWGuRmwojJ6LiV0ejm6eOcs
👨🏻💻Backend Engineering (Advanced) https://www.youtube.com/playlist?list=PLQnljOFTspQUybacGRk1b_p13dgI-SmcZ
Curated by: Hussein Nasser (54 videos)
Currently Playing: Database Sharding Crash Course (with Postgres examples)
Database sharding is the process of segmenting the data into partitions that are spread on multiple database instances to speed up queries and scale the system.
What is sharding?
Consistent Hashing
Horizontal partitioning vs Sharding
Example
Pros and cons
0:00 Intro
1:30 What is Sharding?
4:50 Consistent Hashing
7:36 Horizontal partitioning vs Sharding
8:45 Example
10:00 Spin up Docker Postgres Shards
17:25 Writing to the shard
39:20 Read from the Shard
51:10 Pros & Cons of Sharding
Source Code
https://github.com/hnasr/javascript_playground/tree/master/sharding
Docker commands (including pgadmin)
https://github.com/hnasr/javascript_playground/blob/master/sharding/shards/commands.txt
Dockerfile & init.sql
https://github.com/hnasr/javascript_playground/tree/master/sharding/shards
🏭 Software Architecture Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQXNP6mQchJVP3S-3oKGEuw9
💾 Database Engineering Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQXjD0HOzN7P2tgzu7scWpl2
🛰 Network Engineering Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQUBSgBXilKhRMJ1ACqr7pTr
🏰 Load Balancing and Proxies Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQVMeBmWI2AhxULWEeo7AaMC
🐘 Postgres Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQWGrOqslniFlRcwxyY94cjj
🧮 Programming Pattern Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQV1emqxKbcP5esAf4zpqWpe
🛡 Web Security Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQU3YDMRSMvzflh_qXoz9zfv
🦠 HTTP Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQU6zO0drAYHFtkkyfNJw1IO
🐍 Python Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQU_M83ARz8mDdr4LThzkBKX
🔆 Javascript Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQWab0g3W6ZaDM6_Buh20EWM
Support me on PayPal
https://bit.ly/33ENps4
Become a Patreon
https://www.patreon.com/join/hnasr?
Stay Awesome,
Hussein
Tracks in this Playlist
- What is the TCP 3-Way Handshake and Why Backend Engineers should understand it
- Layer 4 vs Layer 7 Proxying In Details Explained with Examples
- Database Engines Crash Course (MyISAM, Aria, InnoDB, XtraDB, LevelDB & RocksDB)
- How HTTP/2 Works, Performance, Pros & Cons and More
- Load balancing in Layer 4 vs Layer 7 with HAPROXY Examples
- 7 Tips to Optimize Your Backend API Without Caching
- Your Backend is Also a Frontend (Backend vs Frontend Engineering)
- Overengineering in Software
- NginX Crash Course (Layer 4 & Layer 7 Proxy, HTTPS, TLS 1.3, HTTP/2 & More)
- HAProxy Crash Course (TLS 1.3, HTTPS, HTTP/2 and more)
- What is a Virtual IP Address? How does it help with High-Availability
- Fail-over and High-Availability (Explained by Example)
- Active-Active vs Active-Passive Cluster to Achieve High Availability in Scaling Systems
- Connection Pooling in PostgresSQL with NodeJS (Performance Numbers)
- Asynchronous vs Multithreading and Multiprocessing Programming (The Main Difference)
- Horizontal vs Vertical Database Partitioning
- Database Partitioning Crash Course (with Postgres)
- Database Sharding Crash Course (with Postgres examples)
- Can you get Eventual Consistency in Relational Databases?
- How to Avoid Double Booking and Race Conditions in Online Web Applications
- RabbitMQ Crash Course
- Apache Kafka Crash Course
- Microservices Explained and their Pros & Cons
- When Designing a Backend System Minimize the “What If” Questions
- Building a Multi-player Game with WebSockets
- DevTools Waterfall Deep Dive - Diagnose Your Backend and Improve the Frontend User Experience
- SELECT COUNT(*) is Slow, Estimate it Instead (with Example in Node JS and Postgres)
- When to Build a Stateless vs Stateful Back-ends using the right protocols (UDP, HTTP, TCP, QUIC)
- Why you Shouldn't Implement Features Because They are Easy - Backend Engineering
- Index Scan vs Index Only Scan on Database Systems (with Postgres)
- SELECT COUNT (*) can impact your Backend Application Performance, here is why
- Combining Database Indexes for Better Performance in Your Backend Applications (with PostgreSQL)
- 2 Hours RabbitMQ Course with NodeJS, Pros & Cons, Cloud RMQ, RMQ vs Kafka, RMQ in Wireshark & MORE!
- Uber’s new Backend Architecture for Processing Payments
- Traefik Crash Course (Without docker)
- Envoy Proxy Crash Course, Architecture, L7 & L4 Proxying, HTTP/2, Enabling TLS 1.2/1.3 and more
- don’t use “offset” in your SQL
- Is EventStoreDB the First Native gRPC Database?
- The 2021 Slack Outage - Detailed analysis of what happened to Slack on Jan 4th 2021
- How do i learn new tech as a software engineer
- Load Balance multiple RTMP Servers to Horizontally Scale Streaming (Node Media Server and HAProxy)
- CQRS is probably the cause of the Microservices madness
- How timeouts can make or break your Backend load balancers
- Watch out before Adding Indexes to Your Table, Your Database Optimizer Might not Use them
- Optimizing Communication and Networking in Database Systems - The Backend Engineering Show
- Long Polling and how it differs from Push, Poll and SSE - The Backend Engineering Show
- Postgres Explain Explained - How Databases Prepare Optimal Query Plans to Execute SQL
- B-tree vs B+ tree in Database Systems
- Should you go with an Optimistic or Pessimistic Concurrency Control Database?
- The Journey of an HTTP request to the Backend | Backend Engineering Show
- Low code | The Backend Engineering Show
- Multi-tenancy architecture | The Backend Engineering Show
- First port your computer hits
- When do you use threads?