> More of a "how could we technically reach mars?" discussion than a "how we 
> get congress to authorize a budget to reach mars?"
Wow - that is genuinely a great simile. Really good point.

To Jeff's point - want to kick off a [DISCUSS] thread referencing this thread 
Jon so we can take the conversation there? Definitely think it's worth 
continuing from a technical perspective.

On Wed, May 15, 2024, at 2:49 PM, Jeff Jirsa wrote:
> You can remove the shadowed values at compaction time, but you can’t ever 
> fully propagate the range update to point updates, so you’d be propagating 
> all of the range-update structures throughout everything forever. It’s JUST 
> like a range tombstone - you don’t know what it’s shadowing (and can’t, in 
> many cases, because the width of the range is uncountable for some types). 
> 
> Setting aside whether or not this construct is worth adding (I suspect a lot 
> of binding votes would say it’s not), the thread focuses on BETWEEN operator, 
> and there’s no reason we should pollute the conversation of “add a missing 
> SQL operator that basically maps to existing functionality” with creation of 
> a brand new form of update that definitely doesn’t map to any existing 
> concepts. 
> 
> 
> 
> 
> 
>> On May 14, 2024, at 10:05 AM, Jon Haddad <j...@jonhaddad.com> wrote:
>> 
>> Personally, I don't think that something being scary at first glance is a 
>> good reason not to explore an idea.  The scenario you've described here is 
>> tricky but I'm not expecting it to be any worse than say, SAI, which (the 
>> last I checked) has O(N) complexity on returning result sets with regard to 
>> rows returned.  We've also merged in Vector search which has O(N) overhead 
>> with the number of SSTables.  We're still fundamentally looking at, in most 
>> cases, a limited number of SSTables and some merging of values.
>> 
>> Write updates are essentially a timestamped mask, potentially overlapping, 
>> and I suspect potentially resolvable during compaction by propagating the 
>> values.  They could be eliminated or narrowed based on how they've 
>> propagated by using the timestamp metadata on the SSTable.
>> 
>> It would be a lot more constructive to apply our brains towards solving an 
>> interesting problem than pointing out all its potential flaws based on gut 
>> feelings.  We haven't even moved this past an idea.  
>> 
>> I think it would solve a massive problem for a lot of people and is 100% 
>> worth considering.  Thanks Patrick and David for raising this.
>> 
>> Jon
>> 
>> 
>> 
>> On Tue, May 14, 2024 at 9:48 AM Bowen Song via dev 
>> <dev@cassandra.apache.org> wrote:
>>> __
>>> Ranged update sounds like a disaster for compaction and read performance.
>>> 
>>> Imagine compacting or reading some SSTables in which a large number of 
>>> overlapping but non-identical ranges were updated with different values. It 
>>> gives me a headache by just thinking about it.
>>> 
>>> Ranged delete is much simpler, because the "value" is the same tombstone 
>>> marker, and it also is guaranteed to expire and disappear eventually, so 
>>> the performance impact of dealing with them at read and compaction time 
>>> doesn't suffer in the long term.
>>> 
>>> 
>>> On 14/05/2024 16:59, Benjamin Lerer wrote:
>>>> It should be like range tombstones ... in much worse ;-). A tombstone is a 
>>>> simple marker (deleted). An update can be far more complex.  
>>>> 
>>>> Le mar. 14 mai 2024 à 15:52, Jon Haddad <j...@jonhaddad.com> a écrit :
>>>>> Is there a technical limitation that would prevent a range write that 
>>>>> functions the same way as a range tombstone, other than probably needing 
>>>>> a version bump of the storage format?
>>>>> 
>>>>> 
>>>>> On Tue, May 14, 2024 at 12:03 AM Benjamin Lerer <ble...@apache.org> wrote:
>>>>>> Range restrictions (>, >=, =<, < and BETWEEN) do not work on UPDATEs. 
>>>>>> They do work on DELETE because under the hood C* they get translated 
>>>>>> into range tombstones.
>>>>>> 
>>>>>> Le mar. 14 mai 2024 à 02:44, David Capwell <dcapw...@apple.com> a écrit :
>>>>>>> I would also include in UPDATE… but yeah, <3 BETWEEN and welcome this 
>>>>>>> work.
>>>>>>> 
>>>>>>>> On May 13, 2024, at 7:40 AM, Patrick McFadin <pmcfa...@gmail.com> 
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>> This is a great feature addition to CQL! I get asked about it from 
>>>>>>>> time to time but then people figure out a workaround. It will be great 
>>>>>>>> to just have it available. 
>>>>>>>> 
>>>>>>>> And right on Simon! I think the only project I had as a high school 
>>>>>>>> senior was figuring out how many parties I could go to and still 
>>>>>>>> maintain a passing grade. Thanks for your work here. 
>>>>>>>> 
>>>>>>>> Patrick 
>>>>>>>> 
>>>>>>>> On Mon, May 13, 2024 at 1:35 AM Benjamin Lerer <ble...@apache.org> 
>>>>>>>> wrote:
>>>>>>>>> Hi everybody,
>>>>>>>>> 
>>>>>>>>> Just raising awareness that Simon is working on adding support for 
>>>>>>>>> the BETWEEN operator in WHERE clauses (SELECT and DELETE) in 
>>>>>>>>> CASSANDRA-19604. We plan to add support for it in conditions in a 
>>>>>>>>> separate patch.
>>>>>>>>> 
>>>>>>>>> The patch is available.
>>>>>>>>> 
>>>>>>>>> As a side note, Simon chose to do his highschool senior project 
>>>>>>>>> contributing to Apache Cassandra. This patch is his first 
>>>>>>>>> contribution for his senior project (his second feature contribution 
>>>>>>>>> to Apache Cassandra).
>>>>>>>>> 
>>>>>>>>> 

Reply via email to