+1 , as we must Improve the image of your own default indexing ability.

and As for *CREATE CUSTOM INDEX *, should we just left as it is and we can
disable the ability for create SAI through  *CREATE CUSTOM INDEX*  in some
version after 5.0?

for as I know there may be users using this as a plugin-index interface,
like https://github.com/Stratio/cassandra-lucene-index (though these
project may be inactive, But if someone wants to do something similar in
the future, we don't have to stop).



Jonathan Ellis <jbel...@gmail.com> 于2023年5月10日周三 10:01写道:

> +1 for this, especially in the long term.  CREATE INDEX should do the
> right thing for most people without requiring extra ceremony.
>
> On Tue, May 9, 2023 at 5:20 PM Jeremiah D Jordan <
> jeremiah.jor...@gmail.com> wrote:
>
>> If the consensus is that SAI is the right default index, then we should
>> just change CREATE INDEX to be SAI, and legacy 2i to be a CUSTOM INDEX.
>>
>>
>> On May 9, 2023, at 4:44 PM, Caleb Rackliffe <calebrackli...@gmail.com>
>> wrote:
>>
>> Earlier today, Mick started a thread on the future of our index creation
>> DDL on Slack:
>>
>> https://the-asf.slack.com/archives/C018YGVCHMZ/p1683527794220019
>>
>> At the moment, there are two ways to create a secondary index.
>>
>> *1.) CREATE INDEX [IF NOT EXISTS] [name] ON <table> (<column>)*
>>
>> This creates an optionally named legacy 2i on the provided table and
>> column.
>>
>>     ex. CREATE INDEX my_index ON kd.tbl(my_text_col)
>>
>> *2.) CREATE CUSTOM INDEX [IF NOT EXISTS] [name] ON <table> (<column>)
>> USING <class|alias> [WITH OPTIONS = <options>]*
>>
>> This creates a secondary index on the provided table and column using the
>> specified 2i implementation class and (optional) parameters.
>>
>>     ex. CREATE CUSTOM INDEX my_index ON ks.tbl(my_text_col) USING
>> 'StorageAttachedIndex'
>>
>> (Note that the work on SAI added aliasing, so `StorageAttachedIndex` is
>> shorthand for the fully-qualified class name, which is also valid.)
>>
>> So what is there to discuss?
>>
>> The concern Mick raised is...
>>
>> "...just folk continuing to use CREATE INDEX  because they think CREATE
>> CUSTOM INDEX is advanced (or just don't know of it), and we leave users
>> doing 2i (when they think they are, and/or we definitely want them to be,
>> using SAI)"
>>
>> To paraphrase, we want people to use SAI once it's available where
>> possible, and the default behavior of CREATE INDEX could be at odds w/
>> that.
>>
>> The proposal we seem to have landed on is something like the following:
>>
>> For 5.0:
>>
>> 1.) Disable by default the creation of new legacy 2i via CREATE INDEX.
>> 2.) Leave CREATE CUSTOM INDEX...USING... available by default.
>>
>> (Note: How this would interact w/ the existing secondary_indexes_enabled
>> YAML options isn't clear yet.)
>>
>> Post-5.0:
>>
>> 1.) Deprecate and eventually remove SASI when SAI hits full feature
>> parity w/ it.
>> 2.) Replace both CREATE INDEX and CREATE CUSTOM INDEX w/ something of a
>> hybrid between the two. For example, CREATE INDEX...USING...WITH. This
>> would both be flexible enough to accommodate index implementation selection
>> and prescriptive enough to force the user to make a decision (and wouldn't
>> change the legacy behavior of the existing CREATE INDEX). In this world,
>> creating a legacy 2i might look something like CREATE INDEX...USING
>> `legacy`.
>> 3.) Eventually deprecate CREATE CUSTOM INDEX...USING.
>>
>> Eventually we would have a single enabled DDL statement for index
>> creation that would be minimal but also explicit/able to handle some
>> evolution.
>>
>> What does everyone think?
>>
>>
>>
>
> --
> Jonathan Ellis
> co-founder, http://www.datastax.com
> @spyced
>


-- 
you are the apple of my eye !

Reply via email to