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. js和.net操作Cookie遇到的问题

    Cookie初探1.我理解中的Cookie1.1.Cookie存储位置是客户端的1.2.Cookie存储数据,数据大小也是有限制的 2.Cookie的用法2.1.js对Cookie的操作(网上很多我就 ...

  2. 【题解】洛谷P3627 [APIO2009]抢掠计划(缩点+SPFA)

    洛谷P3627:https://www.luogu.org/problemnew/show/P3627 思路 由于有强连通分量 所以我们可以想到先把整个图缩点 缩点完之后再建一次图 把点权改为边权 并 ...

  3. Struts2知识点小结(四)--拦截器与注解开发

    一.Struts2的拦截器(interceptor) 作用:当请求进入struts2框架后(进入之前可以用filter进行拦截),想对请求进行拦截操作(功能增强.权限控制),需要拦截器组件 1.str ...

  4. Webpack Tapable原理详解

    directory - src - sim ---- 简单的模拟实现 - /.js$/ ---- 使用 代码已上传github, 地址 Detailed Webpack 就像一条生产线, 要经过一系列 ...

  5. 动态规划(一)POJ1163

    动态规划算法是比较实用的算法之一,结合实际问题能更好的熟悉这个算法 下面以POJ1163为例子 1. 首先是题目大意 :在给定的一个数字三角形中找到一条自上而下的路径,路径每一步只能左下或者右下,最后 ...

  6. 使用nginx对spring boot项目进行代理

    摘要:使用nginx对spring boot项目进行反向代理,并且使用轮询均衡负载策略 均衡负载与集群 集群和均衡都涉及到多个机器提供的服务的问题 不同点是,集群是互相通信.协同的的多个服务,服务之前 ...

  7. Redis安装与简单配置

    一.Redis介绍 1.redis是什么? remote dIctionary server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统.Redis提 ...

  8. Linux下安装google拼音输入法

    首先安装fcitx,前几天看了很多在ubuntu上能够使用的输入法,有人推荐是搜狗输入法,毕竟是国产嘛,但是会有意外发生,比如说安装之后会产生输入的字符乱码,是一堆看不懂的东西,我就是因为遇到了,然后 ...

  9. jQuery代码解释(基本语法)

    html中jquery的以下用法 求解: var header = {}; header.ajaxCallComplete = false; header.login = false; header. ...

  10. 基于webSocket的聊天室

    前言 不知大家在平时的需求中有没有遇到需要实时处理信息的情况,如站内信,订阅,聊天之类的.在这之前我们通常想到的方法一般都是采用轮训的方式每隔一定的时间向服务器发送请求从而获得最新的数据,但这样会浪费 ...