@system_monarch I don't think 50M API calls would be made, Zomato calls the firebase once, and then the firebase announces it to the topic (the topic contains the devices registered for that notification )
Learning database internals 📚
Imagine tracking a user's profile.
User changes:
📍 Location
📷 Profile picture
📝 Bio
100 times.
A log-structured database doesn't update the old record—it keeps appending new versions.
Later:
🔹 Compaction removes outdated versions
🔹 Merging combines cleaned segments
🔹 Hash indexes point directly to the latest profile data
Simple idea. Powerful architecture.
Now I understand why systems like Bitcask are so fast 🚀
Learning database internals 📚
Imagine tracking a user's profile.
User changes:
📍 Location
📷 Profile picture
📝 Bio
100 times.
A log-structured database doesn't update the old record—it keeps appending new versions.
Later:
🔹 Compaction removes outdated versions
🔹 Merging combines cleaned segments
🔹 Hash indexes point directly to the latest profile data
Simple idea. Powerful architecture.
Now I understand why systems like Bitcask are so fast 🚀
Ever wondered WHY SQL databases became dominant? 🤔
The answer lies in how database models evolved over time 👇
1. Hierarchical Model
Best for one-to-many relationships
Data stored like a tree structure
Similar to how modern JSON documents look today
But handling many-to-many relationships became difficult
2. Network Model
A record could have multiple parents
Supported:
many-to-one
many-to-many relationships
Every record acted like a linked node
But there was a catch ⚠️
Developers had to manually manage the traversal paths (“access paths”) to fetch data.
Complex systems = painful queries.
3. Relational Model
This changed everything.
Data organized into tables/tuples
Relationships handled using foreign keys & joins
Introduced the game changer → Query Optimizer
Instead of developers manually deciding how to fetch data,
the database automatically chooses:
✅ best indexes
✅ optimal execution order
✅ fastest access path
That abstraction is one of the biggest reasons SQL databases scaled in adoption. 🚀
Understanding database evolution helps you understand why modern systems are designed the way they are.
#SQL #NoSQL #Databases #SystemDesign #Backend #SoftwareEngineering #DataEngineering #Programming #TechTwitter
@system_monarch Thanks for such a wonderful share.
I am even trying to understand the distributed systems
Written a small article related to caching -
https://t.co/gI0EVDFHBx
Would really appreciate some insights.
Spent this weekend diving into research papers.
Just published my first article on caching, summarizing “Scaling Memcache at Facebook.��
https://t.co/gI0EVDGfr5
Curious to know—have you explored better approaches? Let’s discuss
@abhijitwt They’re volatile — everything lives in memory, so a restart wipes it out
No real persistence guarantees, unlike databases that use things like WAL(write - ahead logs)
RAM is expensive compared to disk, so scaling can get costly
Getting image generations to match a reference layout is still tricky—models tend to hallucinate placements. Any tips on reducing that and getting outputs that stick closely to the reference + prompt?
Getting image generations to match a reference layout is still tricky—models tend to hallucinate placements. Any tips on reducing that and getting outputs that stick closely to the reference + prompt?
System Design fundamentals every engineer should know:
When building scalable systems, the first question is: single server or distributed?
Start with a single server — it's simpler, easier to iterate on, and perfectly fine for early-stage products and predictable loads. But once you hit 10x growth, things change fast.
At scale, you need:
→ Horizontal scaling + sharding for data
→ Load balancers to distribute traffic
→ Database replication (master for writes, replicas for reads)
→ Cache layers (read-through strategy, LRU eviction)
→ CDNs for static content delivery
→ Stateless architecture so any server can handle any request
→ Message queues to decouple services asynchronously
→ GeoDNS + multiple data centers for availability & latency
Choosing the right database matters too:
• Relational DB → complex joins, many-to-many relationships
• Document DB → self-contained "tree" data (one-to-many)
• Graph DB → highly interconnected, "anything relates to everything"
And don't forget observability:
Logging + metrics (host, aggregated, business KPIs) + CI automation = a system you can actually trust.
The hardest part isn't building it. It's knowing when and what to scale. 🚀
#SystemDesign #SoftwareEngineering #ScalableSystems #BackendEngineering #TechLearning
We’ve launched our new website with a fresh new theme.
Please check it out: https://t.co/vZP0ZsTebg
Would love to hear your feedback. Thanks Everyone for all the support! 🙌
This is when dot product stopped being “math”.
It became:
normalization
intent extraction
constraint logic
A way to ask:
“How much of this belongs in that direction?”
A math formula I memorized years ago finally turned into code intuition.
For the longest time, dot product was just a formula I used.
A⋅B = ∣A∣∣B∣cosθ
I could calculate it.
I couldn’t feel it.