A: 性能估算需要假设程序的执行环境,对硬件性能指标有初步认识后,可以从CPU运算次数、内存访问时间、网络传输等方面进行估算,并结合实例进行分析。例如,内存排序时间 = 比较时间(分支预测错误) + 内存访问时间。
A: CAP理论粗略地告诉我们“天下没有免费的午餐”,工程实践中,可以认为一致性和写操作的可用性不能同时满足,即如果要保证强一致性,那么出现机器故障的时候,写操作需要等机器重启或者机器上的服务迁移到别的机器才可以继续。
A: NOSQL可以认为是选取了SQL特性的子集,在扩展性和用户接口友好两个方面做了一个权衡。SQL定义了一个功能全集,NOSQL根据应用特点选取几种特定的应用定义不同的特性集合,以适应互联网数据量高速膨胀的需求。
本书的目标读者是具有一定分布式系统基础,并且阅读过GFS/Bigtable/Paxos相关论文,希望深入了解系统设计与实现的工程师。此外,对于想要了解大规模数据处理系统工程师必备的基础知识,以及工程实践中遇到的典型问题解决思路的读者,本书也具有一定的参考价值。
本书创作于2010年,正值NoSQL技术兴起,分布式系统开发面临诸多挑战。当时,NoSQL资料繁多但不成体系,使得分布式系统开发工程师无所适从。本书作者希望通过梳理流行的分布式存储和计算系统,为工程师提供参考。