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

 

posted on 2016-03-29 17:57  laxcus  阅读(534)  评论(0编辑  收藏  举报