[
https://issues.apache.org/jira/browse/CASSANDRA-11031?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ZhaoYang updated CASSANDRA-11031:
---------------------------------
Description:
Currently, Allow Filtering only works for secondary Index column or clustering
columns. And it's slow, because Cassandra will read all data from SSTABLE from
hard-disk to memory to filter.
But we can support allow filtering on Partition Key, as far as I know,
Partition Key is in memory, so we can easily filter them, and then read
required data from SSTable.
This will similar to "Select * from table" which scan through entire cluster.
CREATE TABLE multi_tenant_table (
tenant_id text,
pk2 text,
c1 text,
c2 text,
v1 text,
v2 text,
PRIMARY KEY ((tenant_id,pk2),c1,c2)
) ;
Select * from multi_tenant_table where tenant_id = "datastax" allow filtering;
was:
Currently, Allow Filtering only works for secondary Index column or clustering
columns. And it's slow, because Cassandra will read all data from SSTABLE from
hard-disk to memory to filter.
But we can support allow filtering on Partition Key, as far as I know,
Partition Key is in memory, so we can easily filter them, and then read
required data from SSTable.
This will similar to "Select * from table" which scan through entire cluster.
CREATE TABLE my_table (
pk1 text,
pk2 text,
c1 text,
c2 text,
v1 text,
v2 text,
PRIMARY KEY ((pk1,pk2),c1,c2)
) ;
Select * from my_table where pk1 = "partition key part 1" allow filtering;
> Support “ALLOW FILTERING" for Partition Key
> -------------------------------------------
>
> Key: CASSANDRA-11031
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11031
> Project: Cassandra
> Issue Type: New Feature
> Components: CQL
> Reporter: ZhaoYang
> Assignee: ZhaoYang
> Fix For: 2.1.x, 3.x
>
>
> Currently, Allow Filtering only works for secondary Index column or
> clustering columns. And it's slow, because Cassandra will read all data from
> SSTABLE from hard-disk to memory to filter.
> But we can support allow filtering on Partition Key, as far as I know,
> Partition Key is in memory, so we can easily filter them, and then read
> required data from SSTable.
> This will similar to "Select * from table" which scan through entire cluster.
> CREATE TABLE multi_tenant_table (
> tenant_id text,
> pk2 text,
> c1 text,
> c2 text,
> v1 text,
> v2 text,
> PRIMARY KEY ((tenant_id,pk2),c1,c2)
> ) ;
> Select * from multi_tenant_table where tenant_id = "datastax" allow filtering;
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)