后记

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

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

  因此,与当下很多大数据产品不一样的是,Laxcus一开始就着力于实现下一代的大规模数据处理,要求在一个产品里做到大数据功能的全体系集成,提供超大规模的存储和计算能力,轻量化的管理和易操作性,所有这些都促使其本身有着很多属于自己的特点。

  比如,Laxcus使用实时映像系统来管理元信息,进行元信息的动态实时映像,来实现集群节点间的数据交互。元信息在系统运行中产生,在网络之间传递,在内存里驻留,不会写入磁盘,被不定时地被刷新,总是保证处于最新状态。且因为它的数据量小,在运行过程中不会对运行环境构成什么影响,因此能够做到实时的数据追踪和数据处理。

  Diffuse/Converge网络计算算法在Laxcus体系中占有很重要的位置,这是实现分布环境下的大规模并行计算的关键。目前已经实现了抽象和模块化处理,用户只需要调用API接口,就可以很容易地得到分布的、大型数据的处理能力。在减轻了开发者工作的同时,也减少了运行中出错的机率。除非对算法运行机理本身有兴趣,可以直接去看源代码。

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

  目前在Diffuse/Converge算法接口的基础上,已经提供了多种分布计算工作,其中包括嵌套检索(SUB SELECT)和连接(JOIN)服务。

  在Laxcus体系中,索引的概念保留下来,被赋予新的含义。其中一部分融入到元数据中,实现了集群环境下的快速的数据定位,另一部分运用在数据存储模型中。

  基于对“关系”的这项重要指标的考量,Laxcus同时采纳了行/列两种存储模型。行存储基本是延续了关系数据库的即有方案。列存储则进行了大的改进,实际上取消了索引这个在数据检索时的中间环节,达到了减少了数据存量和提高检索效率的目的。在数据计算时,行/列存储按照指令要求在存储层面进行多种逻辑关系的复合检索处理,数据能够以列为单位自由分割组合,最大限度减少输出时的冗余数据。还有,Laxcus通过以多集群的协同并行工作方式来提高存储计算数量、数据格式全部采用二进制提高计算效率、延续了数据库的组织体系结构、实时的全网数据处理,这些在实际应用中都是非常重要的。

Laxcus大数据管理系统2.0(14)- 后记的更多相关文章

  1. Laxcus大数据管理系统2.0 (1) - 摘要和目录

    Laxcus大数据管理系统 (version 2.0) Laxcus大数据实验室 摘要 Laxcus是Laxcus大数据实验室全体系全功能设计研发的多用户多集群大数据管理系统,支持一到百万台级节点,提 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. js 日期时间比较

    js时间日期比较 <script type="text/javascript"> //begin > end 返回True function comptime(b ...

  2. Python基础教程【读书笔记】 - 2016/7/4

    希望通过博客园持续的更新,分享和记录Python基础知识到高级应用的点点滴滴! 第二波:第7章  更加抽象 [总览] 创建自己的对象,是Python的核心概念!Python被称为面向对象的语言.介绍如 ...

  3. css 默认

    先写全局的样式 body { margin:0 auto; font-size:12px; font-family:Verdana; line-height:1.5;} ul,dl,dd,h1,h2, ...

  4. PLSQL_Oracle Object所有数据库对象类型汇总和简解(概念)

    Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable ...

  5. NeHe OpenGL教程 第四十一课:体积雾气

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  6. python(14)类,方法,对象,实例

    类: 简单来说就是一个函数的集合,在这个集合里面你定义了很多个函数: 方法:其实就是你定义的这些函数. 对象:简单来说就是自身具有多个属性(也可以说是子变量)的变量而已. 在下面的例子中class P ...

  7. PopuWindow_1

    PopupWindow有点类似于Dialog,相同点在于都是弹出窗口,并且都可以对其进行自定义显示,并且里面的监听组件,进行相应的操作, 但它与Dialog又有很大的区别,PopupWindow只是弹 ...

  8. JAVA 下拉列表和滚动条

    //下拉列表和滚动条 import java.awt.*; import javax.swing.*; public class Jiemian7 extends JFrame{ JPanel mb1 ...

  9. StringIO 模块用于在内存缓冲区中读写数据

    模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中.此类中的大部分函数都与对文件的操作方法类似. 例: #coding=gbk import StringIO s=StringIO ...

  10. linux free命令(转载)

    来源:http://www.cnblogs.com/peida/archive/2012/12/25/2831814.html free命令可以显示Linux系统中空闲的.已用的物理内存及swap内存 ...