【问题标题】:Cassandra blob performanceCassandra blob 性能
【发布时间】:2017-08-13 05:34:46
【问题描述】:

我有一个用例,我在运行时从JSON 的客户端接收属性。

例如

  • { ..., "pname" : "country", "value" : "USA", "ptype" : "String" }

  • { ..., "pname" : "gdp", "value" : 7.4 , "ptype" : "double"}

根据我的用例,我对具有 "ptype" = "double"int 的行应用 sum、min、max 函数。

我已在 Cassandra 表下方使用它来将上述请求映射到 cassandra 表。

    create table IF NOT EXISTS kspace.count_table
    (source_id bigint, name varchar, date text, pname varchar, ptype varchar, pvalue blob, 
    count counter,unique_count counter, PRIMARY 
    KEY((source_id,name,pname,ptype,date),pvalue))

我使用 pvalue 作为 blob 因为我在运行时从客户端收到不同数据类型的属性

我的问题是,根据我的用例使用 blob 还是使用 String 而不是 blob 而不是根据类型解析每个是个好主意。

【问题讨论】:

    标签: java cassandra datastax


    【解决方案1】:

    是的。这是个好主意。

    您可以在 blob 字段中插入 ascii、bigint、boolean、decimal、double、float、inet、int、timestamp、timeuuid、uuid、varchar、varint。

    将 double 或 int 作为 blob 插入内存​​效率很高,int 只需 32 位,double 只需 64 位。如果您使用 ascii,则每个字符将占用 8 位,如果您插入整数最大值(2147483647),则将占用 80 位。

    【讨论】:

      猜你喜欢
      • 2015-10-12
      • 2013-10-15
      • 2011-06-15
      • 2017-06-03
      • 2018-03-20
      • 2016-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多