在任务调度系统中如何选择 SQL vs NoSQL?在“百万级任务/天、读写接近、固定 schema、不需要 ACID 和复杂 join”的前提下,为什么 NoSQL(DynamoDB/Cassandra)可能更合适?
How do you choose SQL vs NoSQL for a job scheduling system? Under constraints like millions of jobs/day, similar read/write volume, fixed schema, and no need for ACID/complex joins, why might NoSQL (DynamoDB/Cassandra) be a better fit?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: system-design, database
标签: sql-vs-nosql, dynamodb, cassandra, high-throughput, structured-data
参考答案摘要
TL;DR 在百万级 jobs/day、读写吞吐都很高且 schema 固定的情况下,如果不需要 ACID 或复杂 join,那么 NoSQL(如 DynamoDB/Cassandra)通常在 水平扩展 与 高吞吐读写 方面更有优势,更适合承载大规模任务元数据与状态更新。 关键条件 每天存储百万级 jobs 读写量接近,吞吐高 数据结构固定 不需要 ACID 或复杂 join 为什么 NoSQL ...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。