与初始数据文件

时间:2016-10-27 12:21:33

标签: cassandra compression storage bigdata

我们正在尝试分析来自几个传感器的时间序列。我们目前正在评估存储到Cassandra,因为表演很棒。

我们的传感器记录首先存储在本地存储为两个二进制文件:一个存储时间戳,另一个存储度量。这两个文件总共大约2MB,可以为一个传感器存储700,000个测量值。

然后我们从这些文件中读取数据并使用以下数据模型将信息存储在Cassandra中:

    CREATE TABLE data (
        sensor_id text,
        tps timestamp,
        value double,
        PRIMARY KEY ((sensor_id), tps),
    ) WITH compression = {'sstable_compression' : 'DeflateCompressor'};

此表存储与两个二进制文件中相同的数据,但关联的sstable的大小约为10.4MB(来自nodetool cfstats data -H,行Space used (live)Space used (total)的统计信息,只有一个传感器)。我们尝试通过将TIMESTAMP设置为0(使用INSERT INTO data (sensor_id, tps, value) VALUES ('station_123_sensor_456', '2010-06-01 10:20:30.456+0000', 0.123456789) USING TIMESTAMP 0来减少表的数量,即使我们知道处理重复数据的风险。这样,我们达到了大约6.7MB的表量,这仍然是比原始文件大4倍。

是否需要付出高昂的读/写性能,或者有更好的方法在Cassandra中存储数据(例如删除TIMESTAMP)?

感谢您的帮助。

0 个答案:

没有答案