I am little new to cassandra data modelling. I am trying to understand if i can have high unique values in clustering key. for eg: we have 4 columns. Storeid, shipping_status, orderid and guestname. We have approximately 3000 stores, 4 status type and high orderids each day. We need to query on storeid , status and sometimes orderids. So I am trying to keep storeid and status as partition key and orderid as clustering key. So my question is can i keep such a lowest granularity level column in clustering key. orderid will have huge unique ids each day. Also will there be any problem if i add guestname too in clustering key. tnx for your suggestions.
Granularity level in clustering key( high unique values)
187 views Asked by john cena At
        	1
        	
        
	There are 1 answers
Related Questions in CASSANDRA
- Bug report: Issue building flutter on a mac
 - Is there a way to control where a Text widget overflow occurs (how many lines)?
 - How to save to local storage using Flutter?
 - How do you use a TextPainter to draw text?
 - Passing command line arguments to a flutter app
 - IconButton calling setState during onPressed shows no ripple effect
 - What would be a good way for a widget to take 1/3 of the screen?
 - How can I test a TextPainter?
 - How can I inherit a StatefulWidget's State?
 - Life cycle in flutter
 
Related Questions in DATA-MODELING
- Bug report: Issue building flutter on a mac
 - Is there a way to control where a Text widget overflow occurs (how many lines)?
 - How to save to local storage using Flutter?
 - How do you use a TextPainter to draw text?
 - Passing command line arguments to a flutter app
 - IconButton calling setState during onPressed shows no ripple effect
 - What would be a good way for a widget to take 1/3 of the screen?
 - How can I test a TextPainter?
 - How can I inherit a StatefulWidget's State?
 - Life cycle in flutter
 
Related Questions in CASSANDRA-2.0
- Bug report: Issue building flutter on a mac
 - Is there a way to control where a Text widget overflow occurs (how many lines)?
 - How to save to local storage using Flutter?
 - How do you use a TextPainter to draw text?
 - Passing command line arguments to a flutter app
 - IconButton calling setState during onPressed shows no ripple effect
 - What would be a good way for a widget to take 1/3 of the screen?
 - How can I test a TextPainter?
 - How can I inherit a StatefulWidget's State?
 - Life cycle in flutter
 
Popular Questions
- How do I undo the most recent local commits in Git?
 - How can I remove a specific item from an array in JavaScript?
 - How do I delete a Git branch locally and remotely?
 - Find all files containing a specific text (string) on Linux?
 - How do I revert a Git repository to a previous commit?
 - How do I create an HTML button that acts like a link?
 - How do I check out a remote Git branch?
 - How do I force "git pull" to overwrite local files?
 - How do I list all files of a directory?
 - How to check whether a string contains a substring in JavaScript?
 - How do I redirect to another webpage?
 - How can I iterate over rows in a Pandas DataFrame?
 - How do I convert a String to an int in Java?
 - Does Python have a string 'contains' substring method?
 - How do I check if a string contains a specific word?
 
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
 - Is it possible to use adb commands to click on a view by finding its ID?
 - How to create a new web character symbol recognizable by html/javascript?
 - Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
 - Heap Gives Page Fault
 - Connect ffmpeg to Visual Studio 2008
 - Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
 - How to avoid default initialization of objects in std::vector?
 - second argument of the command line arguments in a format other than char** argv or char* argv[]
 - How to improve efficiency of algorithm which generates next lexicographic permutation?
 - Navigating to the another actvity app getting crash in android
 - How to read the particular message format in android and store in sqlite database?
 - Resetting inventory status after order is cancelled
 - Efficiently compute powers of X in SSE/AVX
 - Insert into an external database using ajax and php : POST 500 (Internal Server Error)
 
                        
Using
storeidandshipping_statusas parts of the partition key and then usingorderidas a clustering key makes the situation very similar to time series data.Cassandra is well suited to store things with that data model (aka "wide rows" in pre-CQL terms) and the limit is set on 2x10E9 (2 billions) values of the clustering key per partition.
So you should not go for "open-ended" partitions, but use chunking: you could have a partition key which is
storeid + status + yearis the volume of orders per year is much less than 2x10E9, orstoreid + status + year + monthif you're Amazon.To answer your second question, no, there is no problem to have tables where all the columns are part of the primary key.