Usability Issue: Web Console doesn't give an option to add a primary key to object fields list

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Usability Issue: Web Console doesn't give an option to add a primary key to object fields list

dmagda
Alex K., Igniters,

It’s is stated that an existing JDBC based application that works with a relation database should be easily migrated to Apache Ignite if we used Web Console and JDBC driver. So, I decided to prove this.

A simple application was created that issues a bunch of SELECT, UPDATE, etc. queries.

For instance, the simplest query I had looks like this:

SELECT * FROM city WHERE id = ?

When Web Console is used for the schema importing purposes it doesn’t add ‘id’ field to a City POJO and, consequently, doesn’t define index for this field. *From technical perspective*, I do understand why we do this - to save some memory because cache entries key will be used as ‘id’ instead.

But this breaks the usability in some sense because my simplest query above no longer works.

What if we add a special checkbox to Web Console that will add fields like ‘id’ to a POJO? If the checkbox is disabled (default) we should show a message at the final importing stage saying that fields like ‘id’ has to be replaced with ‘_key’.

Thoughts?
Reply | Threaded
Open this post in threaded view
|

Re: Usability Issue: Web Console doesn't give an option to add a primary key to object fields list

Alexey Kuznetsov
Denis,

I think I understand what do you need.
But may be we can go in some other way, for example, provide some kind of
alias for "_key" field?
In this case no checkbox will be needed.

Sergi, what do you think about introducing alias for "_key" field in order
for easy migration of existing applications from RDBMS to Ignite.

On Thu, Mar 16, 2017 at 7:19 AM, Denis Magda <[hidden email]> wrote:

> Alex K., Igniters,
>
> It’s is stated that an existing JDBC based application that works with a
> relation database should be easily migrated to Apache Ignite if we used Web
> Console and JDBC driver. So, I decided to prove this.
>
> A simple application was created that issues a bunch of SELECT, UPDATE,
> etc. queries.
>
> For instance, the simplest query I had looks like this:
>
> SELECT * FROM city WHERE id = ?
>
> When Web Console is used for the schema importing purposes it doesn’t add
> ‘id’ field to a City POJO and, consequently, doesn’t define index for this
> field. *From technical perspective*, I do understand why we do this - to
> save some memory because cache entries key will be used as ‘id’ instead.
>
> But this breaks the usability in some sense because my simplest query
> above no longer works.
>
> What if we add a special checkbox to Web Console that will add fields like
> ‘id’ to a POJO? If the checkbox is disabled (default) we should show a
> message at the final importing stage saying that fields like ‘id’ has to be
> replaced with ‘_key’.
>
> Thoughts?




--
Alexey Kuznetsov
Reply | Threaded
Open this post in threaded view
|

Re: Usability Issue: Web Console doesn't give an option to add a primary key to object fields list

dsetrakyan
In reply to this post by dmagda
I completely agree. Moreover, AFAIK the _key and _val fields will be
removed in 2.0, so we must add ID or any other field used for a primary key
to the class.


On Wed, Mar 15, 2017 at 5:19 PM, Denis Magda <[hidden email]> wrote:

> Alex K., Igniters,
>
> It’s is stated that an existing JDBC based application that works with a
> relation database should be easily migrated to Apache Ignite if we used Web
> Console and JDBC driver. So, I decided to prove this.
>
> A simple application was created that issues a bunch of SELECT, UPDATE,
> etc. queries.
>
> For instance, the simplest query I had looks like this:
>
> SELECT * FROM city WHERE id = ?
>
> When Web Console is used for the schema importing purposes it doesn’t add
> ‘id’ field to a City POJO and, consequently, doesn’t define index for this
> field. *From technical perspective*, I do understand why we do this - to
> save some memory because cache entries key will be used as ‘id’ instead.
>
> But this breaks the usability in some sense because my simplest query
> above no longer works.
>
> What if we add a special checkbox to Web Console that will add fields like
> ‘id’ to a POJO? If the checkbox is disabled (default) we should show a
> message at the final importing stage saying that fields like ‘id’ has to be
> replaced with ‘_key’.
>
> Thoughts?
Reply | Threaded
Open this post in threaded view
|

Re: Usability Issue: Web Console doesn't give an option to add a primary key to object fields list

Alexey Kuznetsov
Dmitriy,

Are you sure???

AFAIK _key and _val fields will be declared as "invisible" i.e. will be not
included in "select * from T" queries,
but NOT removed and still could be used.

Or please give a link to JIRA issue.


On Thu, Mar 16, 2017 at 7:27 AM, Dmitriy Setrakyan <[hidden email]>
wrote:

> I completely agree. Moreover, AFAIK the _key and _val fields will be
> removed in 2.0, so we must add ID or any other field used for a primary key
> to the class.
>
>
> On Wed, Mar 15, 2017 at 5:19 PM, Denis Magda <[hidden email]> wrote:
>
>> Alex K., Igniters,
>>
>> It’s is stated that an existing JDBC based application that works with a
>> relation database should be easily migrated to Apache Ignite if we used Web
>> Console and JDBC driver. So, I decided to prove this.
>>
>> A simple application was created that issues a bunch of SELECT, UPDATE,
>> etc. queries.
>>
>> For instance, the simplest query I had looks like this:
>>
>> SELECT * FROM city WHERE id = ?
>>
>> When Web Console is used for the schema importing purposes it doesn’t add
>> ‘id’ field to a City POJO and, consequently, doesn’t define index for this
>> field. *From technical perspective*, I do understand why we do this - to
>> save some memory because cache entries key will be used as ‘id’ instead.
>>
>> But this breaks the usability in some sense because my simplest query
>> above no longer works.
>>
>> What if we add a special checkbox to Web Console that will add fields
>> like ‘id’ to a POJO? If the checkbox is disabled (default) we should show a
>> message at the final importing stage saying that fields like ‘id’ has to be
>> replaced with ‘_key’.
>>
>> Thoughts?
>
>
>


--
Alexey Kuznetsov
Reply | Threaded
Open this post in threaded view
|

Re: Usability Issue: Web Console doesn't give an option to add a primary key to object fields list

dsetrakyan
Alexey, would should our users even know about the existence of _key and
_val fields? These fields, if needed, should be completely internal. Do you
disagree?

On Wed, Mar 15, 2017 at 5:32 PM, Alexey Kuznetsov <[hidden email]>
wrote:

> Dmitriy,
>
> Are you sure???
>
> AFAIK _key and _val fields will be declared as "invisible" i.e. will be not
> included in "select * from T" queries,
> but NOT removed and still could be used.
>
> Or please give a link to JIRA issue.
>
>
> On Thu, Mar 16, 2017 at 7:27 AM, Dmitriy Setrakyan <[hidden email]>
> wrote:
>
> > I completely agree. Moreover, AFAIK the _key and _val fields will be
> > removed in 2.0, so we must add ID or any other field used for a primary
> key
> > to the class.
> >
> >
> > On Wed, Mar 15, 2017 at 5:19 PM, Denis Magda <[hidden email]> wrote:
> >
> >> Alex K., Igniters,
> >>
> >> It’s is stated that an existing JDBC based application that works with a
> >> relation database should be easily migrated to Apache Ignite if we used
> Web
> >> Console and JDBC driver. So, I decided to prove this.
> >>
> >> A simple application was created that issues a bunch of SELECT, UPDATE,
> >> etc. queries.
> >>
> >> For instance, the simplest query I had looks like this:
> >>
> >> SELECT * FROM city WHERE id = ?
> >>
> >> When Web Console is used for the schema importing purposes it doesn’t
> add
> >> ‘id’ field to a City POJO and, consequently, doesn’t define index for
> this
> >> field. *From technical perspective*, I do understand why we do this - to
> >> save some memory because cache entries key will be used as ‘id’ instead.
> >>
> >> But this breaks the usability in some sense because my simplest query
> >> above no longer works.
> >>
> >> What if we add a special checkbox to Web Console that will add fields
> >> like ‘id’ to a POJO? If the checkbox is disabled (default) we should
> show a
> >> message at the final importing stage saying that fields like ‘id’ has
> to be
> >> replaced with ‘_key’.
> >>
> >> Thoughts?
> >
> >
> >
>
>
> --
> Alexey Kuznetsov
>
Reply | Threaded
Open this post in threaded view
|

Re: Usability Issue: Web Console doesn't give an option to add a primary key to object fields list

dmagda
In reply to this post by Alexey Kuznetsov
This is a good point. I do remember we were discussing aliases for _key fields but couldn’t find it.

Vovan, Sergi, could you chime in and share the results of that discussion and, probably, a ticket that was created?


Denis

> On Mar 15, 2017, at 5:26 PM, Alexey Kuznetsov <[hidden email]> wrote:
>
> Denis,
>
> I think I understand what do you need.
> But may be we can go in some other way, for example, provide some kind of
> alias for "_key" field?
> In this case no checkbox will be needed.
>
> Sergi, what do you think about introducing alias for "_key" field in order
> for easy migration of existing applications from RDBMS to Ignite.
>
> On Thu, Mar 16, 2017 at 7:19 AM, Denis Magda <[hidden email]> wrote:
>
>> Alex K., Igniters,
>>
>> It’s is stated that an existing JDBC based application that works with a
>> relation database should be easily migrated to Apache Ignite if we used Web
>> Console and JDBC driver. So, I decided to prove this.
>>
>> A simple application was created that issues a bunch of SELECT, UPDATE,
>> etc. queries.
>>
>> For instance, the simplest query I had looks like this:
>>
>> SELECT * FROM city WHERE id = ?
>>
>> When Web Console is used for the schema importing purposes it doesn’t add
>> ‘id’ field to a City POJO and, consequently, doesn’t define index for this
>> field. *From technical perspective*, I do understand why we do this - to
>> save some memory because cache entries key will be used as ‘id’ instead.
>>
>> But this breaks the usability in some sense because my simplest query
>> above no longer works.
>>
>> What if we add a special checkbox to Web Console that will add fields like
>> ‘id’ to a POJO? If the checkbox is disabled (default) we should show a
>> message at the final importing stage saying that fields like ‘id’ has to be
>> replaced with ‘_key’.
>>
>> Thoughts?
>
>
>
>
> --
> Alexey Kuznetsov

Reply | Threaded
Open this post in threaded view
|

Re: Usability Issue: Web Console doesn't give an option to add a primary key to object fields list

Alexey Kuznetsov-2
In reply to this post by dsetrakyan
Dmitriy,

I'm not "disagree" :). I'm "surprised" :)
AFAIK our DML uses "_key" as a MUST, i.e. "insert into T (_key, ....)
values (...)"

On Thu, Mar 16, 2017 at 7:35 AM, Dmitriy Setrakyan <[hidden email]>
wrote:

> Alexey, would should our users even know about the existence of _key and
> _val fields? These fields, if needed, should be completely internal. Do you
> disagree?
>
> On Wed, Mar 15, 2017 at 5:32 PM, Alexey Kuznetsov <[hidden email]>
> wrote:
>
> > Dmitriy,
> >
> > Are you sure???
> >
> > AFAIK _key and _val fields will be declared as "invisible" i.e. will be
> not
> > included in "select * from T" queries,
> > but NOT removed and still could be used.
> >
> > Or please give a link to JIRA issue.
> >
> >
> > On Thu, Mar 16, 2017 at 7:27 AM, Dmitriy Setrakyan <
> [hidden email]>
> > wrote:
> >
> > > I completely agree. Moreover, AFAIK the _key and _val fields will be
> > > removed in 2.0, so we must add ID or any other field used for a primary
> > key
> > > to the class.
> > >
> > >
> > > On Wed, Mar 15, 2017 at 5:19 PM, Denis Magda <[hidden email]>
> wrote:
> > >
> > >> Alex K., Igniters,
> > >>
> > >> It’s is stated that an existing JDBC based application that works
> with a
> > >> relation database should be easily migrated to Apache Ignite if we
> used
> > Web
> > >> Console and JDBC driver. So, I decided to prove this.
> > >>
> > >> A simple application was created that issues a bunch of SELECT,
> UPDATE,
> > >> etc. queries.
> > >>
> > >> For instance, the simplest query I had looks like this:
> > >>
> > >> SELECT * FROM city WHERE id = ?
> > >>
> > >> When Web Console is used for the schema importing purposes it doesn’t
> > add
> > >> ‘id’ field to a City POJO and, consequently, doesn’t define index for
> > this
> > >> field. *From technical perspective*, I do understand why we do this -
> to
> > >> save some memory because cache entries key will be used as ‘id’
> instead.
> > >>
> > >> But this breaks the usability in some sense because my simplest query
> > >> above no longer works.
> > >>
> > >> What if we add a special checkbox to Web Console that will add fields
> > >> like ‘id’ to a POJO? If the checkbox is disabled (default) we should
> > show a
> > >> message at the final importing stage saying that fields like ‘id’ has
> > to be
> > >> replaced with ‘_key’.
> > >>
> > >> Thoughts?
> > >
> > >
> > >
> >
> >
> > --
> > Alexey Kuznetsov
> >
>



--
Alexey Kuznetsov
GridGain Systems
www.gridgain.com
Reply | Threaded
Open this post in threaded view
|

Re: Usability Issue: Web Console doesn't give an option to add a primary key to object fields list

dsetrakyan
On Wed, Mar 15, 2017 at 5:42 PM, Alexey Kuznetsov <[hidden email]>
wrote:

> Dmitriy,
>
> I'm not "disagree" :). I'm "surprised" :)
> AFAIK our DML uses "_key" as a MUST, i.e. "insert into T (_key, ....)
> values (...)"
>
>
To my knowledge, users should never even know about the existence of the
_key field. Vladimir, can you please clarify?
Reply | Threaded
Open this post in threaded view
|

Re: Usability Issue: Web Console doesn't give an option to add a primary key to object fields list

Alexey Kuznetsov
Dima & Denis,

See: https://issues.apache.org/jira/browse/IGNITE-3487
and
http://apache-ignite-developers.2346864.n4.nabble.com/DML-data-streaming-td14385.html

On Thu, Mar 16, 2017 at 8:18 AM, Dmitriy Setrakyan <[hidden email]>
wrote:

> On Wed, Mar 15, 2017 at 5:42 PM, Alexey Kuznetsov <[hidden email]
> >
> wrote:
>
> > Dmitriy,
> >
> > I'm not "disagree" :). I'm "surprised" :)
> > AFAIK our DML uses "_key" as a MUST, i.e. "insert into T (_key, ....)
> > values (...)"
> >
> >
> To my knowledge, users should never even know about the existence of the
> _key field. Vladimir, can you please clarify?
>



--
Alexey Kuznetsov