Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 卡桑德拉vs HDFS压缩比_Cassandra_Compression_Hdfs - Fatal编程技术网

Cassandra 卡桑德拉vs HDFS压缩比

Cassandra 卡桑德拉vs HDFS压缩比,cassandra,compression,hdfs,Cassandra,Compression,Hdfs,我在一台机器上使用相同的输入数据对HDFS和Cassandra的存储量进行评估。HDFS和Cassandra都只有一个副本。 我的输入数据是二进制字节,总共31M。结果证明HDFS的数据量比Cassandra少 HDFS:16.4米(使用COMPRESS.BLOCK策略)( Cassandra:50M。(使用CQL接口,带有默认设置(例如压缩)) 既然Cassandra使用柱状存储,这怎么可能呢 有人能帮我弄清楚吗?非常感谢 我的卡桑德拉版本是2.1.9 如果使用3.+,您会看到更好的C*磁盘使

我在一台机器上使用相同的输入数据对HDFS和Cassandra的存储量进行评估。HDFS和Cassandra都只有一个副本。 我的输入数据是二进制字节,总共31M。结果证明HDFS的数据量比Cassandra少

  • HDFS:16.4米(使用COMPRESS.BLOCK策略)(

  • Cassandra:50M。(使用CQL接口,带有默认设置(例如压缩))

    既然Cassandra使用柱状存储,这怎么可能呢

    有人能帮我弄清楚吗?非常感谢

    我的卡桑德拉版本是2.1.9


  • 如果使用3.+,您会看到更好的C*磁盘使用率。2.1版要求每个字段都有列名,因此如果有10个字段,情况会更糟。3.x更好,因为它不存储冗余数据


    HDFS和C*对于解决不同类型的问题来说是两种完全不同的东西。如果你只想最有效地利用磁盘空间,那么HDFS可能就是你想要的,因为它可以更高效地存储大量二进制数据。如果你想更快地读/写,C*可能是一个更好的选择。C*会添加到你的数据中来组织和管理数据ake查询更高效,并提供数据保证(一致性)压缩将获得一些回报,但在许多情况下,它将占用比原始数据更多的空间。

    如果使用3+,您将看到更好的C*磁盘使用率。这是一个2.1的东西,要求每个字段都有列名,因此如果有10个字段,情况会更糟。3.x更好,因为它不存储冗余数据


    HDFS和C*对于解决不同类型的问题来说是两种完全不同的东西。如果你只想最有效地利用磁盘空间,那么HDFS可能就是你想要的,因为它可以更高效地存储大量二进制数据。如果你想更快地读/写,C*可能是一个更好的选择。C*会添加到你的数据中来组织和管理数据ake查询更高效,并提供数据保证(一致性)。压缩将获得一些回报,但在许多情况下,它将占用比原始数据更多的空间。

    这是我输入数据的模式:10个字段为长类型,2个字段为字符串类型。与Cassandra CQL一样,bigint中有9个字段,文本中有2个字段,时间戳中有1个字段。这是我输入数据的模式:10 fiELD为长型,2个字段为字符串类型。与Cassandra CQL一样,bigint中有9个字段,text中有2个字段,Timestamp中有1个字段。感谢您的帮助。我对Cassandra读/写速率有一些问题。如果我使用C*3+,可能会提高速率。但是,您认为C*2.1的写入速率为le是正常的吗在上述情况下,ss速度超过1M/s(大约3k次插入/秒)?我使用datastax java驱动程序。我确信所有数据都保留在Memtable中,而不是刷新到SSTable中。此外,commitlog sync处于“期间”模式,我将周期设置为比插入所需的时间长。至于读取速率,我发现更多处理器/线程不会加快读取速度,它的成本与单个处理器所需的时间相同。在我的例子中,如果缓存数据,读取速率可能会达到180M/s。但如果不缓存数据,读取速率会下降到大约18M/s。我使用HDD和C*2.1。你能给我一些建议吗?非常感谢。谢谢你的帮助。我在Cassandra读/写速率方面有一些问题。如果我使用C*3+,速率可能会提高。但是,你认为C*2.1的写速率低于1M/s(大约3k插入/s)是正常的吗在上述情况下?我使用datastax java驱动程序。我确信所有数据都保留在Memtable中,而不是刷新到SSTable中。而且,commitlog sync处于“期间”模式,我将周期设置为比插入所需的时间长。至于读取速率,我发现更多处理器/线程不会加快读取速度,它的成本与单个处理器所需的时间相同。在我的例子中,如果缓存数据,读取速率可能会达到180M/s。但如果不缓存数据,读取速率会下降到大约18M/s。我使用硬盘和C*2.1。你能给我一些建议吗?非常感谢。