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. 931 bài. Đọ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 đó.
Scaling up your microservice testing with Apache Spark, Part 2
Câu hỏi của phần này: dựng harness replay thế nào mà không tạo ra bản thứ hai của service (bản đó sẽ lệch production và cho sự tự tin giả).
How Stripe uses graph search and state machines to auto-remediate a global database fleet
Document Database của Stripe: khoảng 2.000 shard MongoDB, hơn 40 kiểu bố trí shard (từ tối ưu chi phí tới HA cho khôi phục thảm hoạ). Năm 2025 xử lý 1,9 nghìn tỷ USD thanh toán.
Protocol-Aware Deterministic Simulation Testing
TigerBeetle dùng Viewstamped Replication (VSR): liveness là còn phản hồi khi đa số replica sống; safety là các replica thống nhất thứ tự (dẫn tới strict serializability).
A Trillion Transactions
Scale là khả năng sống sót, không chỉ hiệu năng: khó nhất là sống được khi mọi thứ hỏng.
The Real Cost of a Single Insert in Postgres
Bảng time-series devicemetrics với 3 index (khiêm tốn cho loại bảng này), mỗi dòng dữ liệu khoảng 40 byte.
Knowing When Your Composite Index Earns Its Write Cost
Index thường được thêm trong lúc xử lý sự cố và không ai quay lại kiểm tra. EXPLAIN cho biết index tiết kiệm bao nhiêu (đến từng buffer) nhưng không cho biết mỗi insert tốn thêm bao nhiêu: lợi ích có con số, chi phí chỉ…
Sizing Your IIoT Table Before You Deploy
Một bản đo cảm biến là 20 byte (timestamp, tag ID, float), nhưng nằm trong một bảng truy vấn được thì tốn 95,6 byte, nên dự án tính 12 TB thành 60 TB. Theo Tiger Data, pilot 50 cảm biến nói rất ít về nhà máy 10.000 tag…
Autoscaling endpoints for LLM inference
Trả tiền theo replica-phút nên phải cân hai kiểu sai: cấp dư (GPU ngồi ở 15% chỉ để chờ đỉnh) và cấp thiếu. Theo bài, LLM serving thoái hoá phi tuyến: replica chạm giới hạn concurrency không "chậm hơn chút" mà bắt đầu…
Canary rollouts: upgrade models in production without downtime
Hệ sinh thái model mở đổi nhanh nên đổi checkpoint hay đổi họ model là việc thường xuyên. Hai cách thường làm đều để con người làm cơ chế an toàn: đổi thẳng (mọi user cùng thấy, p95 tăng gấp đôi thì biết qua dashboard…
Upgrading a 56TB database that's growing at 250GB per day with (nearly) no downtime
Một cụm Aurora Postgres khoảng 56 TB: bảng run 29,4 TB, các bảng liên quan tới run 25,4 TB, dữ liệu control plane (tổ chức, project, billing, deploy) chỉ 1,23 TB. Tăng 250 GB/ngày.
Why we replaced Node.js with Bun for 5x throughput
Firestarter là broker "warm start": giữ hàng nghìn kết nối long-poll HTTP từ run controller đang rảnh; khi có task run, ghép với một controller và gửi payload qua kết nối đang giữ (không cold start). Nằm trên đường găng…
Incident report: Runs list and logs degraded
Trigger.dev tách hai đường: thực thi run (Postgres là nguồn sự thật + Redis cho queue) và giao diện quan sát (runs list, logs, traces) chạy trên ClickHouse. ClickHouse chỉ trả danh sách run ID khớp bộ lọc; chi tiết run…
Incident report: Vercel environment variables cleared during synchronization
Trigger.dev đồng bộ biến môi trường từ Vercel trước mỗi lần build. API của Vercel trả biến loại Sensitive với value: "" vì integration không được đọc giá trị.
How We Cut Kafka Consumer Deployment Costs by 83%
PSE-kafka consume message giá khách sạn từ Kafka và đẩy quảng cáo sang một dịch vụ Ads bên ngoài, tức là tạo doanh thu trực tiếp. Mỗi giá có hạn dùng, nên lag càng lớn thì càng đẩy giá đã hết hạn.
From Always-On to On-Demand: Scaling Kafka Sinks with KEDA
trivago dùng Kafka làm lớp vận chuyển dữ liệu giữa các hệ. Nhiều dữ liệu vào Kafka từ database qua Debezium (CDC), topic dùng log compaction nên giữ giá trị mới nhất mỗi key, như một snapshot liên tục.
How Ansible Automation Powers the Uber Corporate Network at a Global Scale
Mạng văn phòng (Corpnet) của Uber trên sáu châu lục, năm vùng, khoảng 5.000 thiết bị nhiều hãng (switch, gateway, firewall), mỗi văn phòng một tổ hợp phần cứng khác nhau. Ở quy mô này, lỗi link và thiết bị hằng ngày là…
Modernizing Artifact Storage at Uber
Mọi build ở Uber (monorepo Go, Java, web, Android, iOS, Python và hàng nghìn microrepo) phụ thuộc hàng trăm tới hàng nghìn artifact. Hơn mười năm, một nền tảng artifact của bên thứ ba tự host ở hai data center nằm trên…
How Uber Protects Against Retry Storms
Chỉnh cấu hình retry và retry budget giảm được ở mức từng service, nhưng chỉnh tay và không thấy được khuếch đại xuyên service qua chuỗi phụ thuộc sâu và fan-out. Gốc vấn đề: retry không biết ngữ cảnh; kiểm được bao…
Scaling Exact COUNT(DISTINCT) for High-Cardinality Non-Rollup Metrics
Một lớp metric (user hoạt động theo tháng, giữ chân theo quý) phải tính chính xác và là non-rollup: không ghép được từ số theo ngày (một user hoạt động thứ Hai và thứ Tư chỉ tính một lần trong tuần). Theo quý, phải giữ…
Simplifying Data and Product Integrations with a Data Abstraction Layer
Query dữ liệu thường gắn chặt với cấu trúc và vị trí của dataset ("dùng bảng v2, trước 2025 thì dùng v1, metric đổi tên giữa hai bản"), nên đổi mô hình dữ liệu chậm và khó. Báo cáo cho nhà quảng cáo của Uber Ads là ca…
Database Federation: Decentralized and ACL-Compliant Hive Databases
Một data warehouse của mảng Delivery có hơn 16.000 dataset Hive, 10 PB của nhiều domain nằm trong một database Hive do một team trung tâm sở hữu. Từng giúp onboard và tìm dữ liệu dễ, nhưng khi lớn thì thành gánh nặng:
Evolution and Scale of Uber's Delivery Search Platform
Phần lớn đơn Uber Eats bắt đầu từ ô tìm kiếm. Khớp từ khoá hỏng với từ đồng nghĩa, lỗi gõ, viết tắt, trộn ngôn ngữ ("pan" là bánh mì tiếng Tây Ban Nha, là cái chảo tiếng Anh). Semantic search mã hoá query và tài liệu…
Running Cost-Efficient Export Workloads at Uber
Export workload (tuân thủ, quyền riêng tư, xuất dữ liệu vận hành; ví dụ DSAR, yêu cầu của một người xem dữ liệu cá nhân mà công ty giữ): query điểm hoặc predicate hẹp theo rider/driver/courier ID trên bảng giao dịch…
Taming the ML Firehose: Scaling Feature Consistency
Mục tiêu: feature dùng lúc inference chính là feature dùng để train model kế tiếp. Trước đó hai đường lệch nhau: