[CASSANDRA-10226] Support multiple non-PK cols in MV clustering key when partition key is shared - ASF JIRA



[CASSANDRA-10226] Support multiple non-PK cols in MV clustering key when partition key is shared - ASF JIRA

This issue is similar to CASSANDRA-9928, but with one key limitation: the MV partition key must match the base table's partition key. This limitation results in the base replica always pairing with itself as the MV replica. Because of this pairing, if the base replica is lost, any MV rows that would otherwise be ambiguous are also lost. This allows us to avoid the problem described in 9928 of not knowing which MV row to delete.

Although this limitation has the potential to be a bit confusing for users, I believe this improvement is still worthwhile because:

  • The base table's partition key will often be a good choice for the MV partition key as well. I expect it to be common for users to partition data the same way, but use a different clustering order to optimize for (or allow for) different queries.
  • It may take a long time to solve the problems presented in 9928 in general (if we can solve them at all). On the other hand, this is straightforward and is a significant improvement to the usability of MVs.

I have a minimal prototype of this that works well, so I should be able to upload a patch with thorough tests within the next few days.


Read full article from [CASSANDRA-10226] Support multiple non-PK cols in MV clustering key when partition key is shared - ASF JIRA


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts