为什么在这个场景里 NoSQL(DynamoDB/Cassandra)可能比 SQL 更合适?有哪些前提条件?
Why might NoSQL (DynamoDB/Cassandra) be a better fit than SQL here, and what assumptions must hold?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: System Design
标签: nosql, dynamodb, cassandra, tradeoffs
参考答案摘要
答案 当系统每天写入 百万级 Job 且读写吞吐接近、数据结构相对固定、查询以主键/简单条件为主时,NoSQL 更容易水平扩展: 天然分区与高吞吐,适合高并发写入与按 key 查询。 高可用部署成熟(多副本、跨 AZ)。 避免复杂 join,模型更贴近任务调度的 KV/宽表访问模式。 前提是:你能接受 弱事务 (不强依赖 ACID)、尽量减少跨表 join,并把复杂分析留给异步管道或数据仓库。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。