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. 351 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 9.115 bài thuộc 135 công ty có trang wiki riêng và 897 bài thuộc 261 trang danh sách bài viết (công ty chưa có trang wiki); thành viên xem được toàn bộ danh sách. Cảm ơn những người duy trì các danh sách đó.
Chat Service Architecture: Persistence
Chat dựng trên ejabberd (mã nguồn mở), vốn chỉ hỗ trợ Mnesia hoặc ODBC. Lúc đầu chọn MySQL vì quy mô chưa là vấn đề và team quen. Mỗi shard ba máy MySQL: primary, backup, ETL. Dữ liệu: danh sách bạn (roster) và…
Cloud Native MySQL Sharding with Vitess and Kubernetes
Vitess ra đời ở YouTube để scale MySQL (theo bài tháng 3/2015 cùng tác giả: metadata cho hàng tỉ lượt xem mỗi ngày, 300 giờ video mới mỗi phút), giấu độ phức tạp của sharding khỏi tầng ứng dụng. Con đường quen thuộc:…
BookKeeper: Yahoo's Distributed Log Storage
BookKeeper do Yahoo tạo năm 2009: kho log tuần tự nhân bản, scale ngang trên phần cứng phổ thông; mở cho cộng đồng năm 2011, thành dự án cấp cao của Apache năm 2015.
Benchmarking Streaming Computation Engines at Yahoo!
Yahoo dùng Apache Storm cho streaming từ 2012 (thay S4 tự làm); cuối 2015 có khoảng 2.300 node Storm. Thị trường đã có Flink, Spark Streaming, Samza, Apex, Dataflow, và các benchmark có sẵn không giống tải thật.
Splunk at Zillow
Sau vài năm ship liên tục, lỗi chỉ tăng: một service tầng trình bày sinh hơn 4 triệu lỗi/ngày, khoảng 20.000 loại lỗi (2015), phần lớn không cần xử lý. Giám sát service này chỉ dựa vào số lượng lỗi, nên lỗi thật chìm…
Garbage Collection Optimization for High-Throughput and Low-Latency Java Applications
Khi dựng thế hệ mới của feed data platform (index cập nhật từ member, company, group để phục vụ feed), team làm prototype gần đủ chức năng, chạy lại workload query của hệ đang chạy để đo GC trong thời gian dài. Java…
Real-time Analytics at Massive Scale with Pinot
Khoảng 2012, các sản phẩm phân tích chạy trên Oracle và Voldemort, không hợp với OLAP; dữ liệu tăng theo cả chiều rộng lẫn chiều sâu. Ví dụ Jobs Analytics: xử lý và nén trên Hadoop rồi đẩy lại vào Oracle, nên không gần…
Questioning the Lambda Architecture
Lambda architecture (Nathan Marz): cùng một luồng dữ liệu bất biến được đưa song song vào hệ batch (MapReduce) và hệ stream (Storm); logic biến đổi viết hai lần, kết quả hai bên ghép lại lúc truy vấn.
Using Presto in our Big Data Platform on AWS
Nền big data của Netflix (2014) đặt data warehouse trên S3: compute tách khỏi storage, nhiều cluster (chạy dài hay tạm) cùng đọc chung dữ liệu. User viết job Pig hoặc Hive cho ETL và phân tích; một phần nhỏ kết quả và…
The Log: What every software engineer should know about real-time data's unifying abstraction
Khoảng 2007 LinkedIn bắt đầu chạm giới hạn của một database tập trung, chuyển sang một danh mục hệ phân tán chuyên biệt: search, social graph, Voldemort (key-value), Espresso (document), recommendation, OLAP, Hadoop,…
Under the Hood: Building out the infrastructure for Graph Search
Facebook có nhiều hệ search cũ chồng nhau: PPS (theo từ khoá, cá nhân hoá, lọc theo loại entity); Typeahead (2009–2010, tìm theo tiền tố khi gõ, viết lại toàn bộ backend và frontend để đạt hiệu năng, nhưng index bị giới…
Scryer: Netflix's Predictive Auto Scaling Engine
Netflix dùng Amazon Auto Scaling (AAS): tăng giảm số instance theo metric hiện tại (thường là load average). Theo Netflix, AAS hiệu quả cho availability và chi phí, nhưng phản ứng sau khi tải đã đổi.
The Architecture Twitter Uses to Deal with 150M Active Users, 300K QPS, a 22 MB/S Firehose, and Send Tweets in Under 5 Seconds
150 triệu user hoạt động; 300K QPS đọc timeline nhưng chỉ khoảng 6.000 request/giây ghi: Twitter chủ yếu là nơi tiêu thụ. 400 triệu tweet/ngày (trung bình 5K/giây, đỉnh 7K/giây, hơn 12K/giây khi có sự kiện lớn);…
New Tweets per second record, and how!
3/8/2013 (khán giả Nhật xem Castle in the Sky): đỉnh 143.199 tweet/giây, trong khi bình thường là 500 triệu tweet/ngày, tức ~5.700 TPS. Đỉnh gấp ~25 lần mà user không thấy gián đoạn.
Lessons Netflix Learned from the AWS Outage
21/4/2011: incident lớn ở AWS US-East làm sập hoặc làm chậm nhiều website lớn.