跳转到主要内容

ZS是一种压缩的、只读的文件格式,用于高效地分发、查询和归档任意大的记录型数据集。

项目描述

ZS是一种简单的、只读的二进制文件格式,旨在用于分发、查询和归档任意大的记录型数据集(高达数十个甚至更多兆字节)。它允许数据以压缩形式存储,同时仍然支持非常快速的查询,无论是针对特定条目,还是针对指定值范围内的所有条目(例如,前缀搜索),并且允许高度CPU并行的解压缩。它还强调数据完整性——所有数据都通过64位CRC校验和进行保护——以及可发现性——每个ZS文件都包括任意详细的结构化元数据,这些元数据直接存储在文件内部。

基本上,您可以将ZS视为一种增强型替代方案,用于存储基于行的文本文件格式中的数据。它最初是为了提供一个更好的方式来处理庞大的Google N-grams,但可能适用于任何规模的数据集。

https://travis-ci.org/njsmith/zs.png?branch=master https://coveralls.io/repos/njsmith/zs/badge.png?branch=master
文档

http://zs.readthedocs.org/

安装

您需要Python 2.7,或者Python 3.3或更高版本

由于zs包括一个C扩展,您还需要一个C编译器和Python头文件。例如,在Ubuntu或Debian上,您可以通过以下方式获得它们:

sudo apt-get install build-essential python-dev

一旦您有构建C扩展的能力,那么在Python 3上,您应该只需运行:

pip install zs

在Python 2.7上,事情稍微复杂一些:在这里,zs需要backports.lzma包,该包又需要liblzma库。例如,在Ubuntu或Debian上,以下内容应该可以工作:

sudo apt-get install liblzma-dev
pip install backports.lzma
pip install zs

zs 还需要以下软件包: sixdocoptrequests。然而,这些都是纯 Python 软件包,pip 在您运行 pip install zs 时会自动为您安装。

下载

http://pypi.python.org/pypi/zs/

代码和错误追踪器

https://github.com/njsmith/zs

联系方式

Nathaniel J. Smith <nathaniel.smith@ed.ac.uk>

开发依赖项(仅用于源代码开发)
  • Cython:需要从签出构建

  • nose:需要运行测试

  • nose-cov:由于我们使用了多进程,我们需要这个软件包来获取有用的测试覆盖率信息

  • nginx:需要运行 HTTP 测试

许可证

2-clause BSD,详细信息请参阅 LICENSE.txt。

由以下机构支持