[ 
https://issues.apache.org/jira/browse/CASSANDRA-139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12727654#action_12727654
 ] 

Evan Weaver edited comment on CASSANDRA-139 at 7/6/09 11:07 AM:
----------------------------------------------------------------

The switch won't be silent, because we will drop the magic colons at the same 
time. 

Re. routing order:

What we care about here is what knowledge the client can act on. 
 * It's important to know that a CF is a single a file with keys inside it, 
because that's what lets you control column-major vs. row-major storage order. 
 * It is not important to know that a single key has all its column families on 
the same host.

Hbase and Hypertable use routing order, but they also use the colons, so I 
don't they are trustworthy API design models.

In the interests of not needlessly confusing the majority of developers who are 
familiar with SQL but not BigTable, I think we should switch it.

This normalizes some signatures because range queries let you look up based on 
CF and (optional) key:

  get_key_range(@keyspace, column_families, key_range.begin, key_range.end, 
limit)

So we already use storage order! It makes sense to trail with the optional 
parameters, and the CF is never optional.



      was (Author: eweaver):
    The switch won't be silent, because we will drop the magic colons at the 
same time. Anyway, now is the time to break things.

Re. routing order:

What we care about here is what knowledge the client can act on. 
 * It's important to know that a CF is a single a file with keys inside it, 
because that's what lets you control column-major vs. row-major storage order. 
 * It is not important to know that a single key has all its column families on 
the same host.

Hbase and Hypertable use routing order, but they also use the colons, so I 
don't they are trustworthy API design models.

In the interests of not needlessly confusing the majority of developers who are 
familiar with SQL but not BigTable, I think we should switch it.

This normalizes some signatures because range queries let you look up based on 
CF and (optional) key:

  get_key_range(@keyspace, column_families, key_range.begin, key_range.end, 
limit)

So we already use storage order! It makes sense to trail with the optional 
parameters, and the CF is never optional.


  
> thrift API should use lists instead of colon-delimited strings to specify 
> column path
> -------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-139
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-139
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Priority: Minor
>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to