Laxcus大数据管理系统

(version 2.0)

Laxcus大数据实验室

摘要

  Laxcus是Laxcus大数据实验室全体系全功能设计研发的多用户多集群大数据管理系统,支持一到百万台级节点,提供零至EB量级数据存储、计算服务,集运行、开发、部署、维护为一体的平台。

  这是一个全新的产品,是在搜索引擎架构基础上,针对大数据特点,整合了数据库和中间件技术,又融入大量新的元素,逐渐演变发展而来,并经历多次修改提炼完善而成。在人机界面上,它与关系数据库系统保持了高度的兼容和一致,实现了一站式的数据处理,和与关系数据库的无缝对接。在技术上,是全体系自主设计,自主开发,全功能实现,拥有全部知识产权。现在的主要技术部分包括:网络的通信与管理、分布环境下的数据存储、计算和组织、灾难冗余和容错、安全策略、人机交互接口、可编程分布任务组件等。Laxcus采用Java/C++语言编写,支持多模式数据混合存储。用户以远程登录的方式接入系统,使用分布描述语言进行操作。Laxcus运行在普通硬件设备上,涵盖Linux/Windows系统平台。产品部署使用简单快捷,开放源代码,遵循LGPL协议。

  本文所述为Laxcus 2.0版内容。这个版本是在1.x版本基础上,总结此前系统运营过程中发现的问题和不足,进行大量综合性改进和深度优化的结果。新旧版本比较,对磁盘数据存取、网络传输、分布计算、负载控制、安全管理、冗灾冗余、流式处理等多项关键功能做了大幅度修改,系统的稳定性、可靠性、运行效率也因此获得明显提高,目前已经通过环境考核测试。另外还进一步丰富了分布描述语言,完善了分布任务组件和应用编程接口等工作。这些改进能够使用户在使用Laxcus大数据管理系统,或者开发分布任务组件的时候,更加简单和容易操作。

关键字: 集群、节点、安全、存储模型、数据块、FIXP协议、分布描述语言、分布任务组件、DSM、NSM、Invoke/Produce、Diffuse/Converge、Scan/Sift、Marshal/Educe、RPC、SQL。

目录

第一章 基础概述..................................5

  1.1 基于现状的一些思考............................5

  1.2 产品特点.........................................7

    1.2.1 以节点为单位的计算集群........................7
    1.2.2 超大规模集群......................................7
    1.2.3 多用户共享.........................................8
    1.2.4 低成本的硬件设备.................................8
    1.2.5 弱中心化管理.......................................8
    1.2.6 松耦合架构和系统群...............................9
    1.2.7 命令驱动的数据处理模式.........................9
    1.2.8 任务调度模型.......................................9
    1.2.9 负载自适应控制...................................10
    1.2.10 以大规模的读操作为主,兼顾少量的写操作.10
    1.2.11 数据存储方案....................................11
    1.2.12 流式处理..........................................11    

    1.2.13 即时存取..........................................11
    1.2.14 支持事务..........................................12
    1.2.15 命名...............................................12
    1.2.16 安全...............................................12
    1.2.17 分布任务组件....................................12
    1.2.18 人机交互语言....................................13

  1.3 节点..............................................13

    1.3.1 Top节点............................................14
    1.3.2 Home节点.........................................15
    1.3.3 Task节点...........................................15
    1.3.4 Log节点............................................15
    1.3.5 Data节点...........................................16
    1.3.6 Work节点..........................................16
    1.3.7 Build节点...........................................16
    1.3.8 Call节点.............................................16
    1.3.9 Aid节点.............................................17
    1.3.10 Front节点........................................17
    1.3.11 Watch节点.......................................18

第二章 数据组织..................................19

  2.1 基础..........................................................19

  2.2 数据类型....................................................21

  2.3 全局数据库.................................................22

  2.4 跨数据库操作..............................................22

  2.5 固定表......................................................22

  2.6 取消视图...................................................24

  2.7 带Where子句的Select检索..........................24

  2.8 数组列的压缩和加密.....................................24

  2.9 事务.........................................................25

  2.10 分布描述语言...........................................26

    2.10.1 三层结构模型...................................26
    2.10.2 命令分类........................................27
    2.10.3 自定义参数.....................................28

第三章 数据存取................................29

  3.1 数据块.........................................29

  3.2 存储模型.....................................30

  3.3 行级锁........................................31

  3.4 元数据........................................31

  3.5 内存计算.....................................32

  3.6 快照和备份...................................32

  3.7 完整性检查...................................33

  3.8 提高数据处理效率的一些措施.............33

  3.9 主块冲突.....................................33

  3.10 数据负载检测..............................33

第四章 数据计算...............................34

  4.1 Diffuse/Converge算法.................34

  4.2 数据计算过程中的数据平均分配问题.....35

第五章 数据构建...............................36

  5.1 数据优化......................................36

  5.2 数据重组.....................................37

    5.2.1 Scan/Sift算法................................38
    5.2.2 Marshal/Educe接口.........................39

第六章 网络通信...............................39

  6.1 FIXP协议....................................40

    6.1.1 协议结构......................................40
    6.1.2 命令结构......................................40
    6.1.3 消息结构......................................41

  6.2 通信方案......................................41

    6.2.1 TCP通信......................................41
    6.2.2 UDP通信......................................41
    6.2.3 KEEP UDP通信..............................41
    6.2.4 RPC通信......................................42

  6.3 通信检测...................................42

  6.4 通信服务器................................42

  6.5 全局时间...................................42

  6.6 流量控制...................................43

第七章 分布任务组件........................43

  7.1 阶段命名...................................44

  7.2. 数据计算和Conduct命令.............44

    7.2.1 Init阶段......................................44
    7.2.2 From阶段...................................44
    7.2.3 To阶段.......................................45
    7.2.4 Balance阶段................................45
    7.2.5 Put阶段......................................45

  7.3 数据构建和Establish命令...............45

    7.3.1 Issue阶段...................................45
    7.3.2 Scan阶段....................................46
    7.3.3 Assign阶段.................................46
    7.3.4 Sift阶段......................................46
    7.3.5 Each阶段....................................46
    7.3.6 Rise阶段.....................................46
    7.3.7 End阶段.....................................47

  7.4 打包........................................47

  7.5 发布........................................48

  7.6 分区........................................48

  7.7 数据平衡..................................48

  7.8  内存模式.................................49

第八章 安全.................................49

  8.1 环境安全..................................50

  8.2 通信安全.................................51

  8.3 节点准入制度............................51

  8.4 用户账号安全............................52

  8.5 用户权限管理............................52

  8.6 私有业务安全............................53

  8.7 分布任务组件安全.......................53

  8.8 数据块安全...............................54

  8.9 DSM/NSM安全........................54

第九章 容错.................................55

  9.1 硬件容错...................................55

    9.1.1 网络故障.....................................55
    9.1.2 计算机故障..................................55
    9.1.3 硬盘故障.....................................55

  9.2 节点容错...................................56

    9.2.1 管理节点容错...............................56
    9.2.2 Data节点容错..............................57
    9.2.3 集群内其它节点容错......................58

  9.3 数据容错...................................58

  9.4 分布任务组件容错........................58

  9.5 管理员责任................................59

第十章 运行..................................59

  10.1 配置.......................................59

  10.2 管理.......................................60

  10.3 元数据....................................62

  10.4 数据操作.................................64

  10.5 Sort Benchmark测试...............65

    10.5.1 排序测试....................................65
    10.5.2 排序分析....................................67
    10.5.3 排序优化....................................68

总结...........................................69

后记...........................................71

Laxcus大数据管理系统2.0 (1) - 摘要和目录的更多相关文章

  1. Laxcus大数据管理系统2.0(5)- 第二章 数据组织

    第二章 数据组织 在数据的组织结构设计上,Laxcus严格遵循数据和数据描述分离的原则,这个理念与关系数据库完全一致.在此基础上,为了保证大规模数据存取和计算的需要,我们设计了大量新的数据处理技术.同 ...

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

    第七章 分布任务组件 Laxcus 2.0版本的分布任务组件,是在1.x版本的基础上,重新整合中间件和分布计算技术,按照新增加的功能,设计的一套新的.分布状态下运行的数据计算组件和数据构建组件,以及依 ...

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

    第八章 安全 由于安全问题对大数据系统乃至当前社会的重要性,我们在Laxcus 2.0版本实现了全体系的安全管理策略.同时我们也考虑到系统的不同环节对安全管理的需求是不一样的,所以有选择地做了不同的安 ...

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

    第六章 网络通信 Laxcus大数据管理系统网络建立在TCP/IP网络之上,从2.0版本开始,同时支持IPv4和IPv6两种网络地址.网络通信是Laxcus体系里最基础和重要的一环,为了能够利用有限的 ...

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

    1.2 产品特点 Laxcus大数据管理系统运行在计算机集群上,特别强调软件对分布资源可随机增减的适应性.这种运行过程中数据动态波动和需要瞬时感知的特点,完全不同与传统的集中处理模式.这个特性衍生出一 ...

  6. Laxcus大数据管理系统2.0(6)- 第四章 数据计算

    第四章 数据计算 Laxcus所有数据计算工作都是通过网络实施.相较于集中计算,在网络间进行的数据计算更适合处理那些数据量大.复杂的.耗时长的计算任务.能够实施网络计算的前提是数据可以被分割,就是把一 ...

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

    后记 Laxcus最早源于一个失败的搜索引擎项目,项目最后虽然终止了,但是项目中的部分技术,包括FIXP协议.Diffuse/Converge算法.以及很多新的数据处理理念却得以保留下来,这些成为后来 ...

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

    第十章 运行 本章将介绍一些Laxcus集群基本运行.使用情况,结合图片和表格表示.地点是我们的大数据实验室,使用我们的实验集群.数据来自于我们的合作伙伴,软件平台混合了Windows和Fedora  ...

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

    第九章 容错 在当前,由于集群庞大的组织体系和复杂性,以及用户普遍要求低成本硬件,使得集群在运行过程中发生的错误概率,远远高于单一且性能稳定的小型机服务器,并且集群在运行过程中几乎是不允许停止的,这就 ...

随机推荐

  1. 【luogu P3410 拍照】 题解

    题目链接:https://www.luogu.org/problemnew/show/P3410 这个题就是求一个最大权闭合图 在一个图中,一些点构成一个集合,且集合中的出边指向的终点也在这个集合中, ...

  2. 关于In-App Purchase(内购)的注意事项

    前言:关于In-App Purchase(内购)的注意事项 一点注意事项: 内购应该有游客身份的购买选项,不然可能被拒,前一段时间我这边一直是因为没有游客身份购买被拒. 在验证内购结果的时候要注意使用 ...

  3. 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)(Finchley版本)

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f4-hystrix/ 本文出自方志朋的博客 在微服务架构中, ...

  4. 重写equals方法(未完)

    equals方法是我们日常编程中很常见的方法,Object中对这个方法的解释如下: boolean equals(Object obj) 指示其他某个对象是否与此对象“相等”. 查看该方法的底层代码如 ...

  5. OCiOS开发:CAGradientLayer 渐变色

    OCiOS开发:CAGradientLayer 渐变色 CAGradientLayer 简介 CAGradientLayer是CALayer图层类的子类,用于处理渐变色的层结构. CAGradient ...

  6. Swift 中关于”??”操作符

    Swift 中关于”??”操作符 Swift 的语法在保证安全和健壮的基础上,又带有很多非常灵活的特性,比如 ?? 操作符就是其中一个.大家可能已经了解它,也可能有些同学不了解它,这里给大家整理了关于 ...

  7. iOS之一些实用的Demo

    图像浏览及处理 FLAnimatedImage - gif播放处理的工具. CLImageEditor - 超强的图片编辑库,快速帮你实现旋转,防缩,滤镜等等一系列麻烦的事情. ios-image-f ...

  8. 使用缓存时出现java.io.NotSerializableException:xxx.xxx.xxx.Bean解决办法

    解决方案:   开发过程中如果想缓存某个JavaBean,请确保它所引用的对象都implents Serializable,如果某个对象不需要被cache,可以加上transient关键字,否则Ehc ...

  9. python 之函数

    一 函数的定义:对功能和动作的封装和定义.二 函数的格式:def 函数名(形参列表): 函数名就是变量名:规则就是变量的规则 函数体(return) ret = 函数名(实参列表)三 函数的返回值:函 ...

  10. Mybatis中多个参数的问题&&动态SQL&&查询结果与类的对应

    ### 1. 抽象方法中多个参数的问题 在使用MyBatis时,接口中的抽象方法只允许有1个参数,如果有多个参数,例如: Integer updatePassword( Integer id, Str ...