You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by Jacques Nadeau <ja...@apache.org> on 2022/04/18 21:31:10 UTC

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

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 <we...@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
> <kr...@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 <ra...@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 <an...@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 <an...@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
> > > > >
> > > >
> > >
>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Aldrin <ak...@ucsc.edu.INVALID>.
in that vein, I feel like you could also say that "ACE" has an "an" prefix
to deflect the connotation of primacy:
- An Arrow Compute Engine
- An Arrow C++ Compute Engine

Aldrin Montana
Computer Science PhD Student
UC Santa Cruz


On Mon, May 9, 2022 at 2:12 PM Ian Cook <ia...@ursacomputing.com> wrote:

> If we wish for the "C" to stand for both "C++" and "Compute," we could
> just say that it stands for both, and still use the acronym
> "ACE"—which is a nice acronym because of its unambigious spelling and
> pronunciation. That sort of thing has been done before [1]
>
> [1]
> https://english.stackexchange.com/questions/97710/double-acronym-initialism-acronyms-and-initialisms-that-stand-for-two-things-si
>
> On Mon, May 9, 2022 at 4:50 PM Jacob Wujciak <ja...@voltrondata.com>
> wrote:
> >
> > AC²E? Phonetically still ACE but visually and meaningwise distinct.
> >
> > On Mon, May 9, 2022 at 10:06 PM Andy Grove <an...@gmail.com>
> wrote:
> >
> > > I also spent a bit of time thinking about this but did not come up with
> > > anything great. I thought about Arrow C++ Compute Engine which is
> quite an
> > > accurate description but has the awkward acronym ACCE, and then I
> tried to
> > > invent an L to go on the end for ACCEL which is the base of
> "accelerate",
> > > which would be convenient ... but ran out of inspiration at that point.
> > >
> > > On Mon, May 9, 2022 at 1:45 PM Ian Cook <ia...@ursacomputing.com> wrote:
> > >
> > > > 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 <ja...@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 <we...@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
> > > > > > <kr...@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.gavin97@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 <
> > > andygrove73@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 <
> > > > antoine@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
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > >
> > > >
> > >
>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Ian Cook <ia...@ursacomputing.com>.
If we wish for the "C" to stand for both "C++" and "Compute," we could
just say that it stands for both, and still use the acronym
"ACE"—which is a nice acronym because of its unambigious spelling and
pronunciation. That sort of thing has been done before [1]

[1] https://english.stackexchange.com/questions/97710/double-acronym-initialism-acronyms-and-initialisms-that-stand-for-two-things-si

On Mon, May 9, 2022 at 4:50 PM Jacob Wujciak <ja...@voltrondata.com> wrote:
>
> AC²E? Phonetically still ACE but visually and meaningwise distinct.
>
> On Mon, May 9, 2022 at 10:06 PM Andy Grove <an...@gmail.com> wrote:
>
> > I also spent a bit of time thinking about this but did not come up with
> > anything great. I thought about Arrow C++ Compute Engine which is quite an
> > accurate description but has the awkward acronym ACCE, and then I tried to
> > invent an L to go on the end for ACCEL which is the base of "accelerate",
> > which would be convenient ... but ran out of inspiration at that point.
> >
> > On Mon, May 9, 2022 at 1:45 PM Ian Cook <ia...@ursacomputing.com> wrote:
> >
> > > 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 <ja...@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 <we...@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
> > > > > <kr...@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 <ra...@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 <
> > andygrove73@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 <
> > > antoine@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
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > >
> >

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Jacob Wujciak <ja...@voltrondata.com>.
AC²E? Phonetically still ACE but visually and meaningwise distinct.

On Mon, May 9, 2022 at 10:06 PM Andy Grove <an...@gmail.com> wrote:

> I also spent a bit of time thinking about this but did not come up with
> anything great. I thought about Arrow C++ Compute Engine which is quite an
> accurate description but has the awkward acronym ACCE, and then I tried to
> invent an L to go on the end for ACCEL which is the base of "accelerate",
> which would be convenient ... but ran out of inspiration at that point.
>
> On Mon, May 9, 2022 at 1:45 PM Ian Cook <ia...@ursacomputing.com> wrote:
>
> > 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 <ja...@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 <we...@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
> > > > <kr...@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 <ra...@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 <
> andygrove73@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 <
> > antoine@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
> > > > > > > >
> > > > > > >
> > > > > >
> > > >
> >
>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Andy Grove <an...@gmail.com>.
I also spent a bit of time thinking about this but did not come up with
anything great. I thought about Arrow C++ Compute Engine which is quite an
accurate description but has the awkward acronym ACCE, and then I tried to
invent an L to go on the end for ACCEL which is the base of "accelerate",
which would be convenient ... but ran out of inspiration at that point.

On Mon, May 9, 2022 at 1:45 PM Ian Cook <ia...@ursacomputing.com> wrote:

> 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 <ja...@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 <we...@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
> > > <kr...@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 <ra...@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 <andygrove73@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 <
> antoine@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
> > > > > > >
> > > > > >
> > > > >
> > >
>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Will Jones <wi...@gmail.com>.
Thank you Weston for creating that PR to update the docs.

+1 RE David Li's comment:

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?


I've created an issue for such a post [1]. I'll happily suggest an outline
in there, but there's likely more knowledgeable people to fill in the
details.

[1] https://issues.apache.org/jira/browse/ARROW-16632

On Fri, May 20, 2022 at 7:32 PM Weston Pace <we...@gmail.com> wrote:

> There seems to be some consensus growing around the Acero name.  There
> is not much code right now that refers to "the engine" as a standalone
> concept but we do have documentation that describes a "streaming
> execution engine".  I've created a PR[1] to update the documentation
> we do have to use the name Acero.
>
> For those that wish to fine-tune the messaging of Acero it would
> probably be best to direct improvements to the PR (or open additional
> PRs).
>
> This ML thread can then be left for discussion of alternative names or
> concerns around the naming itself.
>
> I, for one, am more eager to get this naming dilemma behind us and
> worry about functionality :)
>
> [1] https://github.com/apache/arrow/pull/13207
>
> On Fri, May 20, 2022 at 7:06 AM Andy Grove <an...@gmail.com> wrote:
> >
> > Arrow Compute/C++ Engine for Relational Operations?
> >
> > On Fri, May 20, 2022 at 9:31 AM Aldrin <ak...@ucsc.edu.invalid>
> wrote:
> >
> > > Perhaps:
> > > "Acero (aˈsɛɾo): *A* *c*ompute *e*ngine for Ar*ro*w" -  Most similar to
> > > Will's 3rd option, but enforces that it purposefully sounds like "ACE
> > > Arrow" or something to that effect. Then, it's also easy to use a
> > > shortened, canonical name--compute engine.
> > >
> > > Optionally "C++" can be inserted ("A C++ compute...")
> > >
> > >
> > > Aldrin Montana
> > > Computer Science PhD Student
> > > UC Santa Cruz
> > >
> > >
> > > On Thu, May 19, 2022 at 6:07 PM Will Jones <wi...@gmail.com>
> > > wrote:
> > >
> > > > >
> > > > > 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 <li...@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=
> > > QqkjjwHmiFKDDWLT4i59v9HeqtxuHggDNsEUHwQ@mail.gmail.com
> > > > >
> > > > > >   "Re: [DISCUSS] "Naming" the Arrow C++ execution engine
> subproject?"
> > > > > > on Thu, 19 May 2022 12:02:25 -0700,
> > > > > >   Wes McKinney <we...@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 <
> andygrove73@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 <
> > > edponce00@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.jones127@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 <
> > > > wesmckinn@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.jones127@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 <
> > > > > >>> antoine@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 <
> > > > > >>> > jacques@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.pace@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
> > > > > >>> > > > > > >>> <kr...@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.gavin97@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 <
> > > > > >>> > > > andygrove73@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 <
> > > > > >>> > > > antoine@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
> > > > > >>> > > > > > >>>>>>>
> > > > > >>> > > > > > >>>>>>
> > > > > >>> > > > > > >>>>>
> > > > > >>> > > > > > >>>
> > > > > >>> > > > > >
> > > > > >>> > > >
> > > > > >>> > >
> > > > > >>> >
> > > > > >>>
> > > > >
> > > >
> > >
>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Weston Pace <we...@gmail.com>.
There seems to be some consensus growing around the Acero name.  There
is not much code right now that refers to "the engine" as a standalone
concept but we do have documentation that describes a "streaming
execution engine".  I've created a PR[1] to update the documentation
we do have to use the name Acero.

For those that wish to fine-tune the messaging of Acero it would
probably be best to direct improvements to the PR (or open additional
PRs).

This ML thread can then be left for discussion of alternative names or
concerns around the naming itself.

I, for one, am more eager to get this naming dilemma behind us and
worry about functionality :)

[1] https://github.com/apache/arrow/pull/13207

On Fri, May 20, 2022 at 7:06 AM Andy Grove <an...@gmail.com> wrote:
>
> Arrow Compute/C++ Engine for Relational Operations?
>
> On Fri, May 20, 2022 at 9:31 AM Aldrin <ak...@ucsc.edu.invalid> wrote:
>
> > Perhaps:
> > "Acero (aˈsɛɾo): *A* *c*ompute *e*ngine for Ar*ro*w" -  Most similar to
> > Will's 3rd option, but enforces that it purposefully sounds like "ACE
> > Arrow" or something to that effect. Then, it's also easy to use a
> > shortened, canonical name--compute engine.
> >
> > Optionally "C++" can be inserted ("A C++ compute...")
> >
> >
> > Aldrin Montana
> > Computer Science PhD Student
> > UC Santa Cruz
> >
> >
> > On Thu, May 19, 2022 at 6:07 PM Will Jones <wi...@gmail.com>
> > wrote:
> >
> > > >
> > > > 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 <li...@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=
> > QqkjjwHmiFKDDWLT4i59v9HeqtxuHggDNsEUHwQ@mail.gmail.com
> > > >
> > > > >   "Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?"
> > > > > on Thu, 19 May 2022 12:02:25 -0700,
> > > > >   Wes McKinney <we...@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 <an...@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 <
> > edponce00@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.jones127@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 <
> > > wesmckinn@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.jones127@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 <
> > > > >>> antoine@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 <
> > > > >>> > jacques@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.pace@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
> > > > >>> > > > > > >>> <kr...@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.gavin97@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 <
> > > > >>> > > > andygrove73@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 <
> > > > >>> > > > antoine@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
> > > > >>> > > > > > >>>>>>>
> > > > >>> > > > > > >>>>>>
> > > > >>> > > > > > >>>>>
> > > > >>> > > > > > >>>
> > > > >>> > > > > >
> > > > >>> > > >
> > > > >>> > >
> > > > >>> >
> > > > >>>
> > > >
> > >
> >

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Andy Grove <an...@gmail.com>.
Arrow Compute/C++ Engine for Relational Operations?

On Fri, May 20, 2022 at 9:31 AM Aldrin <ak...@ucsc.edu.invalid> wrote:

> Perhaps:
> "Acero (aˈsɛɾo): *A* *c*ompute *e*ngine for Ar*ro*w" -  Most similar to
> Will's 3rd option, but enforces that it purposefully sounds like "ACE
> Arrow" or something to that effect. Then, it's also easy to use a
> shortened, canonical name--compute engine.
>
> Optionally "C++" can be inserted ("A C++ compute...")
>
>
> Aldrin Montana
> Computer Science PhD Student
> UC Santa Cruz
>
>
> On Thu, May 19, 2022 at 6:07 PM Will Jones <wi...@gmail.com>
> wrote:
>
> > >
> > > 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 <li...@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=
> QqkjjwHmiFKDDWLT4i59v9HeqtxuHggDNsEUHwQ@mail.gmail.com
> > >
> > > >   "Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?"
> > > > on Thu, 19 May 2022 12:02:25 -0700,
> > > >   Wes McKinney <we...@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 <an...@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 <
> edponce00@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.jones127@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 <
> > wesmckinn@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.jones127@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 <
> > > >>> antoine@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 <
> > > >>> > jacques@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.pace@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
> > > >>> > > > > > >>> <kr...@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.gavin97@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 <
> > > >>> > > > andygrove73@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 <
> > > >>> > > > antoine@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
> > > >>> > > > > > >>>>>>>
> > > >>> > > > > > >>>>>>
> > > >>> > > > > > >>>>>
> > > >>> > > > > > >>>
> > > >>> > > > > >
> > > >>> > > >
> > > >>> > >
> > > >>> >
> > > >>>
> > >
> >
>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Aldrin <ak...@ucsc.edu.INVALID>.
Perhaps:
"Acero (aˈsɛɾo): *A* *c*ompute *e*ngine for Ar*ro*w" -  Most similar to
Will's 3rd option, but enforces that it purposefully sounds like "ACE
Arrow" or something to that effect. Then, it's also easy to use a
shortened, canonical name--compute engine.

Optionally "C++" can be inserted ("A C++ compute...")


Aldrin Montana
Computer Science PhD Student
UC Santa Cruz


On Thu, May 19, 2022 at 6:07 PM Will Jones <wi...@gmail.com> wrote:

> >
> > 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 <li...@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=QqkjjwHmiFKDDWLT4i59v9HeqtxuHggDNsEUHwQ@mail.gmail.com
> >
> > >   "Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?"
> > > on Thu, 19 May 2022 12:02:25 -0700,
> > >   Wes McKinney <we...@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 <an...@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 <ed...@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.jones127@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 <
> wesmckinn@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.jones127@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 <
> > >>> antoine@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 <
> > >>> > jacques@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.pace@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
> > >>> > > > > > >>> <kr...@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.gavin97@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 <
> > >>> > > > andygrove73@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 <
> > >>> > > > antoine@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
> > >>> > > > > > >>>>>>>
> > >>> > > > > > >>>>>>
> > >>> > > > > > >>>>>
> > >>> > > > > > >>>
> > >>> > > > > >
> > >>> > > >
> > >>> > >
> > >>> >
> > >>>
> >
>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Will Jones <wi...@gmail.com>.
>
> 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 <li...@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 <CA...@mail.gmail.com>
> >   "Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?"
> > on Thu, 19 May 2022 12:02:25 -0700,
> >   Wes McKinney <we...@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 <an...@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 <ed...@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 <wi...@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 <wesmckinn@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.jones127@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 <
> >>> antoine@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 <
> >>> > jacques@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.pace@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
> >>> > > > > > >>> <kr...@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.gavin97@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 <
> >>> > > > andygrove73@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 <
> >>> > > > antoine@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
> >>> > > > > > >>>>>>>
> >>> > > > > > >>>>>>
> >>> > > > > > >>>>>
> >>> > > > > > >>>
> >>> > > > > >
> >>> > > >
> >>> > >
> >>> >
> >>>
>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by David Li <li...@apache.org>.
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 <CA...@mail.gmail.com>
>   "Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?" 
> on Thu, 19 May 2022 12:02:25 -0700,
>   Wes McKinney <we...@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 <an...@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 <ed...@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 <wi...@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 <we...@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 <wi...@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 <
>>> antoine@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 <
>>> > jacques@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.pace@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
>>> > > > > > >>> <kr...@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.gavin97@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 <
>>> > > > andygrove73@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 <
>>> > > > antoine@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
>>> > > > > > >>>>>>>
>>> > > > > > >>>>>>
>>> > > > > > >>>>>
>>> > > > > > >>>
>>> > > > > >
>>> > > >
>>> > >
>>> >
>>>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Sutou Kouhei <ko...@clear-code.com>.
I'm OK with "Acero".

In <CA...@mail.gmail.com>
  "Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?" on Thu, 19 May 2022 12:02:25 -0700,
  Wes McKinney <we...@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 <an...@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 <ed...@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 <wi...@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 <we...@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 <wi...@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 <
>> antoine@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 <
>> > jacques@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.pace@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
>> > > > > > >>> <kr...@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.gavin97@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 <
>> > > > andygrove73@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 <
>> > > > antoine@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
>> > > > > > >>>>>>>
>> > > > > > >>>>>>
>> > > > > > >>>>>
>> > > > > > >>>
>> > > > > >
>> > > >
>> > >
>> >
>>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Antoine Pitrou <an...@python.org>.
I would still favour something that's not a gratuitously obscure name.


Le 19/05/2022 à 21:02, Wes McKinney a écrit :
> 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 <an...@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 <ed...@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 <wi...@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 <we...@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 <wi...@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 <
>> antoine@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 <
>>> jacques@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.pace@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
>>>>>>>>>> <kr...@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.gavin97@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 <
>>>>> andygrove73@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 <
>>>>> antoine@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
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>
>>>>>
>>>>
>>>
>>
> 

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Wes McKinney <we...@gmail.com>.
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 <an...@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 <ed...@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 <wi...@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 <we...@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 <wi...@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 <
> antoine@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 <
> > jacques@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.pace@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
> > > > > > >>> <kr...@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.gavin97@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 <
> > > > andygrove73@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 <
> > > > antoine@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
> > > > > > >>>>>>>
> > > > > > >>>>>>
> > > > > > >>>>>
> > > > > > >>>
> > > > > >
> > > >
> > >
> >
>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Andy Grove <an...@gmail.com>.
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 <ed...@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 <wi...@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 <we...@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 <wi...@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 <an...@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 <
> jacques@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.pace@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
> > > > > >>> <kr...@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.gavin97@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 <
> > > andygrove73@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 <
> > > antoine@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
> > > > > >>>>>>>
> > > > > >>>>>>
> > > > > >>>>>
> > > > > >>>
> > > > >
> > >
> >
>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Eduardo Ponce <ed...@gmail.com>.
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 <wi...@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 <we...@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 <wi...@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 <an...@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 <jacques@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 <we...@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
> > > > >>> <kr...@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.gavin97@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 <
> > andygrove73@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 <
> > antoine@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
> > > > >>>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > > >>>
> > > >
> >
>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Will Jones <wi...@gmail.com>.
"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 <we...@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 <wi...@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 <an...@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 <ja...@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 <we...@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
> > > >>> <kr...@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 <ra...@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 <
> andygrove73@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 <
> antoine@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
> > > >>>>>>>
> > > >>>>>>
> > > >>>>>
> > > >>>
> > >
>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Wes McKinney <we...@gmail.com>.
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 <wi...@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 <an...@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 <ja...@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 <we...@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
> > >>> <kr...@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 <ra...@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 <an...@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 <an...@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
> > >>>>>>>
> > >>>>>>
> > >>>>>
> > >>>
> >

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Will Jones <wi...@gmail.com>.
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 <an...@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 <ja...@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 <we...@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
> >>> <kr...@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 <ra...@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 <an...@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 <an...@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
> >>>>>>>
> >>>>>>
> >>>>>
> >>>
>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Antoine Pitrou <an...@python.org>.
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 <ja...@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 <we...@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
>>> <kr...@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 <ra...@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 <an...@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 <an...@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
>>>>>>>
>>>>>>
>>>>>
>>>

Re: [DISCUSS] "Naming" the Arrow C++ execution engine subproject?

Posted by Ian Cook <ia...@ursacomputing.com>.
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 <ja...@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 <we...@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
> > <kr...@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 <ra...@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 <an...@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 <an...@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
> > > > > >
> > > > >
> > > >
> >