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 CQL3和数百万列组合键用例_Cassandra - Fatal编程技术网

Cassandra CQL3和数百万列组合键用例

Cassandra CQL3和数百万列组合键用例,cassandra,Cassandra,在CQL3中,我们如何处理数百万列?我们有一个特殊的表,其中所有行基本上都是复合键,并且非常宽 我读到的这个问题有两种含义 此外,复合键的类型是String.bytes,并按字符串排序 我们有一个精确匹配的表,它是Decimal.bytes,按十进制排序 在CQL3中如何处理这个问题 谢谢, Dean创建表格行 ( 第1行合成文本, 第2行合成文本, 列名称为十进制, 值文本, 主键((行合成1,行合成2),列名称) ) 从widerow中选择*,其中row_composite1=。。

在CQL3中,我们如何处理数百万列?我们有一个特殊的表,其中所有行基本上都是复合键,并且非常宽

我读到的这个问题有两种含义

此外,复合键的类型是String.bytes,并按字符串排序

我们有一个精确匹配的表,它是Decimal.bytes,按十进制排序

在CQL3中如何处理这个问题

谢谢, Dean

创建表格行
(    
第1行合成文本,
第2行合成文本,
列名称为十进制,
值文本,
主键((行合成1,行合成2),列名称)
)
从widerow中选择*,其中row_composite1=。。。
和行_composite2=。。。
和列名称>=10.0
和列名称
创建表行
(    
第1行合成文本,
第2行合成文本,
列名称为十进制,
值文本,
主键((行合成1,行合成2),列名称)
)
从widerow中选择*,其中row_composite1=。。。
和行_composite2=。。。
和列名称>=10.0

和列_name“哦,我的问题的一部分丢失了,因为这样格式化它是不可能的。我正在寻找Decimal.bytes和String.bytes作为我的复合键……没有”值“,只是一个列名,我希望所有列都是十进制>10和十进制<20,并且列名=10在10.a、10.b、11.c、11.d、11.e中多次出现”

创建表格行
(    
行\键文本,//随便什么
列_复合1十进制,
列_合成2文本,
主键(行\键、列\复合1、列\复合2)
)
从widerow中选择*,其中row_key=。。。
和列_composite1>=10.0
和列_composite1='a'
和列_composite1=10.0

专栏文章2“哦,我的问题有一部分不见了,因为我把它格式化了。我一直在寻找Decimal.bytes和String.bytes作为我的复合键…没有“值”,只有一个列名,我希望所有列都是Decimal>10和Decimal<20,并且列名=10在10.a、10.b、11.c、11.d、11.e中多次出现

创建表格行
(    
行\键文本,//随便什么
列_复合1十进制,
列_合成2文本,
主键(行\键、列\复合1、列\复合2)
)
从widerow中选择*,其中row_key=。。。
和列_composite1>=10.0
和列_composite1='a'
和列_composite1=10.0

和column_composite2如何获取行_composite1>a和行_composite1>b的所有列“在那个用例中?例如,我不在乎复合名称的后半部分。哦,我的部分问题不见了,因为这样格式化了它。我一直在寻找Decimal.bytes和String.bytes作为我的复合键…没有“值”,只有一个列名,我希望所有列都是Decimal>10和Decimal<20,并且列名=10在10.a、10.b、11.c、11.d中多次出现,11.eoh和Decimal.bytes是我需要的一个列族,String.bytes是我需要的另一个列族。在这种情况下,如何获取行合成1>行合成1>和行合成1<“b”的所有列?例如,我不在乎复合名称的后半部分。哦,我的部分问题不见了,因为这样格式化了它。我一直在寻找Decimal.bytes和String.bytes作为我的复合键…没有“值”,只有一个列名,我希望所有列都是Decimal>10和Decimal<20,并且列名=10在10.a、10.b、11.c、11.d中多次出现,11.eoh,更清楚地说,Decimal.bytes是我需要的一个列族,String.bytes是我需要的另一个列族,为什么我需要保留顺序的分区器,因为这只适用于行键!!!!!我发现您缺少非常重要的COMPACT_存储,这使它成为一个非常宽的行,没有它就不是一个宽行……因此,您有90%的时间来满足我的需要……非常感谢COMPACT_存储选项。当使用它时,它将删除存储引擎中的“Composite”,这样您就不能再在比较中使用严格相等(例如,column_composite2>10.0)。使用Composite允许进行严格而急切的比较,这听起来不太正确……它说要将一个节俭范围的行移植到CQL3,使用紧凑型存储……非常奇怪,我必须测试这一点,相信我,Dean,我已经在节俭支持下写过了。如果不对列名使用Composites(使用压缩存储),则不能在本机上使用严格的不等式。噢,我的意图是使用复合材料作为列名…我错了,你说使用紧凑型存储打破了不平等性,但现在我听到你说,如果我不使用复合材料作为列名,我打算这样做,因为这是我们在thrift中所做的,而且效果很好…只是试图保持我们所使用的索引的相同的节约功能可以做之前(即宽行索引)为什么我需要保留顺序的分区器,因为这只适用于行键!!!!!我发现您缺少非常重要的COMPACT_存储,这使它成为一个非常宽的行,没有它就不是一个宽行……因此,您有90%的时间来满足我的需要……非常感谢COMPACT_存储选项。当使用它时,它将删除存储引擎中的“Composite”,这样您就不能再在比较中使用严格相等(例如,column_composite2>10.0)。使用Composite允许进行严格而急切的比较,这听起来不太正确……它说要将一个节俭范围的行移植到CQL3,使用紧凑型存储……非常奇怪,我必须测试这一点,相信我,Dean,我已经在节俭支持下写过了。如果不对列名使用Composites(使用压缩存储),则不能在本机上使用严格的不等式。噢,我的意图是使用复合材料作为列名…我错了,你说使用紧凑型存储打破了不平等,但现在我听到你说,只有当我不使用复合材料作为列名时,我才打算这样做,因为这是我们在thrift中所做的,效果很好…j
CREATE TABLE widerow
(    
   row_composite1 text,
   row_composite2 text,
   column_name decimal,
   value text, 
   PRIMARY KEY((row_composite1,row_composite2),column_name)
)

SELECT * FROM widerow WHERE row_composite1=... 
AND row_composite2=...
AND column_name>=10.0
AND column_name<=20.0
ORDER BY column_name DESC
CREATE TABLE widerow
(    
   row_key text, //whatever
   column_composite1 decimal,
   column_composite2 text,
   PRIMARY KEY(row_key,column_composite1,column_composite2)
)

SELECT * FROM widerow WHERE row_key=... 
AND column_composite1>=10.0
AND column_composite1<=20.0
 CREATE TABLE widerow
    (    
       fake_row_key text, //whatever
       column_composite1 text, // previously row_composite1
       column_composite2 decimal,
       column_composite3 text,
       PRIMARY KEY(row_key,column_composite1,column_composite2,column_composite3)
    )

SELECT * FROM widerow WHERE row_key=... 
AND column_composite1>='a'
AND column_composite1<='b'
SELECT * FROM widerow WHERE row_key=... 
AND column_composite1='a'
AND column_composite2>=10.0
AND column_composite2<=20.0