Skip to content

Instantly share code, notes, and snippets.

@zxdcm
zxdcm / gist:7c979efa81708853f20f6e4cfd8bf0b5
Created February 14, 2019 20:12
Browser common ideas
Browser components:
1. UI |
↓ |
2. Browser Engine ========================|===========> data persistance
3. Rendering Engine ↓ (25)
4. Networking 5. JS Interpreter 6. UI Backend
Chrome uses several display modules
NoSql
CAP Theorm (no dbms that follow 3 rules at the same time)
Consistency
Accesability
Partition tolerance
Vertical and Horizontal scaling in terms RDBMS:
You can partition data vertically (splitting tables into subsets of columns and implementing each subset as a separate table) and horizontally (splitting tables into subsets of rows, and implementing each subset as a separate table where each table contains the same columns). You can place different partitions on different servers to spread the load and improve scalability.
Sharding - horizontal scaling of data
Sharding migth decrease performance (for example when join 2 tables on differ shards => try to store at the same shard)