速度之王 — LZ4压缩算法(二)】的更多相关文章

LZ4 (Extremely Fast Compression algorithm) 项目:http://code.google.com/p/lz4/ 作者:Yann Collet 本文作者:zhangskd @ csdn blog LZ4格式 The compressed block is composed of sequences. 每个数据块可以压缩成若干个序列,格式如下: (1) literals length of literals. If it is 0, then there is…
LZ4 (Extremely Fast Compression algorithm) 项目:http://code.google.com/p/lz4/ 作者:Yann Collet 本文作者:zhangskd @ csdn blog 简介 LZ4 is a very fast lossless compression algorithm, providing compression speed at 400MB/s per core, scalable with multi-cores CPU.…
LZ4使用 make / make clean 得到可执行程序:lz4.lz4c Usage: ./lz4 [arg] [input] [output] input : a filename Arguments : -1 : Fast compression (default) -9: High compression -d : decompression (default for .lz4 extension) -z : force compression -f : overwrite out…
参考: http://www.slideshare.net/lucenerevolution/what-is-inaluceneagrandfinal http://www.slideshare.net/jpountz/how-does-lucene-store-your-data http://www.infoq.com/cn/articles/database-timestamp-02?utm_source=infoq&utm_medium=related_content_link&u…
前言 通常在搜索打分完毕后,IndexSearcher会返回一个docID序列,但是仅仅有docID我们是无法看到存储在索引中的document,这时候就需要通过docID来得到完整Document信息,这个过程就需要对fdx/fdt文件进行读操作.为了更清楚地了解fdx/fdt文件的作用,本文把fdx/fdt文件的读和写整合到了一起,尽管这在Lucene中是两个分开的过程. 1. 索引生成阶段 索引生成阶段包含着一个复杂的过程,所以了解本文前最好对Lucene的索引架构有一定的了解,可以参考博…
原文链接:  https://blog.csdn.net/njpjsoftdev/article/details/52955788 在介绍Druid架构之前,我们先结合有关OLAP的基本原理来理解Druid中的一些基本概念. 1 数据  以图3.1为例,结合我们在第一章中介绍的OLAP基本概念,按列的类型上述数据可以分成以下三类: 时间序列(Timestamp),Druid既是内存数据库,又是时间序列数据库,Druid中所有查询以及索引过程都和时间维度息息相关.Druid底层使用绝对毫秒数保存时…
为热更新打基础(xlua\tolua) 素材.源码链接:http://www.sikiedu.com/course/74/task/1812/show 一.AssetBundle的定义和作用 1,AssetBundle是一个压缩包包含模型.贴图.预制体.声音.甚至整个场景,可以在游戏运行的时候被加载: 2,AssetBundle自身保存着互相的依赖关系: 3,压缩包可以使用LZMA和LZ4压缩算法,减少包大小,更快的进行网络传输: 4,把一些可以下载内容放在AssetBundle里面,可以减少安…
 虚拟机安装NreeNAS-9.10步骤 需求:网络监控磁盘要扩容 测试环境: CPU 内存 系统盘 共享盘 网卡 2核 2G 20G 20G 桥接 系统版本:FreeNAS-9.10 一.配置虚拟机: 首先新建虚拟机,进入新建虚拟机向导,可选择"安装程序光盘映像文件”或“稍后安装操作系统”,我选择了后者 操作系统选择“其他”,版本选择FreeBSD 64位 设置虚拟机名称及安装位置. 创建虚拟机磁盘. 配置硬件. 分配内存和处理器,也可采用默认,网络连接模式改为“桥接模式”,选择需要安装的IS…
一 简介:MGR集群架构的调优二 过程:本文将从各个角度来具体阐述下三 硬件    1 硬件选择相同配置的服务器,磁盘,内存,cpu性能越高越好四 网络    1 0丢包和最好万兆网卡五 MGR本身   MGR本身需要非常好的网络情况,主要有以下几点需要  1 内部集群的心跳检测  2 写集合的广播和发送验证  3 binlog的内部传输六 相关优化参数   1 report_host 直接绑定真实IP,而非机器域名,减少DNS解析问题,还可以避免因为解析错误导致的集群本身问题   2 grou…
AssetBundle资源打包  1.AssetLabels资源标签 文件名:资源打包成AssetBundle后的文件名,类似于压缩包的名字 后缀:自定义 文件名和后缀名都是小写格式(大写会自动转为小写)2. BuildPipeline.BuildAssetBundles(string outputPath, BuildAssetBundleOptions assetBundleOptions, BuildTarget targetPlatform) 打包所有设置了AssetLabel的资源 o…
第一章. clickhouse入门 一.ClickHouse介绍 ClickHouse(开源)是一个面向列的数据库管理系统(DBMS),用于在线分析处理查询(OLAP). 关键词:开源.面向列.联机分析处理(OLAP) ClickHouse不仅查询速度快(相较于hive等类似的分析型DBMS),而且硬件使用效率.容错性.可靠性.易用性.线性扩展性等高. 1.1 ClickHouse的独特功能 真正的列式DBMS 除了数据本身外不应该存在其他额外的数据.这意味着为了避免在值旁边存储它们的长度“nu…
前言 最近项目上有大量的字符串数据需要存储到内存,并且需要储存至一定时间,于是自然而然的想到了使用字符串压缩算法对"源串"进行压缩存储.由此触发了对一些优秀压缩算法的调研. 字符串压缩,我们通常的需求有几个,一是高压缩率,二是压缩速率高,三是解压速率高.不过高压缩率与高压缩速率是鱼和熊掌的关系,不可皆得,优秀的算法一般也是采用压缩率与性能折中的方案.从压缩率.压缩速率.解压速率考虑,zstd与lz4有较好的压缩与解压性能,最终选取zstd与lz4进行调研. zstd是facebook开…
上一章:[Unity3D技术文档翻译]第1.8篇 AssetBundles 问题及解决方法 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Development]→[AssetBundles]→[Unity Asset Bundle Browser tool] Unity AssetBundle 浏览管理工具(Unity Asset Bundle Browser tool) 注意:这个工具是 Unity 标准功能之外的附加功能.想要使用…
上一章:[Unity3D技术文档翻译]第1.2篇 为打包 AssetBundles 准备资产 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Development]→[AssetBundles]→[Building AssetBundles] 创建 AssetBundles 在[AssetBundles 工作流]一节中,我们使用了一个有3个参数的方法:BuildPipeline.BuildAssetBundles.这一节我们更深入一点,…
本文目录:1.vpn概述 1.1 vpn应用场景 1.2 隧道协议 1.3 SSL VPN和IPSEC VPN2.openvpn搭建client-to-site的vpn 2.1 安装lzo和openvpn 2.2 创建CA和SSL证书 2.3 配置服务端 2.4 配置客户端 2.5 查看vpn的连接状态 2.6 让客户端和vpn所在内网通信 2.7 使用NAT让客户端和VPN所在内网通信3.使用密码拨号以及帐号吊销4.Linux主机上配置openvpn客户端 1.vpn概述 VPN(virtua…
tiKV 最底层使用的是 RocksDB(tidb3.0版本中将使用tian存储引擎) 做为持久化存储,所以 TiKV 的很多性能相关的参数都是与 RocksDB 相关的.TiKV 使用了两个 RocksDB 实例,默认 RocksDB 实例存储 KV 数据,Raft RocksDB 实例(简称 RaftDB)存储 Raft 数据. TiKV 使用了 RocksDB 的 Column Families (CF) 特性. 默认 RocksDB 实例将 KV 数据存储在内部的 default.wri…
导读 ZFS文件系统的英文名称为ZettabyteFileSystem,也叫动态文件系统(DynamicFileSystem),是第一个128位文件系统.最初是由Sun公司为Solaris10操作系统开发的文件系统.作为OpenSolaris开源计划的一部分,ZFS于2005年11月发布,被Sun称为是终极文件系统,经历了10年的活跃开发,而最新的开发将全面开放,并重新命名为OpenZFS. ZFS优势 ZFS是一种先进的.高度可扩展的文件系统,最初是由Sun Microsystems开发的,现…
Unity 3-7 AssetBundle从入门到掌握 任务1&2&3:课程介绍 AssetBundle -- 用于资源的更新 为了之后的xLua (Lua热更新的框架)打下基础 任务4&5:AssetBundle的定义和作用 AssetBundle的学习 -- 一手学习资源:UnityManual -> AssetBundles -> 教程式的文档 AssetBundle是一个压缩包(也可以认为是一个文件夹) 包含模型Model.贴图Texture.预制体Prefab…
修改SMB最小协议 服务器最小协议由FreeNAS上的sysctl控制. 在System-> Tunables 下添加sysctl来使其永久化:Variable = freenas.services.smb.config.server_min_protocol Value = NT1 Type = Sysctl Comment =“您想要的任何内容” 注意:一旦更改此值,应该在服务器 - > SMB的UI中切换“开”/“关”按钮或重新生成smb4.conf文件 sharing>windo…
原文链接   Deepgreen DB 全称 Vitesse Deepgreen DB,它是一个可扩展的大规模并行(通常称为MPP)数据仓库解决方案,起源于开源数据仓库项目Greenplum DB(通常称为GP或GPDB).所以已经熟悉了GP的朋友,可以无缝切换到Deepgreen.   它几乎拥有GP的所有功能,在保有GP所有优势的基础上,Deepgreen对原查询处理引擎进行了优化,新一代查询处理引擎扩展了: 优越的连接和聚合算法 新的溢出处理子系统 基于JIT的查询优化.矢量扫描和数据路径…
大家或许还记得 Quake III 里面的一段有如天书般的代码,其中用到的神秘常量 0x5F3759DF 究竟是怎么一回事,着实让不少人伤透了脑筋.今天,我见到了一段同样诡异的代码.     下面这个位运算小技巧可以迅速给出一个数的二进制表达中末尾有多少个 0 .比如, 123 456 的二进制表达是 1 11100010 01000000 ,因此这个程序给出的结果就是 6 . unsigned int v;  // find the number of trailing zeros in 32…
Deepgreen官网下载地址:http://vitessedata.com/products/deepgreen-db/download/ 不需要注册 Greenplum官网下载地址:https://network.pivotal.io/products/pivotal-gpdb/#/releases/118806/file_groups/1022 需要注册             Deepgreen DB 全称 Vitesse Deepgreen DB,它是一个可扩展的大规模并行(通常称为M…
一.什么是: MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算.概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性.它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上. 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键…
what is zram? Zram wiki zram zram(也称为 zRAM,先前称为 compcache)是 Linux 内核的一项功能,可提供虚拟内存压缩.zram 通过在 RAM 内的压缩块设备上分页,直到必须使用硬盘上的交换空间,以避免在磁盘上进行分页,从而提高性能.由于 zram 可以用内存替代硬盘为系统提供交换空间的功能,zram 可以在需要交换 / 分页时让 linux 更好利用 RAM ,在物理内存较少的旧电脑上尤其如此. 即使 RAM 的价格相对较低,zram 仍有利于…
在游戏开发中,常常需要用到热更新技术.比如:一个手机游戏开发好后,用户安装到手机上.如果此时我们要更新一个新的功能,如果没有热更新,那么需要用户卸载掉手机上的游戏,然后安装新的包,这样做十分麻烦,而且容易流失用户.这个时候就需要使用热更新技术,让用户在手机上下载新的游戏功能,不用重新下载就行了.下面使用的AssetBundle,严格意义上来说不算是热更新,但是,它也能减少初始包体的大小.比如我们开发一款棋牌游戏,最初的包体只放出了斗地主,在游戏中,如果玩家还想玩麻将,那么此时再下载麻将的相关资源…
计算机单机性能一直受到摩尔定律的约束,随着移动互联网的兴趣,单机性能不足的瓶颈越来越明显,制约着整个行业的发展.不过我们虽然不能无止境的纵向扩容系统,但是我们可以分布式.横向的扩容系统,这听起来非常的美好,不过也带来了今天要说明的问题,分布式的节点越多,通信产生的成本就越大. 网络传输带宽变得越来越紧缺,我们服务器的标配上了10Gbps的网卡 HTTPx.x 时代TCP/IP协议通讯低效,我们即将用上QUIC HTTP 3.0 同机器走Socket协议栈太慢,我们用起了eBPF .... 现在我…
本文来自博客园,作者:T-BARBARIANS,转载请注明原文链接:https://www.cnblogs.com/t-bar/p/16451185.html 谢谢! 上一篇对google精品ZSTD的压缩.解压缩方法,压缩.解压缩的性能表现,以及多线程压缩的使用方法进行了介绍. 本篇,我们从类似的角度,看看LZ4有如何表现. 一.LZ4压缩与解压 LZ4有两个压缩函数.默认压缩函数原型: int LZ4_compress_default(const char* src, char* dst,…
Apache Kafka 2.1.0正式支持ZStandard —— ZStandard是Facebook开源的压缩算法,旨在提供超高的压缩比(compression ratio),具体细节参见https://facebook.github.io/zstd/.本文对Kafka支持的这几种压缩算法(GZIP.Snappy.LZ4.ZStandard)做了一下基本的性能测试,希望能够以不同维度去衡量不同压缩算法在Kafka中的表现. 一.环境准备 本次测试使用了两台云主机,一台作为Kafka的服务器…
背景说明: 近期公司的数据增量迅速增长,存储的成本太高,需要采用生命周期进行管理,热存储中的数据或者被删除,或者备份至冷存储.但是冷备时是否要压缩,需要进行验证.Azure本身没有提供压缩的接口,只能自己处理.以下是测试的结论. 备份压缩步骤 采用压缩流.验证了两种方式,方式一在文件较大时(>3G)会超时报错,方式二可行. 1.方式一:将源stream直接压缩包装输出到目标stream.不经过本地磁盘(测试应用服务器). 这种方式在测试环境中,当文件>3G时,会报超时错误. 2.方式二:先将源…
最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据压缩,两者本质上没啥区别,在数学家看来,都是映射.一方面在进行通信的时候,有必要将待传输的数据进行压缩,以减少带宽需求:另一方面,计算机存储数据的时候,为了减少磁盘容量需求,也会将文件进行压缩,尽管现在的网络带宽越来越高,压缩已经不像90年代初那个时候那么迫切,但在很多场合下仍然需要,其中一个原因是…