v2.6

文档

Laxcus大数据管理系统

第一章 基础概述

第二章 数据组织

第三章 数据存储

第四章 数据计算

第五章 数据构建

第六章 网络通讯

第七章 网络通讯

第八章 安全

第九章 容错

第十章 运行

总结

后记

参考文献

  • 内容

后记

    Laxcus大数据管理系统最早源于一个不成功的搜索引擎项目,项目最后虽然终止了,但是项目中的部分技术,包括FIXP协议、Diffuse/Converge算法、以及许多新的数据处理理念却得以保留下来,这些成为后来研发Laxcus大数据管理系统的基础。此后又经历过一些海量数据处理项目,因为时代和行业的变化,以关系数据库为基础的数据处理方案,已经越来越无法满足不断扩张的业务需要,于是改用支持海量数据处理的软件,然后在其上结合实际应用做进一步整合。项目完成后,在推广和使用中遇到了很多阻碍。这里面除了产品本身的问题外,更多的困难来自于用户本身。当用户已经熟悉了关系数据库,习惯了SQL的数据表达方式,再让他们去适应一种新的数据产品和新的处理方式,其实是很难的一件事情。同时,用户普遍的想法是少花钱多办事,希望在即有硬件基础设施不变、不增加或者少增加成本的情况下,得到更大更强的数据处理能力。这些情况最终促使我们研发Laxcus大数据管理系统,并纳入初始设计中。在随后七年研发过程中,我们又逐步融入了更多新的技术和设计理念,陆续推出多个版本,一步步发展过来,成为今天这样一个完整和通用的大数据管理系统。

    Laxcus针对的是目前普遍存在的各种大规模数据处理,并着眼于未来的超大规模数据处理环境。为了实现易用性,设计中很重要的一项要求就是简约化的数据处理需求。这包括了更低成本的硬件、快速的布署、容易的维护、简单的开发和操作,使用户能够以轻松的心情完成大数据处理。所以在用户体现设计上,用户的感觉会更接近于数据库,而不是什么新的数据产品,并以此来达到减少用户学习压力,提高使用效率的目的。另外还有一项隐含但是非常重要的要素是:在我们的现实世界中,各种事物之间是存在“关系”的,数据的本质就是这种“事物”和“关系”的关联反映,从“关系”的角度去理解、组织、处理数据,更符合人们的思维习惯和定势。

    与当前很多大数据产品不一样的是,Laxcus大数据管理系统一开始就着力于实现下一代的大规模数据处理,要求在一套产品里做到大数据业务的全功能全体系的高度集成,在满足用户超大规模的数据存储和计算需求的同时,还要提供接口化的编程模型,并保持轻量级的管理维护模式和易操作性,这些基本需求最终促使Laxcus大数据管理系统必须拥有自己的产品特点。

    所以,我们在系统设计中采用了松耦合架构和架构/功能一体化结合的设计方案,来提高内部结构集成度,减少开发和维护冗余成本,并保证在系统总体结构不变的情况下,为以后的产品迭代和版本升级,提供足够的扩展空间。

    在这个基础之上,Laxcus大数据管理系统又设计了实时映像来管理元数据信息,通过元信息在集群内的实时分发和映射,来实现各节点间的信息交互和联系。这些元信息在系统运行过程中产生,在网络之间传递,在内存里驻留,不进入磁盘,被不定时地被刷新,总是保证处于最新状态。且它的数据尺寸极小,不会对运行环境构成压力,能够保证分布状态下实时的数据追踪和数据处理。

    Diffuse/Converge网络计算算法在Laxcus体系中占有很重要的位置,这是实现分布环境下的大规模并行计算的关键。目前已经实现抽象和模块化处理,用户只需要通过简单调用API接口,就可以很容易实现大规模分布处理。在减轻了开发者工作的同时,也减少了运行中出错的机率。

    分布计算过程中的数据量平均分配的问题也得到妥善解决。分布环境里的数据被均匀分配后,得到的结果就是处理时间的基本一致,可以让每一个用户快速脱离计算环境,将计算机资源留给后续业务,这对保证集群高效处理来说十分关键。另外,在分布体系里,各节点上的数据分配采用“拉(pull)”,而不是“推(push)”的处理方式,也是简化数据处理流程,保证分布计算平衡性非常重要的一条准则。

    分布任务组件技术是在总结目前各种中间件技术之上,进行的改进和提升。通过在分布任务组件中引入中间件技术和集群概念,结合Diffuse/Converge算法的接口化,规范好不同阶段的功能和处理要求,再加上打包、发布等手段,我们很好地解决了用户二次开发中的学习成本、开发成本、部署成本的问题。在保证系统稳定、可靠、安全运行的同时,为用户提供了简单的开发环境,实现了快速开发目的,把用户的编程和运行中可能产生的错误降到很低的水平。

    目前,以分布任务组件为基础,我们已经和合作伙伴一起,设计和开发了大量的大数据应用,正服务在各行业的大数据应用场景中。

    随着时代的变迁,数据处理行业的很多基本需求已经发生变化,为适应这些改变,我们在Laxcus大数据管理系统里也融入了很多新的功能。如借助分布锁实现了事务和有序的分布处理;为了提高集群数据资源的使用效率,我们开放了用户间的数据有限授权共享机制;通过数据处理过程中的去中心化,避免数据处理出现不一致现象;强化安全管理机制,使安全管理深度介入到系统的每一个层面,来保证用户使用和数据的安全;考虑到各行业数据业务的不同需求,为了增加产品的灵活性,我们向第三方开放系统层编程接口,使集群管理者和软件开发者能够拥有定制系统级业务的能力。另外创新性地提出和实现了可调CAP策略,从而在一套系统里满足高并发和高可靠性两种主流数据业务需求;

    在这些变化之外,部分数据管理中的关键基础概念则被我们顽强地保留下来,并被赋予了新的含义。

    譬如索引技术。在Laxcus大数据管理系统体系里,索引是分布网络环境中的关键环节,被设计成允许自定义和自解释的松散格式,是实现资源快速分配和实时数据计算的基本手段。其中一些技术融入到元数据中,用来实现了集群的分布资源定位,另一部分被运用在数据存储模型上,使每一列数据都能实时反应在集群运行管理环境里。

    和数据索引情况类似,基于对“关系”这个重要指标的考量,我们在设计大数据存储子系统时,同时引入了行存储和列存储两种存储模型,实现了硬盘层面的数据混合存储。其中行存储基本是延续了关系数据库的方案,只是因为需要与分布环境兼容的原因,在某些细节上,对数据结构做了小幅度的修改。列存储则做了大量的技术创新。它的设计即有传统列存储的特点,又引进了Key/Value存储模型的一些技术。在输出接口上,还与行存储数据结构保持一致。并且为了实现更快的IO速度,实际上还取消了数据检索时普遍采用的“索引”这个中间过程,同时做到减少数据存储量和提高检索效率两个关键指标。在数据计算时,行/列存储模型按照指令要求在存储层面执行多种逻辑关系的复合检索,数据能够以列为单位,执行任意样式的数据分割和数据组合,最大限度减少输出时的冗余数据。另外,我们还在Laxcus大数据管理系统里延续了数据库的组织体系结构;统筹全网数据实现资源实时分配;用多集群并行提高数据存储和计算效率;数据格式全部采用二进制制式存储和计算;支持多语种混合操作,覆盖全球各国主流语言;开放Invoke/Produce接口,允许系统用户制订系统级业务。这些措施在实际应用中都是非常重要的。

回到顶部

联系方式

  • 服务电话 15210289253
  • 联系邮箱 laxcus@163.com
  • 版权所有 Laxcus大数据实验室    京ICP备17069115号

更多资讯请关注官方公众号