Details

    • Type: New Feature
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Fix Version/s: 4.x
    • Component/s: CQL, Materialized Views
    • Labels:
      None

      Description

      Many common workloads are append-only: that is, they insert new rows but do not update existing ones. However, Cassandra has no way to infer this and so it must treat all tables as if they may experience updates in the future.

      If we added syntax to tell Cassandra about this (WITH INSERTS ONLY for instance) then we could do a number of optimizations:

      • Compaction would only need to worry about defragmenting partitions, not rows. We could default to DTCS or similar.
      • CollationController could stop scanning sstables as soon as it finds a matching row
      • Most importantly, materialized views wouldn't need to worry about deleting prior values, which would eliminate the majority of the MV overhead

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                jbellis Jonathan Ellis
              • Votes:
                9 Vote for this issue
                Watchers:
                41 Start watching this issue

                Dates

                • Created:
                  Updated: