Saurabh Dashora (@progressivecod2) 's Twitter Profile
Saurabh Dashora

@progressivecod2

Writing the System Design Codex Newsletter • I simplify software design with concepts and case studies

ID: 1090810652061356037

linkhttps://newsletter.systemdesigncodex.com calendar_today31-01-2019 03:15:00

15,15K Tweet

16,16K Followers

311 Following

Saurabh Dashora (@progressivecod2) 's Twitter Profile Photo

In 2004, Amazon faced multiple outages resulting in huge losses. As a response, they built an in-house highly available distributed database known as Dynamo. Not the DynamoDB-managed service. Just Dynamo. There were three main design goals behind Dynamo: - Simple query model

In 2004, Amazon faced multiple outages resulting in huge losses.

As a response, they built an in-house highly available distributed database known as Dynamo. 

Not the DynamoDB-managed service. Just Dynamo.

There were three main design goals behind Dynamo:

- Simple query model
Saurabh Dashora (@progressivecod2) 's Twitter Profile Photo

I asked 11 developers and found that 8 were struggling with data consistency issues. The number one culprit was Dual Writes. Dual Writes happen when you have to update two different systems. For example, [1] Updating a database [2] Publishing an event to a different system

I asked 11 developers and found that 8 were struggling with data consistency issues.

The number one culprit was Dual Writes.

Dual Writes happen when you have to update two different systems.

For example,

[1] Updating a database
[2] Publishing an event to a different system
Saurabh Dashora (@progressivecod2) 's Twitter Profile Photo

Cookies vs Session Simplified A cookie is basically a key-value pair that’s stored on the browser. How does it work? [1] The user logs in to your frontend application. [2] The frontend sends the request to the backend server [3] The backend server generates a cookie [4] It

Cookies vs Session Simplified

A cookie is basically a key-value pair that’s stored on the browser.

How does it work?

[1] The user logs in to your frontend application.

[2] The frontend sends the request to the backend server

[3] The backend server generates a cookie

[4] It
Saurabh Dashora (@progressivecod2) 's Twitter Profile Photo

Database Caching 101 (5 strategies you must know) ✅ Cache-Aside Strategy In this strategy, the cache sits next to the database. Here’s how it works: - When there is a request for data, the application first checks the cache - If there’s a cache hit, the application returns

Database Caching 101 (5 strategies you must know)

✅ Cache-Aside Strategy
In this strategy, the cache sits next to the database.

Here’s how it works:
- When there is a request for data, the application first checks the cache
- If there’s a cache hit, the application returns
Saurabh Dashora (@progressivecod2) 's Twitter Profile Photo

If you often make these 9 statements, congratulations you are an 11X Developer: [1] How hard can it be? [2] It shouldn't take more than half a day [3] I'll just change this one line of code [4] This is just a temporary fix [5] That should be a quick fix [6] Let's refactor

Saurabh Dashora (@progressivecod2) 's Twitter Profile Photo

Writing code is just the beginning for a software developer. I feel a developer's responsibilities increase dramatically after they have written the code. You get into things like: - Testing - Documentation - Supporting user testing - Deploying the code to production -

Writing code is just the beginning for a software developer.

I feel a developer's responsibilities increase dramatically after they have written the code.

You get into things like:

- Testing
- Documentation
- Supporting user testing
- Deploying the code to production
-
Saurabh Dashora (@progressivecod2) 's Twitter Profile Photo

Don't go for caching without asking these 7 questions: ✅ Am I using the cache to hide the real issues? Inefficient data models and improper indexes might be the real issues ✅ Is the data I'm trying to cache frequently accessed? It's all about considering the ROI of caching

Don't go for caching without asking these 7 questions:
 
✅ Am I using the cache to hide the real issues?
Inefficient data models and improper indexes might be the real issues

✅ Is the data I'm trying to cache frequently accessed?
It's all about considering the ROI of caching