LAXCUS兼容行存储(NSM)和列存储(DSM)两种数据模型,实现了混合存储。同时在分布环境里,做到将数据的分发和备份自动处理,这样就不再需要人工干预了。

    行存储,为了兼容广大用户对关系数据库的需求,结构上还是原来的样子,没有变化。列存储,因为是近年才流行起来的一种存储模型,以前应用得少,大家的了解不多,所以这里主要讲一讲列存储和比较两种存储模型的优缺点。



    先看下图,比较一下行/列两种存储结构的差异。



   图左侧是行存储模型,每一行由不同属性的列值组成,数据是从左到右、从上到下的排列,形成行与行连接的布局。图右侧是列存储模型,同列的数据被组织到一起,成为集合,数据是从上向下、从左到右的排列,形成列集合与列集合连接的布局。



下面说说列存储的优点:

(1) 压缩

    从列存储的图上可以看出,列存储是把每个列的数据聚集在一起,这种存储格式就给同质数据的压缩提供了条件。举个例子,在"Title"这一列中,如果有100个"LAXCUS"的词条。行存储做法是,把"LAXCUS"写到每一行的"Title"列里,磁盘里将出现100个"LAXCUS"的词条。在列存储中,这个工作可以这样做:在"Title"前面加一个计数器,每增加一个“LAXCUS”,计数器加1,累计增加100次,而数据本身不需要改变。两者相比,行存储需要的存储空间是列存储的100倍,列存储避免了数据重复的现象,这样就极大地压缩了存储空间。



(2) 索引

    在行存储,索引需要在行数据之外开辟一块存储空间,索引和数据是分开的。当检索数据的时候,首先要找到索引,然后才能定位到数据。我们经常使用的"CREATE INDEX"语句就是建立这样的映射关系。而在列存储中,索引和数据的实质是一个数据。也就是说,当我们检索数据的时候,找到索引的同时,也找到了数据。这样的结果就是:与行存储相比,列存储省略了索引空间,检索时效率也比行存储高。



LAXCUS对数据存储的优化的更多相关文章

  1. Redis数据结构(一)-Redis的数据存储及String类型的实现

    1 引言 Redis作为基于内存的非关系型的K-V数据库.因读写响应快速.原子操作.提供了多种数据类型String.List.Hash.Set.Sorted Set.在项目中有着广泛的使用,今天我们来 ...

  2. 移动互联网实战--资源类APP的数据存储处理和优化

    前言: 对于资源类的APP, 其音频/图形占据了APP本身很大的比例. 如何存储和管理这些资源文件, 成了一个颇具挑战性的难点. 移动端的碎片化, 高中低端手机的并存, 需要开发者不光是具备基础的存储 ...

  3. ByteArrary(优化数据存储和数据流)

    原地址:http://www.unity蛮牛.com/blog-1801-799.html 首页 博客 相册 主题 留言板 个人资料   ByteArrary(优化数据存储和数据流) 分类:unity ...

  4. 性能优化之数据存储&DOM编程

    多读书多看报 数据存储 ·在javascript中,数据存储的位置会对代码整体性能产生重大的影响. ·数据存储共有4种方式:字面量.变量.数组.对象成员.   ·要理解变量的访问速度,就要理解作用域. ...

  5. Redis数据存储优化机制(转)

    原文:Redis学习笔记4--Redis数据存储优化机制 1.zipmap优化hash: 前面谈到将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象.省内存的原因是新建一个h ...

  6. TI C6000 数据存储处理与性能优化

    存储器之于CPU好比仓库之于车间.车间加工过程中的原材料.半成品.成品等均需入出仓库,生产效率再快,如果仓库周转不善,也必然造成生产阻塞.如同仓库需要合理地规划管理一般,数据存储也需要恰当的处理技巧来 ...

  7. Laxcus大数据管理系统2.0(5)- 第三章 数据存取

    第三章 数据存取 当前的很多大数据处理工作,一次计算产生几十个GB.或者几十个TB的数据已是正常现象,驱动数百.数千.甚至上万个计算机节点并行运行也已经不足为奇.但是在数据处理的后面,对于这种在网络间 ...

  8. 三分钟部署Laxcus大数据管理系统

    Laxcus是Laxcus大数据实验室历时五年,全体系自主设计研发的国内首套大数据管理系统.能够支撑百万台级计算机节点,提供EB量级存储和计算能力,兼容SQL和关系数据库.最新的2.x版本已经实现对当 ...

  9. Laxcus大数据管理系统2.0(13)- 总结

    总结 以上从多个角度阐述了Laxcus主要组成部分和应用情况.所有设计都是基于现实环境下的评估.对比.测试和考量.设计的基本思路很明确,就是将各项功能分解.细化.归类,形成一个个可以独立.小的模块,每 ...

随机推荐

  1. 数字图像处理学习笔记之一 DIP绪论与MATLAB基础

    写在前面的话 数字图像处理系列的学习笔记是作者结合上海大学计算机学院<数字图像处理>课程的学习所做的笔记,使用参考书籍为<冈萨雷斯数字图像处理(第二版)(MATLAB版)>,同 ...

  2. windows mklink

    https://blog.csdn.net/kilosnow/article/details/7179705 创建目录链接E:\>mklink /d c:\b d:\a为 c:\b <&l ...

  3. mysql获取汉字首字母函数

    DELIMITER ;;CREATE FUNCTION `GET_FIRST_PINYIN_CHAR`(PARAM VARCHAR(255)) RETURNS VARCHAR(2) CHARSET u ...

  4. [oracle]索引与索引表管理

    (一)索引的概念 索引是一种与表或簇相关的数据库对象,能够为数据的查询提供快捷的存取路径,减少磁盘I/O,提高检索效率. 索引由索引值及记录相应物理地址的ROWID两个部分构成,并按照索引值有序排列, ...

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

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

  6. Win10家庭版卸载Mysql 8.0.13实录

    因为重度嫌弃Mysql 8.0.xxx的各种妖魔鬼怪,所以想卸载了.但是,百度了很多文章,日期也是近几个月,但是却并不适用.所以特写此文记录一下. 按照百度万金油通用第一步,就是要停止MySQL的服务 ...

  7. ubuntu安装和常用软件推荐

    ubuntu安装和常用软件推荐(个人整理) 2016.08.22 17:29 13811浏览 字号 安装一套双系统,win10打游戏,ubuntu开发,win10放机械,ubuntu放固态,电脑联想i ...

  8. solr6.6教程-core的添加(二)

    1.什么是core core是solr的一个索引库,可以理解为一个数据库,core可以根据需要,创建多个. 2.创建core 首先进入到solrhome文件夹(D:\solrhome),创建一个文件夹 ...

  9. lvs集群实现lvs-dr模型和lvs-nat模型

    ipvsadm ipvsadm命令是lvs集群在应用层的管理工具,我们可以通过此ipvsadm来管理lvs的配置,其实现了集群服务管理:增.删.改,集群服务的RS管理:增.删.改以及查看集群状态. 管 ...

  10. Asp.net 自定义CustomerSession 存放到Redis中

    首先,引用 Redis 操作驱动组件:StackExchange.Redis.dll. 继承SessionStateStoreProviderBase 类, 实现方法: using System; u ...