Bài tóm tắt

Tóm tắt bằng lời riêng, luôn dẫn về bài gốc. 160 bài (đã lọc). Đọc miễn phí.

Nguồn dữ liệu danh sách bài viết của blog công ty

Danh sách bài trên trang công ty gồm 10.013 bài. Khoảng 73,6% (7.365 bài) do SWE Wiki thu thập thủ công từ kho lưu trữ blog chính chủ của các công ty, kèm ngày đăng. Phần còn lại lấy từ các danh sách công khai trên GitHub: binhnguyennus/awesome-scalability (667), abhivaikar/howtheytest (551), upgundecha/howtheysre (499), eugeneyan/applied-ml (376), Engineer1999/ML-System-Design-Case-Studies (239), upgundecha/howtheyaws (149) và một số danh sách nhỏ khác. Mọi link luôn dẫn về bài gốc trên blog của tác giả; SWE Wiki không sao chép nội dung bài. Hiện 8.979 bài thuộc 133 công ty có trang riêng được hiển thị cho thành viên. Cảm ơn những người duy trì các danh sách đó.

Mọi giai đoạn 1. Khởi đầu2. Tăng trưởng3. Quy mô lớn4. Điều chỉnh
Mọi độ khó DễCơ bảnTrung bìnhKhóNâng cao
Bài tóm tắt · Booking.com · 2015 Khó

Better Parallel Replication for MySQL

MySQL 5.5 và MariaDB 5.5 replicate đơn luồng: trên slave, transaction trước phải commit xong thì transaction sau mới chạy, trong khi master chạy nhiều transaction cùng lúc. Slave vì vậy ghi chậm hơn master, và master…

Bài tóm tắt · Booking.com · 2015 Khó

Evaluating MySQL Parallel Replication Part 3: Benchmarks in Production

Replication của MySQL lúc đó đơn luồng trên slave: muốn không có replication lag, master chỉ được ghi bằng khoảng một core, dù máy có 12 core trở lên. Đây là trần ghi của mỗi cụm.

Bài tóm tắt · Booking.com · 2015 Khó

Evaluating MySQL Parallel Replication Part 2: Slave Group Commit

MariaDB 10.0 và MySQL 5.7 có tham số trì hoãn commit trên master để nhiều transaction vào chung một nhóm (binlogcommitwaitcount/binlogcommitwaitusec ở MariaDB, binloggroupcommitsyncdelay/...nodelaycount ở MySQL): nhóm…

Bài tóm tắt · Jane Street · 2015 Khó

Building a lower-latency GC

GC gây pause không đoán trước, xấu cho hệ giao dịch. Cách thường làm là pool hết object, không cấp phát gì trên đường nóng; cách này chạy được nhưng code khó viết và khó suy luận. Jane Street muốn một GC cho phép vẫn…

Bài tóm tắt · LinkedIn · 2015 Khó

Introducing Espresso - LinkedIn's hot new distributed document store

Trước Espresso, LinkedIn dùng Oracle (dữ liệu chính, nhất quán mạnh) và Voldemort (key-value). Phần lớn dữ liệu chính không cần đủ tính năng RDBMS nhưng lại cần đọc-sau-ghi và một change capture stream có thứ tự theo…

Bài tóm tắt · LinkedIn · 2014 Khó

Did you mean "Galene"?

Search của LinkedIn (hơn 300 triệu member, 2014) dựng trên Lucene, rồi đắp thêm từng lớp mỗi khi gặp giới hạn: Sensei (sharding, quản lý cụm), Search Content Store (giữ mọi term của entity, vì Lucene cập nhật bằng xoá…

Bài tóm tắt · SoundCloud · 2014 Khó

Roshi: a CRDT system for timestamped events

Stream của SoundCloud: các event (thời điểm, ai làm, làm gì) từ những người mình follow, xếp mới nhất trước.

Bài tóm tắt · Twitter · 2014 Khó

How Twitter Uses Redis to Scale - 105TB RAM, 39MM QPS, 10,000+ Instances

Năm 2014 cache của Twitter: khoảng 105 TB RAM, 39 triệu QPS, hơn 10.000 instance; Redis từ 2010 cho Timeline (danh sách ID tweet), rồi Ads. Dịch vụ cache tăng từ một project lên gần trăm project dùng.

Bài tóm tắt · WhatsApp · 2014 Khó

The WhatsApp Architecture Facebook Bought For $19 Billion

450 triệu user hoạt động, hơn 1 triệu đăng ký mỗi ngày, 50 tỉ tin nhắn/ngày (vào + ra), với 32 kỹ sư (một kỹ sư trên 14 triệu user). Hàng trăm node, hơn 8.000 core, hàng trăm TB RAM, hơn 70 triệu message Erlang mỗi giây.

Bài tóm tắt · WhatsApp · 2014 Khó

How WhatsApp Grew to Nearly 500 Million Users, 11,000 cores, and 70 Million Messages a Second

465 triệu user/tháng; 19 tỉ tin vào và 40 tỉ tin ra mỗi ngày; 600 triệu ảnh, 200 triệu voice, 100 triệu video mỗi ngày.

Bài tóm tắt · Jepsen · 2013 Khó

Call me maybe: Cassandra

Cassandra theo mô hình Dynamo (hash ring, N bản, quorum điều chỉnh được, hinted handoff, anti-entropy) nhưng bỏ vector clock để dùng last-write-wins thuần: một round-trip mỗi ghi thay vì hai.

Bài tóm tắt · Jepsen · 2013 Khó

Call me maybe: Kafka

Kafka 0.8 thêm replication: mỗi partition một leader (bầu qua ZooKeeper) giữ ISR (in-sync replica); ghi commit khi mọi node trong ISR ack. LinkedIn tuyên bố chịu được f−1 lỗi với f node vì theo kinh nghiệm vận hành của…

Bài tóm tắt · Netflix · 2013 Khó

Active-Active for Multi-Regional Resiliency

Theo Netflix, tỉ lệ hỏng phụ thuộc hai thứ: quy mô deploy và tốc độ thay đổi; chạy lớn mà vẫn đổi nhanh thì "lúc nào cũng có thứ hỏng". Mục tiêu nội bộ là 99,99%. Mất trọn một region rất hiếm, nhưng chính tốc độ thay…

Bài tóm tắt · MemSQL · 2012 Khó

MemSQL Architecture - The Fast (MVCC, InMem, LockFree, CodeGen) And Familiar (SQL)

Hai nhà sáng lập từng ở Facebook (nền tảng, hạ tầng; một người từng làm lõi SQL Server). Theo họ, Facebook scale được nhờ hai thứ: Memcached (KV trong RAM) và sinh code (HipHop dịch PHP sang C++). Ghép hai ý vào…

Bài tóm tắt · LMAX · 2011 Khó

The LMAX Architecture

LMAX là sàn giao dịch phái sinh cho nhà đầu tư cá nhân (công ty mẹ là Betfair). Sàn cần latency thấp vì mỗi giao dịch làm thay đổi thị trường cho giao dịch sau; bán lẻ thì thêm nhiều người dùng. Phần lớn hoạt động đến…

Bài tóm tắt · Google · 2006 Khó

The Chubby lock service for loosely-coupled distributed systems

Trước Chubby, phần lớn hệ ở Google bầu primary bằng cơ chế tự chế hoặc cần người can thiệp sau mỗi lần hỏng. Chubby được thiết kế làm dịch vụ khoá thô (coarse-grained), ví dụ để bầu primary, không phải khoá ngắn hạn…