1.2 大数据的基础设施
在深入探究大数据基础设施之前,我们先带领读者一览大数据的全貌。表1-1从高层次视角对大数据细分领域进行了划分。
表1-1
表1-1描述了大数据技术的细分领域。最底层是最关键的,支持可扩展和分布式存储。
●核心技术:核心底层软件如Hadoop、MapReduce、Mahout、HBase和Cassandra等。再往上一层是基础设施层,开发者依据用例和解决方案可以选择合适的基础设施。
●数据分析基础设施:EMC、Netezza、Vertica、Cloudera和Hortonworks。
●可运维基础设施:Couchbase、Teradata和Informatica等。
●基础设施即服务(IaaS):AWS和Google云等。
●结构化数据库:Oracle、SQLServer、MySQL和Sybase等。往上一层是特定需求的数据即服务(DaaS):Kaggle、Azure和Factual等。
●商业智能(BI):Qlikview、Cognos和SAP BO等。
●分析和可视化:Pentaho、Tableau和Tibco等。
可以看到,如今传统的关系型数据库仍然在为数据存储及处理实现高效和低成本的效果而努力挣扎。传统的关系型数据库处理大数据的成本非常高,通过扩展的方式很难满足低延迟的要求。正是由于以上现状,才促进了具有低成本、低时延、高扩展性、开源等需求的新技术的涌现。黄色的大象——Hadoop成为救星,它出其不意地占领了数据存储和计算的竞技场。Hadoop作为分布式数据存储和计算框架,在设计上具有非常高的可靠性和可扩展性。Hadoop计算方法的核心是将数据分块存储在集群的所有节点上,然后在所有节点上并行地处理数据。
相信到了这里,读者已经对大数据的基础知识和全貌有了一些认识,能够以Hadoop框架为例来深入研究大数据的概念。接下来继续研究实现Hadoop集群的体系结构和方法,这与高层基础设施和大型数据集群的典型存储需求非常相似。本书将深入研究的另一个关键话题是大数据环境下的信息安全。图1-1主要指出大数据基础设施中的几个关键因素。
图1-1
集群设计:这是基础设施规划中最重要且最有决定性的一个因素。基础设施的集群设计策略基本上是解决方案的主要考虑因素,包括应用程序用例和要求、工作负载、资源计算(取决于是内存密集型还是计算密集型)以及安全性。除了计算、内存和网络利用率,另一个重要因素是存储,它将基于云或本地。云的选择有公共云、私有云或混合云,这取决于应用场景和企业的需求。
硬件架构:存储成本主要取决于存储数据的体量、存档策略以及数据生存期限。决定性因素有两点。第一点是实现的算力需求(商用化组件是否丰富,或者是否需要高性能GPU)。第二点,内存需求是什么?是低等、中等,还是高等?这取决于应用程序实现内存算力需求。
网络架构:这听起来可能不是很重要,但它是大数据应用的一个重要驱动力。原因在于大数据的关键是分布式计算,而且网络利用率比单服务器单片集成实现的情况高得多。在分布式计算中,数据负载和中间计算结果在网络上传输。因此,网络带宽成为总体解决方案的节流代理,并且取决于基础设施策略的主要方面的选择。糟糕的设计方法有时会导致网络阻塞,其中数据在处理上花费的时间更少,而在通过网络或等待传输以供下一步执行所花费的时间更多。
安全架构:安全对于任何应用程序来说都是非常重要的。在大数据应用场景下,由于它的体量和多样性,以及计算需要通过网络获取数据,因此安全就变得更加重要。安全对大数据基础设施具有关键性和战略性意义,云计算和存储选型这两方面进一步增加了未来对其需求的复杂性。