> > A relatively obscure name at least makes it easy to search for. I guess > we'll want to write a blog post to help get the name into search rankings > and officially 'introduce' what contributors have been up to?
Yes. I think the name is very comparable to Gandiva in this respect. To Antoine’s point, we may wish to have a canonical way to refer to the engine when introducing it, both to help understanding meaning and pronunciation. Given the unique name, I think people shouldn't have too hard a time remembering the purpose once familiar. Here's my initial attempt at that (but I'm sure there are others who have a better description): “Apache Arrow Acero (aˈsɛɾo)” - provides association with Arrow, but not its purpose, so not great. "The Acero (aˈsɛɾo) Query Engine" - provides meaning, but not association with Arrow "Acero (aˈsɛɾo): A C++ Arrow-based modular query engine" - a tag line provides opportunity for mentioning Arrow and purpose. This seems to be what Gandiva went for in the original blog post [1]. [1] https://arrow.apache.org/blog/2018/12/05/gandiva-donation/ On Thu, May 19, 2022 at 16:37 David Li <lidav...@apache.org> wrote: > I like Acero. A relatively obscure name at least makes it easy to search > for. I guess we'll want to write a blog post to help get the name into > search rankings and officially 'introduce' what contributors have been up > to? > > We could also come up with a backronym if we really want justification for > the name. > > On Thu, May 19, 2022, at 19:29, Sutou Kouhei wrote: > > I'm OK with "Acero". > > > > In <CAJPUwMDHAv=qqkjjwhmifkddwlt4i59v9heqtxuhggdnseu...@mail.gmail.com> > > "Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?" > > on Thu, 19 May 2022 12:02:25 -0700, > > Wes McKinney <wesmck...@gmail.com> wrote: > > > >> Any more thoughts about names? How should we decide? The “Acero” name > seems > >> like it does not generate any obvious conflicts. > >> > >> On Tue, May 10, 2022 at 12:14 PM Andy Grove <andygrov...@gmail.com> > wrote: > >> > >>> I like Acero too. I like it because (as a non-Spanish speaker, at > least) it > >>> has no obvious meaning or connotation and once the community starts to > use > >>> this name for the project, that is the meaning that it will come to > have. > >>> Just like Gandiva (a word I was not familiar with when I learned about > the > >>> project). I do strongly prefer names like this over acronyms because > it is > >>> easier for the meaning to change over time as well. > >>> > >>> On Tue, May 10, 2022 at 12:50 PM Eduardo Ponce <edponc...@gmail.com> > >>> wrote: > >>> > >>> > As a Spanish speaking person, I cannot think of a misleading or bad > >>> > connotation for the word "acero". The word is generally used to > refer to > >>> > either steel materials (actual definition) or as a simile/metaphor > >>> > comparing to something very strong. We can view this as a self-laud > on > >>> the > >>> > robust and powerful functionality of the Arrow C++ compute engine. > >>> > In terms of rhyming "acero" and Arrow, it depends on your accent. For > >>> > example, I do not consider them to rhyme. > >>> > Also, I do not think we need to treat it as an acronym, it can > simply be > >>> a > >>> > name. > >>> > > >>> > ~Eduardo > >>> > > >>> > On Tue, May 10, 2022 at 2:29 PM Will Jones <will.jones...@gmail.com> > >>> > wrote: > >>> > > >>> > > "Acero" has a nice ring to it. Almost as if you said "ACE Arrow" > really > >>> > > fast. And maybe the steel / iron meaning gives a sort of > close-to-metal > >>> > > vibes (similar to what Rust's name invokes), though I'm not a > Spanish > >>> > > speaker with a meaningful understanding of the words' connotations. > >>> > > > >>> > > On Tue, May 10, 2022 at 11:06 AM Wes McKinney <wesmck...@gmail.com > > > >>> > wrote: > >>> > > > >>> > > > A couple of other names derivative from the Ace- vibe: > >>> > > > > >>> > > > Acero ("steel" or sometimes "sword" in Spanish but apparently > also > >>> > > > "maple" in Italian). Also rhymes with Arrow but not sure if this > is > >>> > > > good or bad > >>> > > > Acera ("pavement" or "sidewalk" in Spanish) > >>> > > > > >>> > > > On Tue, May 10, 2022 at 9:53 AM Will Jones < > will.jones...@gmail.com> > >>> > > > wrote: > >>> > > > > > >>> > > > > I think it is important to give the C++ execution engine a > separate > >>> > > name, > >>> > > > > as has been said by Wes and Jacques. Two reason for that IMO: > >>> > > > > > >>> > > > > 1. The more things we lend the Arrow brand outside of the > format, > >>> > the > >>> > > > > harder it becomes for outside users to grasp what "Arrow" is. > >>> > > > > 2. Giving the C++ engine a name under the Arrow umbrella > gives it > >>> > > undue > >>> > > > > weight relative to other Arrow-based engines (such as > DataFusion, > >>> > > > Polars), > >>> > > > > which may not generate good faith in the Arrow community. > >>> > > > > > >>> > > > > If the "ACE" name has stuck, one option might be to simply > adopt > >>> the > >>> > > word > >>> > > > > "Ace" and call it the "Ace Query Engine". "Ace" both taking > meaning > >>> > > from > >>> > > > > the modern "a person who excels at some activity" or the > original > >>> > > > "playing > >>> > > > > card ... with a single pip" [1] (as an indication of > >>> > > single-noded-ness). > >>> > > > > > >>> > > > > Antoine did point out the ACE name is taken by a C++ library. > The > >>> > "Ace" > >>> > > > > name is also used by the javascript library [2], but I think > is a > >>> > > general > >>> > > > > enough work that no single library has much specific claim to > it. > >>> > > > > > >>> > > > > Some other names I thought of: > >>> > > > > Arrow Recurve > >>> > > > > Ace Archer > >>> > > > > Arrow Ricochet > >>> > > > > > >>> > > > > [1] https://en.wikipedia.org/wiki/Ace > >>> > > > > [2] https://ace.c9.io/ > >>> > > > > > >>> > > > > On Tue, May 10, 2022 at 12:44 AM Antoine Pitrou < > >>> anto...@python.org> > >>> > > > wrote: > >>> > > > > > >>> > > > > > > >>> > > > > > Do we have to give it a particular name at all? Most of the > C++ > >>> > > > > > subcomponents simply have a description ("the datasets > layer", > >>> > etc.). > >>> > > > > > There are probably more important topics to spend our time > on. > >>> > > > > > > >>> > > > > > Regards > >>> > > > > > > >>> > > > > > Antoine. > >>> > > > > > > >>> > > > > > > >>> > > > > > Le 09/05/2022 à 21:44, Ian Cook a écrit : > >>> > > > > > > Reflecting on this discussion six weeks after Wes’s initial > >>> > > message: > >>> > > > I > >>> > > > > > > like the “ACE” name. I have been using it to refer to the > Arrow > >>> > C++ > >>> > > > > > > execution engine in verbal conversations with > contributors, and > >>> > it > >>> > > > has > >>> > > > > > > been a much-needed convenient monosyllabic shorthand for a > part > >>> > of > >>> > > > the > >>> > > > > > > Arrow project that has not previously had a clear and > memorable > >>> > > name. > >>> > > > > > > > >>> > > > > > > I agree with Sasha that it would be ideal to use some > >>> > metaphorical > >>> > > or > >>> > > > > > > symbolic Archery-adjacent name prefaced with “Arrow,” but > no > >>> such > >>> > > > name > >>> > > > > > > has evolved organically to date. And it’s not for lack of > >>> > trying—a > >>> > > > few > >>> > > > > > > months back I floated the idea to some people that we > should > >>> call > >>> > > it > >>> > > > > > > “Chiron” after the centaur from Greek mythology associated > with > >>> > > > > > > archery, but it never caught on :) Since there is no clear > >>> > > consensus > >>> > > > > > > about which such creative name we might invent now, I think > >>> > > adopting > >>> > > > a > >>> > > > > > > creative name would require strong advocacy and > >>> > consensus-building > >>> > > > > > > work from someone central to the project, and this has not > >>> > emerged. > >>> > > > > > > Thus, a more literal descriptive name seems like our best > >>> choice. > >>> > > > > > > > >>> > > > > > > If we do go with “ACE” as the acronym, then we will need to > >>> > > establish > >>> > > > > > > what that stands for. If we make the full name clear to the > >>> > > community > >>> > > > > > > and we use it alongside the acronym on the website, that > should > >>> > > help > >>> > > > > > > with problems of Googlability of the acronym. > >>> > > > > > > > >>> > > > > > > That raises the question of what the “C” stands for. I > agree > >>> with > >>> > > > > > > Jacques that it is less than ideal to have the “C” stand > for > >>> > > > “Compute” > >>> > > > > > > because it could create a misleading and undesirable > >>> connotation > >>> > of > >>> > > > > > > primacy. I also agree with Andy that it is less than ideal > for > >>> > the > >>> > > > “C” > >>> > > > > > > to stand for “C++” because it is intended to be used from > other > >>> > > > > > > languages. I am unsure how we should weigh these two > concerns. > >>> > More > >>> > > > > > > input on this question would be appreciated. > >>> > > > > > > > >>> > > > > > > Ian > >>> > > > > > > > >>> > > > > > > On Mon, Apr 18, 2022 at 5:31 PM Jacques Nadeau < > >>> > jacq...@apache.org > >>> > > > > >>> > > > > > wrote: > >>> > > > > > >> > >>> > > > > > >> I'm -0.9 on Arrow Compute engine. It makes it sound like > it is > >>> > THE > >>> > > > > > >> canonical Arrow one, second classing Datafusion and > Gandiva. > >>> > > > > > >> > >>> > > > > > >> No strong feelings on other names. Naming in general is an > >>> > > extremely > >>> > > > > > >> subjective process... > >>> > > > > > >> > >>> > > > > > >> > >>> > > > > > >> > >>> > > > > > >> On Thu, Mar 31, 2022, 2:33 PM Weston Pace < > >>> > weston.p...@gmail.com> > >>> > > > > > wrote: > >>> > > > > > >> > >>> > > > > > >>> I'm +1 for "arrow compute engine". In the docs we > currently > >>> > > refer > >>> > > > to > >>> > > > > > >>> it as the "streaming execution engine". I do like the > word > >>> > > > > > >>> "streaming" as it is the difference between the engine > and > >>> the > >>> > > > general > >>> > > > > > >>> "compute" module but the word is also overloaded and we > can > >>> > > easily > >>> > > > > > >>> include the word "streaming" in the first sentence of > >>> whatever > >>> > > > > > >>> description we have for the engine. > >>> > > > > > >>> > >>> > > > > > >>>> I'd personally like to see such a word for the query > engine > >>> > > > (otherwise > >>> > > > > > >>> we'd > >>> > > > > > >>>> have to call Arrow Flight "Arrow Wire Protocol" 😅). > Even > >>> > > > something > >>> > > > > > like > >>> > > > > > >>>> "Arrow Archer" or "Arrow Bow" would be sufficient for > me. > >>> > > > > > >>> > >>> > > > > > >>> I do like the idea of calling it just "bow" and I'm not > >>> against > >>> > > > either > >>> > > > > > >>> of these names (+0). I think I still lean towards > something > >>> > more > >>> > > > > > >>> plain and descriptive (arrow wire protocol has a nice > ring to > >>> > > > it...) > >>> > > > > > >>> > >>> > > > > > >>> On Tue, Mar 29, 2022 at 9:10 AM Sasha Krassovsky > >>> > > > > > >>> <krassovskysa...@gmail.com> wrote: > >>> > > > > > >>>> > >>> > > > > > >>>> In my view, the Arrow project has the core format > >>> > specification > >>> > > > > > (called > >>> > > > > > >>>> Arrow), and then ancillary libraries for actually > *doing* > >>> > stuff > >>> > > > with > >>> > > > > > >>> Arrow > >>> > > > > > >>>> data, such as Arrow Flight and the query engine (within > the > >>> > > > `arrow` > >>> > > > > > >>>> subdirectory in particular). I think these ancillary > >>> libraries > >>> > > > should > >>> > > > > > all > >>> > > > > > >>>> follow a similar naming convention. Seems like the > precedent > >>> > set > >>> > > > by > >>> > > > > > Arrow > >>> > > > > > >>>> Flight is "Arrow <mildly archery-related, descriptive > >>> word>", > >>> > so > >>> > > > I'd > >>> > > > > > >>>> personally like to see such a word for the query engine > >>> > > (otherwise > >>> > > > > > we'd > >>> > > > > > >>>> have to call Arrow Flight "Arrow Wire Protocol" 😅). > Even > >>> > > > something > >>> > > > > > like > >>> > > > > > >>>> "Arrow Archer" or "Arrow Bow" would be sufficient for > me. > >>> > > > > > >>>> > >>> > > > > > >>>> Sasha Krassovsky > >>> > > > > > >>>> > >>> > > > > > >>>> > >>> > > > > > >>>> > >>> > > > > > >>>> On Tue, Mar 29, 2022 at 9:25 AM Gavin Ray < > >>> > > ray.gavi...@gmail.com> > >>> > > > > > wrote: > >>> > > > > > >>>> > >>> > > > > > >>>>> "Arrow Compute Engine" sounds quite nice to me, tbh > >>> > > > > > >>>>> Agreeing with the points made above about ACE being > >>> difficult > >>> > > to > >>> > > > > > >>> google, > >>> > > > > > >>>>> and AQE being a loaded term in query engines already. > >>> > > > > > >>>>> > >>> > > > > > >>>>> > >>> > > > > > >>>>> On Tue, Mar 29, 2022 at 10:07 AM Andy Grove < > >>> > > > andygrov...@gmail.com> > >>> > > > > > >>> wrote: > >>> > > > > > >>>>> > >>> > > > > > >>>>>> Just my 2 cents on this. If you were to call it ACE, I > >>> would > >>> > > > make > >>> > > > > > >>> the C > >>> > > > > > >>>>>> stand for "Compute" rather than C++ since it is > intended > >>> to > >>> > be > >>> > > > used > >>> > > > > > >>> from > >>> > > > > > >>>>>> other languages, such as Python. > >>> > > > > > >>>>>> > >>> > > > > > >>>>>> The problem with ACE is that is a common word and it > will > >>> > make > >>> > > > it > >>> > > > > > >>> hard to > >>> > > > > > >>>>>> Google for documentation. Even the combination of > Arrow > >>> and > >>> > > ACE > >>> > > > > > >>> already > >>> > > > > > >>>>> has > >>> > > > > > >>>>>> plenty of results. > >>> > > > > > >>>>>> > >>> > > > > > >>>>>> Also, I saw in the linked doc a reference to AQE (for > >>> Arrow > >>> > > > Query > >>> > > > > > >>>>> Engine). > >>> > > > > > >>>>>> I would not recommend using this since many people > know > >>> AQE > >>> > as > >>> > > > > > >>> Adaptive > >>> > > > > > >>>>>> Query Execution (especially Spark users). > >>> > > > > > >>>>>> > >>> > > > > > >>>>>> "Arrow Compute Engine" in full doesn't sound bad > perhaps? > >>> > > > > > >>>>>> > >>> > > > > > >>>>>> With DataFusion, I made a list of words related to the > >>> > project > >>> > > > > > (data, > >>> > > > > > >>>>>> query, compute, engine, etc) and then a list of > completely > >>> > > > unrelated > >>> > > > > > >>>>> words > >>> > > > > > >>>>>> and then looked at the combinations to see what > sounded > >>> good > >>> > > to > >>> > > > me. > >>> > > > > > >>>>>> > >>> > > > > > >>>>>> Andy. > >>> > > > > > >>>>>> > >>> > > > > > >>>>>> > >>> > > > > > >>>>>> > >>> > > > > > >>>>>> > >>> > > > > > >>>>>> On Mon, Mar 28, 2022 at 4:31 PM Antoine Pitrou < > >>> > > > anto...@python.org> > >>> > > > > > >>>>> wrote: > >>> > > > > > >>>>>> > >>> > > > > > >>>>>>> > >>> > > > > > >>>>>>> ACE is already the name of a well-known C++ library, > >>> though > >>> > > > I'm not > >>> > > > > > >>>>> sure > >>> > > > > > >>>>>>> how widely used it is nowadays : > >>> > > > > > >>>>>>> http://www.dre.vanderbilt.edu/~schmidt/ACE.html > >>> > > > > > >>>>>>> > >>> > > > > > >>>>>>> I would name it "execution engine" or "Arrow C++ > >>> execution > >>> > > > engine" > >>> > > > > > >>> in > >>> > > > > > >>>>>> full. > >>> > > > > > >>>>>>> > >>> > > > > > >>>>>>> Regards > >>> > > > > > >>>>>>> > >>> > > > > > >>>>>>> Antoine. > >>> > > > > > >>>>>>> > >>> > > > > > >>>>>>> > >>> > > > > > >>>>>>> Le 29/03/2022 à 00:15, Wes McKinney a écrit : > >>> > > > > > >>>>>>>> hi all, > >>> > > > > > >>>>>>>> > >>> > > > > > >>>>>>>> There has been a steady stream of work over the last > >>> year > >>> > > and > >>> > > > a > >>> > > > > > >>> half > >>> > > > > > >>>>>>>> or so to create a set of query engine building > blocks in > >>> > C++ > >>> > > > to > >>> > > > > > >>>>>>>> evaluate queries against Arrow Datasets and input > >>> streams, > >>> > > > which > >>> > > > > > >>> can > >>> > > > > > >>>>>>>> be of use to applications that are already building > on > >>> top > >>> > > of > >>> > > > the > >>> > > > > > >>>>>>>> Arrow C++ project. This effort has a smaller surface > >>> area > >>> > > than > >>> > > > > > >>>>>>>> DataFusion since SQL parsing and query optimization > are > >>> > > being > >>> > > > > > >>> left to > >>> > > > > > >>>>>>>> other tools. > >>> > > > > > >>>>>>>> > >>> > > > > > >>>>>>>> I thought it would be useful to have a name for this > >>> > > > subproject > >>> > > > > > >>>>>>>> similar to how we have Gandiva, Plasma, DataFusion, > and > >>> > > other > >>> > > > > > >>> named > >>> > > > > > >>>>>>>> Apache Arrow subprojects. We had discussed creating > a > >>> > > project > >>> > > > > > >>> like > >>> > > > > > >>>>>>>> this a few years ago [1], but since there are now > >>> multiple > >>> > > > > > >>>>>>>> Arrow-native or Arrow-compatible query engines in > the > >>> > wild, > >>> > > it > >>> > > > > > >>> would > >>> > > > > > >>>>>>>> be helpful to disambiguate. > >>> > > > > > >>>>>>>> > >>> > > > > > >>>>>>>> One simple name is ACE — Arrow C++ Engine. I'm not > very > >>> > good > >>> > > > at > >>> > > > > > >>>>> naming > >>> > > > > > >>>>>>>> things, so if there are other suggestions from the > >>> > > community I > >>> > > > > > >>> would > >>> > > > > > >>>>>>>> love to hear them! > >>> > > > > > >>>>>>>> > >>> > > > > > >>>>>>>> Thanks, > >>> > > > > > >>>>>>>> Wes > >>> > > > > > >>>>>>>> > >>> > > > > > >>>>>>>> [1]: > >>> > > > > > >>>>>>> > >>> > > > > > >>>>>> > >>> > > > > > >>>>> > >>> > > > > > >>> > >>> > > > > > > >>> > > > > >>> > > > >>> > > >>> > https://docs.google.com/document/d/10RoUZmiMQRi_J1FcPeVAUAMJ6d_ZuiEbaM2Y33sNPu4/edit#heading=h.2k6k5a4y9b8y > >>> > > > > > >>>>>>> > >>> > > > > > >>>>>> > >>> > > > > > >>>>> > >>> > > > > > >>> > >>> > > > > > > >>> > > > > >>> > > > >>> > > >>> >