Walmart
Mạch tiến hoá
Nhiều team ở Walmart dùng Cassandra làm nguồn chính (hàng chục tới hàng trăm nghìn ops/giây). Năm bài học (2017): shard key nhân tạo chống partition lệch, tách Solr khỏi Cassandra, không đọc/ghi cả hàng, cẩn thận với collection (tombstone), tinh chỉnh driver Walmart 2017. Năm 2019, hệ fulfillment được thiết kế DR theo Ring: replication async, phát lại log thay đổi để về trạng thái nhất quán, app chịu được backend gián đoạn Walmart 2019. Cũng năm 2019, lớp đọc lịch sử đơn hàng (MTH) chọn mỗi hình dạng truy vấn một kho trên Azure Walmart 2019. Năm 2018, Walmart dựng nền tảng analytics còn hàng theo dạng lambda trên Kafka, Spark và Cassandra Walmart 2018. Năm 2020, một knowledge graph sản phẩm được dựng theo kiến trúc tiến hoá được: thư viện dùng cả qua API lẫn Hive UDF, kết quả nạp vào kho đồ thị Walmart 2020.
Timeline
Năm = năm sự kiện theo bài (có thể sớm hơn năm đăng bài).
| Năm | Giai đoạn | Thay đổi | Nguồn |
|---|---|---|---|
| 2017 | 2. Tăng trưởng | Năm cái bẫy khi scale Cassandra: shard key cho partition, SolrCloud riêng, ghi theo trường, Set thay List, driver. | Walmart 2017 |
| 2018 | 2. Tăng trưởng | Dashboard còn hàng dạng lambda: Kafka → Spark Streaming → Cassandra, Spark batch 6 giờ → Parquet → Tableau. | Walmart 2018 |
| 2019 | 3. Quy mô lớn | DR cho fulfillment microservice: replication async, phát lại Entity Mutation Log, GSLB, app chịu gián đoạn. | Walmart 2019 |
| 2019 | 2. Tăng trưởng | Member Transaction History: lớp đọc đơn hàng chia truy vấn cho Cosmos DB, Azure Search, Databricks. | Walmart 2019 |
| 2020 | 3. Quy mô lớn | Retail Graph: trích/liên kết thực thể batch trên Hadoop, nạp vào Cosmos DB (LPG), làm từng danh mục. | Walmart 2020 |