You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Check Peck <co...@gmail.com> on 2014/09/19 17:41:16 UTC
Wide Rows - Data Model Design
I am trying to use wide rows concept in my data modelling design for
Cassandra. We are using Cassandra 2.0.6.
CREATE TABLE test_data (
test_id int,
client_name text,
record_data text,
creation_date timestamp,
last_modified_date timestamp,
PRIMARY KEY (test_id, client_name, record_data)
)
So I came up with above table design. Does my above table falls under the
category of wide rows in Cassandra or not?
And is there any problem If I have three columns in my PRIMARY KEY? I
guess PARTITION KEY will be test_id right? And what about other two?
In this table, we can have multiple record_data for same client_name.
Query Pattern will be -
select client_name, record_data from test_data where test_id = 1;
Re: Wide Rows - Data Model Design
Posted by Jonathan Lacefield <jl...@datastax.com>.
Hello,
Yes, this is a wide row table design. The first col is your Partition
Key. The remaining 2 cols are clustering cols. You will receive ordered
result sets based on client_name, record_date when running that query.
Jonathan
[image: datastax_logo.png]
Jonathan Lacefield
Solution Architect | (404) 822 3487 | jlacefield@datastax.com
[image: linkedin.png] <http://www.linkedin.com/in/jlacefield/> [image:
facebook.png] <https://www.facebook.com/datastax> [image: twitter.png]
<https://twitter.com/datastax> [image: g+.png]
<https://plus.google.com/+Datastax/about>
<http://feeds.feedburner.com/datastax> <https://github.com/datastax/>
On Fri, Sep 19, 2014 at 10:41 AM, Check Peck <co...@gmail.com>
wrote:
> I am trying to use wide rows concept in my data modelling design for
> Cassandra. We are using Cassandra 2.0.6.
>
> CREATE TABLE test_data (
> test_id int,
> client_name text,
> record_data text,
> creation_date timestamp,
> last_modified_date timestamp,
> PRIMARY KEY (test_id, client_name, record_data)
> )
>
> So I came up with above table design. Does my above table falls under the
> category of wide rows in Cassandra or not?
>
> And is there any problem If I have three columns in my PRIMARY KEY? I
> guess PARTITION KEY will be test_id right? And what about other two?
>
> In this table, we can have multiple record_data for same client_name.
>
> Query Pattern will be -
>
> select client_name, record_data from test_data where test_id = 1;
>
Re: Wide Rows - Data Model Design
Posted by DuyHai Doan <do...@gmail.com>.
Ahh yes, sorry, I read too fast, missed it.
On Fri, Sep 19, 2014 at 5:54 PM, Check Peck <co...@gmail.com> wrote:
> @DuyHai - I have put that because of this condition -
>
> In this table, we can have multiple record_data for same client_name.
>
> It can be multiple combinations of client_name and record_data for each
> distinct test_id.
>
>
> On Fri, Sep 19, 2014 at 8:48 AM, DuyHai Doan <do...@gmail.com> wrote:
>
>> "Does my above table falls under the category of wide rows in Cassandra
>> or not?" --> It depends on the cardinality. For each distinct test_id, how
>> many combinations of client_name/record_data do you have ?
>>
>> By the way, why do you put the record_data as part of primary key ?
>>
>> In your table partiton key = test_id, client_name = first clustering
>> column, record_data = second clustering column
>>
>>
>> On Fri, Sep 19, 2014 at 5:41 PM, Check Peck <co...@gmail.com>
>> wrote:
>>
>>> I am trying to use wide rows concept in my data modelling design for
>>> Cassandra. We are using Cassandra 2.0.6.
>>>
>>> CREATE TABLE test_data (
>>> test_id int,
>>> client_name text,
>>> record_data text,
>>> creation_date timestamp,
>>> last_modified_date timestamp,
>>> PRIMARY KEY (test_id, client_name, record_data)
>>> )
>>>
>>> So I came up with above table design. Does my above table falls under
>>> the category of wide rows in Cassandra or not?
>>>
>>> And is there any problem If I have three columns in my PRIMARY KEY? I
>>> guess PARTITION KEY will be test_id right? And what about other two?
>>>
>>> In this table, we can have multiple record_data for same client_name.
>>>
>>> Query Pattern will be -
>>>
>>> select client_name, record_data from test_data where test_id = 1;
>>>
>>
>>
>
Re: Wide Rows - Data Model Design
Posted by Check Peck <co...@gmail.com>.
@DuyHai - I have put that because of this condition -
In this table, we can have multiple record_data for same client_name.
It can be multiple combinations of client_name and record_data for each
distinct test_id.
On Fri, Sep 19, 2014 at 8:48 AM, DuyHai Doan <do...@gmail.com> wrote:
> "Does my above table falls under the category of wide rows in Cassandra
> or not?" --> It depends on the cardinality. For each distinct test_id, how
> many combinations of client_name/record_data do you have ?
>
> By the way, why do you put the record_data as part of primary key ?
>
> In your table partiton key = test_id, client_name = first clustering
> column, record_data = second clustering column
>
>
> On Fri, Sep 19, 2014 at 5:41 PM, Check Peck <co...@gmail.com>
> wrote:
>
>> I am trying to use wide rows concept in my data modelling design for
>> Cassandra. We are using Cassandra 2.0.6.
>>
>> CREATE TABLE test_data (
>> test_id int,
>> client_name text,
>> record_data text,
>> creation_date timestamp,
>> last_modified_date timestamp,
>> PRIMARY KEY (test_id, client_name, record_data)
>> )
>>
>> So I came up with above table design. Does my above table falls under the
>> category of wide rows in Cassandra or not?
>>
>> And is there any problem If I have three columns in my PRIMARY KEY? I
>> guess PARTITION KEY will be test_id right? And what about other two?
>>
>> In this table, we can have multiple record_data for same client_name.
>>
>> Query Pattern will be -
>>
>> select client_name, record_data from test_data where test_id = 1;
>>
>
>
Re: Wide Rows - Data Model Design
Posted by DuyHai Doan <do...@gmail.com>.
"Does my above table falls under the category of wide rows in Cassandra or
not?" --> It depends on the cardinality. For each distinct test_id, how
many combinations of client_name/record_data do you have ?
By the way, why do you put the record_data as part of primary key ?
In your table partiton key = test_id, client_name = first clustering
column, record_data = second clustering column
On Fri, Sep 19, 2014 at 5:41 PM, Check Peck <co...@gmail.com> wrote:
> I am trying to use wide rows concept in my data modelling design for
> Cassandra. We are using Cassandra 2.0.6.
>
> CREATE TABLE test_data (
> test_id int,
> client_name text,
> record_data text,
> creation_date timestamp,
> last_modified_date timestamp,
> PRIMARY KEY (test_id, client_name, record_data)
> )
>
> So I came up with above table design. Does my above table falls under the
> category of wide rows in Cassandra or not?
>
> And is there any problem If I have three columns in my PRIMARY KEY? I
> guess PARTITION KEY will be test_id right? And what about other two?
>
> In this table, we can have multiple record_data for same client_name.
>
> Query Pattern will be -
>
> select client_name, record_data from test_data where test_id = 1;
>