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)
222 views Asked by john cena At
1
There are 1 answers
Related Questions in CASSANDRA
- how to create a chess board with Queen in the central position and all its moves in assembler code
- Passing arguments to ENTRYPOINT causes the container to start and run indefinitely
- Apache Cassandra Node Driver Connection
- Simulate Cassandra DB timeout
- How to update Cassandra Lucene index with a new column? rebuild or update index?
- Cassandra JDBC connection string for logstash
- Cassandra OversizedMessageException
- dsbulk unload is failing after ran couple of hours with OOM issue
- Cassandra: "Model keyspace not set" and "Connection name doesn't exist in the registry" Errors
- Unable to cqlsh to a cassandra docker container remotely
- Forward pagination with object mapper in java asyn
- Allow filter in cassandra query
- How to fix bytes unrepaired in cassandra
- Can't install Cassandra using RPM packages for RHEL 9
- Why can't get a connection to Cassandra running on Docker from a Spring Boot instace using spring-boot-starter-data-cassandra on first boot?
Related Questions in DATA-MODELING
- Does Power BI provide an OOTB Geographical Dimension Table
- Table Restructuring Options in PowerBI
- How to model such that a drill through for Order suppliers having M:1 relation with Order fact table can be configured?
- Excel formula to change sum field depending on date
- How to properly define data models in TypeScript?
- Power Bi - Modelling
- How to create a MySQL table or store the values in the MySQL table if values is of type python list
- Dynamo DB M:N relationship issue
- What data type is appropriate for star schema keys (integer or text)?
- How to fetch data from this Nested JSON using GET method in flutter using Data Model?
- How to model composite primary keys in the ER model?
- LSTM layer in Sequential model requires 3d input but only receives d2
- How can I generate many random community matrices and then apply a function to all of them?
- Model the number of available spots in dimension or fact table?
- How to get data collection from a nested list of a data collection from postman api to list<dynamic> in dart Flutter
Related Questions in CASSANDRA-2.0
- Cassandra Live Migration from onpremises to the Compute Engine / VM
- am unable to to the database using cqlsh
- Janusgraph replication-factor not propogated to cassandra
- How to take backup and Restore huge Cassandra Database tables?
- Unable to start kong gateway with custom plugin
- Using batch queries in typescript with cassandra , inserting only one row in table in Nodejs
- NoSuchMethodError: org.apache.cassandra.db.ColumnFamilyStore.getOverlappingSSTables
- Bad Request: line 1:0 no viable alternative at input 'clear'
- Getting rpc_timeout when counting data in Cassandra
- In Scylla DB, How can I query the records for multiple condition and without mentioning ALLOW FILTERING?
- ConnectionRefusedError No connection could be made because the target machine actively refused it cassandra
- Cassandra copy n rows from one table and insert them to another table
- In Scylla DB, How can I query the records in desc order?
- Clarification about Cassandra tombstones and manual compaction
- How do I extract the Cassandra table data into json file using python or directly through cqlsh?
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?
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.