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 >>> > > > > > >>>>>>> >>> > > > > > >>>>>> >>> > > > > > >>>>> >>> > > > > > >>> >>> > > > > > >>> > > > >>> > > >>> > >>>