
前言
既然你开始阅读本书,那么就应该知道,近几年来,数据管理领域发生了巨大的变化。我
们已经看到了从第三方专有解决方案到新的开源分布式数据系统的转变。通常使用“大数
据”来指代这些新的解决方案(我们发现这个词的指代作用越来越弱),但其实早期的很
多专有系统也采用了可以存储和处理大量数据的分布式架构。尽管这些专有解决方案和新
的开源解决方案都可以用来解决很多相同的问题,但它们之间存在一些明显的差异,这些
差异促成了新系统的发展。这些差异不仅体现在开源的经济性方面,也与技术的发展有
关。技术的发展促进了新系统的实现,而如果使用以前的解决方案来实现这些系统颇具挑
战性。
随着这些系统的发展,出现了很多相关的书、文章、培训、会议等。这些资源可以帮助你
以及这个领域的其他从业者更好地使用这些系统。那么,为什么还要再写一本与“大数
据”相关的书呢?我们想说的是:不要因为一棵树而错过整片森林。这些资源大都侧重于
底层的细节,例如使用
MapReduce
或
Spark
之类的分布式处理引擎来实现应用程序,或者
应用高级算法来分析数据。除此之外,也有一些资源关注更高层次的架构,例如由本书作
者和另外两位作者合著的《
Hadoop
应用架构》
1
。
这些资源缺乏的是一个更广阔的视野,换句话说,需要采取哪些步骤来确保数据项目能够
从规划阶段成功地走到执行阶段?要成功地实施数据项目,获取与架构和组件系统相关的
专业知识固然重要,但其他的一些考虑因素也同样重要,而这些因素往往在探索新技术的
过程中被忽视。
这些考虑因素包括:
•
理解问题;
•
选择适合用例的软件解决方案; ...