Laxcus大数据管理系统2.0(13)- 总结

总结

  以上从多个角度阐述了Laxcus主要组成部分和应用情况。所有设计都是基于现实环境下的评估、对比、测试和考量。设计的基本思路很明确,就是将各项功能分解、细化、归类,形成一个个可以独立、小的模块,每个模块承担一项职能,再把这些模块组织起来,在一个松耦合框架管理下,协同合作,来完成大规模的数据存储和计算工作。

  设计中的主要问题源自有限的基础设施和变化中的应用需求之间的矛盾。如何在不损失处理性能的前提下,将有限的基础设施资源利用率做到最大化,是设计考虑的重点。这也是一个和硬件密切相关的问题。

  在核定系统设计目标时,我们面临多种选择。大多数情况下,没有鱼和熊掌兼得的可能,只能二选一做出取舍。考虑到系统虽然经过很多简化处理,但是为了满足需求,仍然存在太多环节,加之这些环节之间各种关联导致的复杂性,我们将稳定、可靠、“大”这三项指标放在首位,其它指标则做为次要需求放在后面。所以,从这一点来说,Laxcus虽然能够管理百万级的计算机节点,实现了EB级的数据存储计算能力,也提供了基于内存的快速数据处理解决方案,但并不是一个为追求“快”而设计的大数据系统。

  现在再回过头,根据我们的经历,来看一个我们组织实施并投入运营的集群基本配置情况:拥有从数百台到千台左右规模的计算机,采用X86架构的32/64位芯片,每台计算机配置2 - 8G的内存,2 - 4TB储量的温彻斯特硬盘。计算机被部署在多个机架上,采用千兆的光纤网络,通过多台交换机实现连接。不同的时段内,会有数百到数万个用户,每个用户并发多个任务使用着这个集群。

  可以看到,在这样的网络环境中,每台计算机能够分到的带宽并不多,考虑到Laxcus是多用户系统,每个用户又并行执行多个任务,实际分配给每个任务的带宽就更低。集群在执行正常的数据处理业务之外,还有大量辅助业务也要通过网络传输数据,如果把全部数据用量统计起来,这样的带宽很容易发生超载现象,而集群运行也严重依赖着网络通信,这部分的带宽资源是不能够被挤占的。所以,如何节约数据处理过程中的各种存储和计算开销就变得非常关键。

  节约的一个办法是杜绝冗余数据。

  冗余数据主要产生在数据生成阶段,预防手段也很简单:对数据进行精确的筛选和抓取。这就涉及到存储方案的设计。

  为了适应不同业务需要,我们设计了行/列两个存储模型。存储模型的最小存储单位是列。在列这个层面上,数据可以随意地组织、置换和计算,在保证灵活性的同时不失其精准性。与之相关的,把SQL融入分布描述语言,与分布环境结合具有一举多得之效。比如借助Where子句的多条件组合查询能力,通过SELECT语句将其分散作用到数据存取层面后,以列为单位的检索结果可以直接在计算机生成,从而避免了冗余数据在网络上传输。这种数据处理方案,非常符合分布环境下在数据源位置进行计算的原则。即以移动计算代替移动数据计算的原则。

  节约原则还体现在对数据格式的原始定义上。

  Laxcus设计规定,数值统一采用二进制格式表述。比如一个整型值,二进制格式固定为4个字节,如果换作字符串表述再加上符号位,最大将达到11个字节。这就使得二进制数值无论是在磁盘和内存里存储,还是在网络上传输,数据量都比其它格式要少。而且因为数值的长度固定,当进入CPU层面进行处理时,不需要转换数据类型,就能够被CPU识别和计算,比如C语言就可以通过指针可以直接引用。这在执行数据密集的计算任务时,能够显著提高计算效率。

  FIXP协议也是体现二进制优势的又一个例证。在网络通信中,基于UDP传输的监控包占了很大比例,因为二进制使得FIXP包的数据长度相对较小,通常都小于一个IP包的长度,也低于链路层对数据包的尺寸限制。这样的结果使得FIXP包能够被直接传输,避免了在网络两端对数据包进行的分组和重组操作。这个小小的改进使得FIXP协议的丢包率大为减少,不可靠的UDP通信成功率大为增加,获得了更高的通信稳定性。

  设计中另外着力考虑的是网络环境下数据计算面临的诸多问题。

  数据块成为解决这些问题的关键。

  如第3章所述,数据块的基本特点是长度固定。只此一点,就避免了磁盘碎片和减轻了数据维护的难度。也是因为这个原因,使得数据在网络间的传播极为简单,为网络环境下的数据备份和负载平衡奠定了基础。同时,把对磁盘影响最大的写操作转移到内存执行,以空间换时间的手法,将磁盘的写操作延迟降到最低,使磁盘更专注于读操作。更进一步,通过引入数据优化和数据构建,使得用户更能够按照自己的意愿组织和检索数据。表现在磁盘上,直接的反映就是减少了读操作次数。这些都对改善磁盘处理性能、提高数据计算效率甚为重要。

  在数据块之外,最需要提及的当属Diffuse/Converge算法,这是整个网络计算的核心。算法将网络计算过程分为两个步骤:Diffuse向网络上查找数据后进行分配,Converge在已经分配的数据的基础上,对数据进行再组织和再分配,数据的每一次的输出做为下一次的输入,通过数次迭代得出计算结果。围绕着Diffuse/Converge算法,又进行了一系列的配套设计。通过将系统和用户功能的分离,用户实现网络计算接口可派生编程,系统实现热发布、任务调度,模平均分配数据,任务命名,Conduct语句,使得这些模块在其中各司其职,运行时组织起来,形成从终端到数据存储层面,一个完整的网络计算体系。在保持了简单和易用性的同时,也实现了大规模数据并行计算的目的。

  冗灾处理也纳入了网络计算体系中。因为具有弱中心化管理和故障主动判断的能力,系统能够在很短时间内感知到故障的存在,并主动回避故障源。对于故障节点,系统一旦确定就会将其隔离,不会再出现在集群里,同时采用数据冗余和再恢复的办法,保护正常的数据处理业务。

  另外,在许多技术细节上,也进行了优化处理。比如在执行底层计算时,针对数据密集的这个特点,加入X86架构的SSE指令后,能够使计算效率取得成倍的增长。或者在计算中使用更多的加、减、移位指令,取代乘、除指令,也能够达到减少指令计算周期、提高计算效率的目的。还有一个更直接的手段是采用64位的CPU,根据测试统计,经过LINUX GCC64位编译器编译的C/C++语言代码,在执行密集型数据计算时,效率比32位代码普遍提高15%-20%。

  对于未来,应该根据集群和数据处理业务的具体特点,选择合适的软硬件组合。如文章开篇所言,集群计算不在意个体计算单元性能的强弱,它是把众多且分散的计算单元通过网络组织起来,以协同工作的方式,取代那些单一但性能强大的集中计算。这种以多胜强特点,为实现低成本的计算业务带来福音。这种情况,在数据中心表现尤其明显。在现在的数据中心内部,计算机和维持计算机运行的制冷设备,它们消耗的电量非常庞大。如果采用移动架构的硬件设备,不单计算机能耗会显著下降,计算机体积缩小,单位空间内的计算机布署数量增加,制冷的需求也会大幅降低。这样的基础设施被部署到数据中心后,将直接降低数据的运营成本。其所产生的影响,正如PC架构取代了当年的小型机一样,现在移动架构取代PC架构已经露出峥嵘之势。在强调总体拥有成本(TCO)的今天,配合大数据的到来,将掀起一场新的数据计算革命。

  这可能不是一个太漫长的过程,这里面还有许多工作要做。

  现在只是刚刚开始。

时间: 2024-10-12 04:36:54

Laxcus大数据管理系统2.0(13)- 总结的相关文章

Laxcus大数据管理系统2.0(10)- 第八章 安全

第八章 安全 由于安全问题对大数据系统乃至当前社会的重要性,我们在Laxcus 2.0版本实现了全体系的安全管理策略.同时我们也考虑到系统的不同环节对安全管理的需求是不一样的,所以有选择地做了不同的安全设计和处理.图8是Laxcus安全管理架构,首先使用SHA1签名获得基本确认,然后在FIXP网络层面,数据通信采用RSA加密,后面分别是对称加密.系统安全策略.签名.用户安全策略.SHA1是一种数字签名,可以保证网络间传输的内容正确性,RSA是目前安全度最高的加密手段,对称加密则次之,系统安全策略

Laxcus大数据管理系统2.0(9)- 第七章 分布任务组件

第七章 分布任务组件 Laxcus 2.0版本的分布任务组件,是在1.x版本的基础上,重新整合中间件和分布计算技术,按照新增加的功能,设计的一套新的.分布状态下运行的数据计算组件和数据构建组件,以及依此建立的新的运行框架.操作管理规范.API接口等. 新分布任务组件的改变主要体现在数据处理能力方面.经过重新调整后的运行架构,原来因为架构问题受到的诸多限制被全部取消,分布任务组件可以随着集群的不断扩充,同步提供无限制的数据处理能力.这足以满足我们当前以及未来相当长一段时间内,对各种大规模数据处理业

Laxcus大数据管理系统2.0(8)- 第六章 网络通信

第六章 网络通信 Laxcus大数据管理系统网络建立在TCP/IP网络之上,从2.0版本开始,同时支持IPv4和IPv6两种网络地址.网络通信是Laxcus体系里最基础和重要的一环,为了能够利用有限的网络资源,获得最大化的使用效率,我们根据大数据网络环境的特点,设计了一套专属网络通信协议,以及在此协议基础上实现的多套网络通信方案,它们共同组成了Laxcus集群的网络通信基础.本章将以TCP/IP协议为起点,介绍与网络通信有关的各个组成部分. 6.1 FIXP协议 Laxcus采用FIXP协议通信

Laxcus大数据管理系统2.0(14)- 后记

后记 Laxcus最早源于一个失败的搜索引擎项目,项目最后虽然终止了,但是项目中的部分技术,包括FIXP协议.Diffuse/Converge算法.以及很多新的数据处理理念却得以保留下来,这些成为后来研发Laxcus的基础.此后又经历过一些海量数据处理项目,因为时代和行业的变化,用关系数据库做底层存取已经越来越无法满足不断扩张的业务需要,于是希望改用能够支持海量数据处理的软件,然后在其之上结合实际应用做进一步整合.项目完成后,在推广和使用中遇到了很多阻碍.这里面除了产品本身的一些问题外,更多的困

Laxcus大数据管理系统2.0(12)- 第十章 运行

第十章 运行 本章将介绍一些Laxcus集群基本运行.使用情况,结合图片和表格表示.地点是我们的大数据实验室,使用我们的实验集群.数据来自于我们的合作伙伴,软件平台混合了Windows和Fedora Linux两个操作系统,硬件因为一直以来的测试需要,显得参差不齐,从10年前的旧机器到今天最新的设备都有.这样的环境虽然不足以反映目前商业运营的集群现实状况,但是在反映Laxcus集群和集群基础硬件性能参数时,仍然具有一定的代表性.为了更好反映测试结果,我们将多用户多集群的Laxcus部署成单用户单

Laxcus大数据管理系统2.0(11)- 第九章 容错

第九章 容错 在当前,由于集群庞大的组织体系和复杂性,以及用户普遍要求低成本硬件,使得集群在运行过程中发生的错误概率,远远高于单一且性能稳定的小型机服务器,并且集群在运行过程中几乎是不允许停止的,这就更需要提供比单机环境复杂得多的错误管理方案.实际上,我们在产品设计.开发.运营的各个阶段,有相当大一部分精力,都是用来获取各种故障,和解决各种故障发生后的错误处理问题.对于这些错误处理,我们整体遵循这样一个思路来解决:首先由软件感知来发现和定位故障点,然后进行判断,如果属于软件可以解决的故障,那么通

Laxcus大数据管理系统单机集群版

Laxcus大数据管理系统是我们Laxcus大数据实验室历时5年,全体系全功能设计研发的大数据产品,目前的最新版本是2.1版本.从三年前的1.0版本开始,Laxcus大数据系统投入到多个大数据和云计算项目中使用.2.0版本的Laxcus大数据管理系统,已经从紧耦合架构转为松耦合架构,整合了最新的大数据和关系数据库的技术,实现了一站式数据处理,大幅度提高了并行处理能力,同时兼具易操作.易维护.运行稳定的特点,节点数和数据存储计算规模已经达到百万台级和EB量级.目前已经覆盖的技术包括:行列混合存储.

Laxcus大数据管理系统集群单机版

Laxcus大数据管理系统是我们Laxcus大数据实验室历时5年,全体系全功能设计研发的产品,目前已经发展到2.1版本,并投入到多个大数据和云计算项目中使用.Laxcus大数据管理系统采用松耦合架构,整合了大数据和关系数据库的技术,实现了一站式数据处理,具有易操作.易维护.运行稳定的特点,并行节点数和数据存储计算规模可以达到百万台级和EB量级.Laxcus大数据管理系统涉及的技术包括:行列混合存储.分布计算.数据构建(ETL).内存计算.网络通信.网络安全和数据安全.人机交互.冗灾管理.SQL.

Laxcus大数据管理系统(3)- 第一章 基础概述 1.2 产品特点

1.2 产品特点 Laxcus大数据管理系统运行在计算机集群上,特别强调软件对分布资源可随机增减的适应性.这种运行过程中数据动态波动和需要瞬时感知的特点,完全不同与传统的集中处理模式.这个特性衍生出一系列的新变化,需要重新审视产品的目标,设计新的架构,当我们把这些需求和定位综合起来,然后逐一分解归并后,最终形成与以往完全不同的结果. 1.2.1 以节点为单位的计算集群 在Laxcus设计里,节点是计算机集群的基本单位.相较与物理性质的计算机来说,节点是一个逻辑概念的单位.以一台实体计算机为例,在