You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Sriveena Mattaparthi <Sr...@ekaplus.com> on 2018/07/02 04:18:08 UTC

RE: Information regarding Ignite Web Console

Thanks Denis…

I understand that the example mentioned in the link is querying on the entity named Person

CacheConfiguration<Long, Person> cacheCfg = new CacheConfiguration<>();
...
cacheCfg.setName("mycache");

// Setting up query entity.
QueryEntity queryEntity = new QueryEntity();

queryEntity.setKeyType(Long.class.getName());
queryEntity.setValueType(Person.class.getName());

But we are using Binary Objects and we will not have a definite entity unlike Person.

And our exact use case is to perform cross joins on mongo collections.
As we couldn’t perform complex joins using mongo, we are planning to load all the mongo collections to ignite and perform joins inmemory.
The only option to load mongo collections to inmemory is to create binary object. But we are now stuck with the querying part.

Please help.


Regards,
Sriveena

From: Denis Mekhanikov [mailto:dmekhanikov@gmail.com]
Sent: Friday, June 29, 2018 8:09 PM
To: user@ignite.apache.org
Subject: Re: Information regarding Ignite Web Console

Sriveena,

You should configure corresponding query entities to be able to query data in cache.
Annotation driven configuration is also available.

See more: https://apacheignite.readme.io/docs/cache-queries#section-query-configuration-by-annotations<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapacheignite.readme.io%2Fdocs%2Fcache-queries%23section-query-configuration-by-annotations&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C54bd9746eb084b48efc108d5ddce2906%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636658799914056234&sdata=jOJs8Be4hdwLNY1AYdwCHU0sisEzcdSkwGEQY4v9%2F3Y%3D&reserved=0>

Denis

пт, 29 июн. 2018 г. в 12:43, Sriveena Mattaparthi <Sr...@ekaplus.com>>:
Hi Denis,

I am trying to use the below code to query the binary object

    IgniteCache<Integer, BinaryObject> cache = start.getOrCreateCache(cfg).withKeepBinary();
    BinaryObjectBuilder builder = start.binary().builder("BinaryTest");
    builder.setField("name", "Test");
    cache.put(1, builder.build());

    QueryCursor<List<?>> query = cache.query(new SqlFieldsQuery("select name from BinaryTest"));

But it is failing in latest 2.5 version saying BinaryTest Table does not exist.

How do we query the binary objects in the above example?

Please help.

Thanks & Regards,
Sriveena

From: Denis Mekhanikov [mailto:dmekhanikov@gmail.com<ma...@gmail.com>]
Sent: Wednesday, June 27, 2018 6:37 PM

To: user@ignite.apache.org<ma...@ignite.apache.org>
Subject: Re: Information regarding Ignite Web Console

Sriveena,

You can have objects of different types in one cache, but querying it will be tricky.
You will have to configure QueryEntities<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapacheignite-sql.readme.io%2Fdocs%2Fschema-and-indexes%23section-queryentity-based-configuration&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C6e1e06d9d5c0452da8da08d5dc2ee46a%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636657016326903455&sdata=Z093el7e%2Fj%2BngjoDdJjUwWNUWfPu4Yb0OZgKv3ZEiis%3D&reserved=0> for your data, that will describe, which fields are available for querying.
Annotation based configuration<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapacheignite-sql.readme.io%2Fdocs%2Fschema-and-indexes%23section-queryentity-based-configuration&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C6e1e06d9d5c0452da8da08d5dc2ee46a%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636657016326903455&sdata=Z093el7e%2Fj%2BngjoDdJjUwWNUWfPu4Yb0OZgKv3ZEiis%3D&reserved=0> is also available.
Querying nested object is also possible, if you configure the query entities properly: https://apacheignite-sql.readme.io/docs/schema-and-indexes#section-indexing-nested-objects<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapacheignite-sql.readme.io%2Fdocs%2Fschema-and-indexes%23section-indexing-nested-objects&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C6e1e06d9d5c0452da8da08d5dc2ee46a%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636657016326903455&sdata=1amkW4husY1fLSN%2FKtEBx8app5u%2FkUJhqiA4JCYgQ0o%3D&reserved=0>

So, if you want to run SQL queries over your data, it should have some concrete schema.

Denis

ср, 27 июн. 2018 г. в 14:08, Sriveena Mattaparthi <Sr...@ekaplus.com>>:
Thank you so much for the quicker responses unlike any other forums..I really appreciate that.

One last question Denis, we have plan to load all the mongodb collections to ignite cache and perform complex aggregations and join in memory.

But Unlike any RDBMS data stores we cannot have fixed model objects for each collections as each document in the collection may have its own columns and datatypes.

Could you please suggest, if ignite is the choice for this kind of scenario where same mongo collection have different type of data.

Please note that we have tried using BinaryObject, but we are stuck that ignite doesn’t support querying on the inner binaryobject.( binaryobject inside a binaryobject – sub documents, array inside a mongo document)

Thanks & Regards,
Sriveena

From: Denis Mekhanikov [mailto:dmekhanikov@gmail.com<ma...@gmail.com>]
Sent: Wednesday, June 27, 2018 4:02 PM

To: user@ignite.apache.org<ma...@ignite.apache.org>
Subject: Re: Information regarding Ignite Web Console

Sriveena,

CacheStore<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fignite.apache.org%2Freleases%2Flatest%2Fjavadoc%2Forg%2Fapache%2Fignite%2Fcache%2Fstore%2FCacheStore.html&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf08122ce8c394e2c7a1e08d5dc193829%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656923260911744&sdata=7LEcZ6l%2FFMHm7ZZ518w4WH%2FBm8ylC3yhTDTl05AcZ0M%3D&reserved=0> extends the CacheWriter<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstatic.javadoc.io%2Fjavax.cache%2Fcache-api%2F1.0.0%2Fjavax%2Fcache%2Fintegration%2FCacheWriter.html&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf08122ce8c394e2c7a1e08d5dc193829%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656923260911744&sdata=UBNLjs2J4E4IZG6JGhToO6QzOr7QXkNo7OFZycVYbq0%3D&reserved=0> interface, which has delete<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstatic.javadoc.io%2Fjavax.cache%2Fcache-api%2F1.0.0%2Fjavax%2Fcache%2Fintegration%2FCacheWriter.html%23delete(java.lang.Object)&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf08122ce8c394e2c7a1e08d5dc193829%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656923260921745&sdata=2q1Mutj83625oVhVIEiawuiarAsK8UNmyZvrbk9J7nE%3D&reserved=0> and deleteAll<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstatic.javadoc.io%2Fjavax.cache%2Fcache-api%2F1.0.0%2Fjavax%2Fcache%2Fintegration%2FCacheWriter.html%23deleteAll(java.util.Collection)&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf08122ce8c394e2c7a1e08d5dc193829%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656923260921745&sdata=NIJFLEwPbXOgpgkja9m48c8hENGNg1dTOyghSzaIiJ4%3D&reserved=0> methods, which will be called by Ignite, when you remove entries from Ignite caches.
write<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstatic.javadoc.io%2Fjavax.cache%2Fcache-api%2F1.0.0%2Fjavax%2Fcache%2Fintegration%2FCacheWriter.html%23write(javax.cache.Cache.Entry)&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf08122ce8c394e2c7a1e08d5dc193829%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656923260931759&sdata=tBdc%2FPmMicFBKc82w7s10TvP5r9Sl7%2B7FLPJidwsFsw%3D&reserved=0> and writeAll<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstatic.javadoc.io%2Fjavax.cache%2Fcache-api%2F1.0.0%2Fjavax%2Fcache%2Fintegration%2FCacheWriter.html%23writeAll(java.util.Collection)&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf08122ce8c394e2c7a1e08d5dc193829%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656923260931759&sdata=Sw5W5BSEgyrBRfoIUpx7pwIfYl5gXSNXtYefE4ghmBk%3D&reserved=0> methods will be called, when you put some data into cache.
It works the same way with MySQL or any other relational DB.
So, CacheStore gives you a possibility to implement synchronization with any external data source. You can do it for MongoDB, if you need.

Denis

ср, 27 июн. 2018 г. в 13:18, Sriveena Mattaparthi <Sr...@ekaplus.com>>:
Thanks Denis for the pointers.

But the case explained in https://www.youtube.com/watch?v=XBtI2Z01kAA<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DXBtI2Z01kAA&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf08122ce8c394e2c7a1e08d5dc193829%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656923260941765&sdata=HLmtH02Dr4h455PggnRBQxe0eZJxENxp7nDlPXb5xek%3D&reserved=0> -  Using Ignite Web Console for Automatic RDBMS Integration with Apache Ignite - Part 3.
shows that any deletions happening on ignite cache are getting reflected in the mysql database.

Which I thought is ignite feature of autosyncing data to and from RDBMS databases.
Please correct my understanding.

Thanks & Regards,
Sriveena

From: Denis Mekhanikov [mailto:dmekhanikov@gmail.com<ma...@gmail.com>]
Sent: Wednesday, June 27, 2018 3:28 PM

To: user@ignite.apache.org<ma...@ignite.apache.org>
Subject: Re: Information regarding Ignite Web Console

Sriveena,

Web Console can generate schema in Ignite based on an existing schema in a relational database.
But you can do it yourself, without use of Web Console.
Web Console only makes it easier to wire-up stuff, i.e. generate required data classes and configuration.

Unfortunately, this feature is not available for NoSQL databases. But you still can configure everything yourself.
You will need to implement a CacheStore<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fignite.apache.org%2Freleases%2Flatest%2Fjavadoc%2Forg%2Fapache%2Fignite%2Fcache%2Fstore%2FCacheStore.html&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf4918a96e28644d507b908d5dc1491ba%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656903279754570&sdata=V09AYASdhDUexLS4ZNs44zvEWjJ1lmZFqjVRwQft2xs%3D&reserved=0>, that will load data from your database into Ignite.
Here is documentation on this feature: https://apacheignite.readme.io/docs/3rd-party-store<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapacheignite.readme.io%2Fdocs%2F3rd-party-store&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf4918a96e28644d507b908d5dc1491ba%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656903279754570&sdata=9w94GuXNlswyUb9XshSsZtol3Qp8ib7GIk9dpwbZiYQ%3D&reserved=0>

Denis

ср, 27 июн. 2018 г. в 12:41, Sriveena Mattaparthi <Sr...@ekaplus.com>>:
Hi Denis,

Thank you so much for the quick turn around
Could you also confirm if there is a similar integration from ignite to NoSQL database like MongoDB ?

Our requirement also has mongo db changes to be automatically synced up to Ignite?

Please help.

Thanks & Regards,
Sriveena

From: Denis Mekhanikov [mailto:dmekhanikov@gmail.com<ma...@gmail.com>]
Sent: Wednesday, June 27, 2018 2:58 PM
To: user@ignite.apache.org<ma...@ignite.apache.org>
Subject: Re: Information regarding Ignite Web Console

Sriveena,

You can find sources of Web Console in the Ignite Git repository: https://github.com/apache/ignite/tree/master/modules/web-console<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fignite%2Ftree%2Fmaster%2Fmodules%2Fweb-console&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C1bd39c9b865f43eca6d408d5dc104bee%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656884921777570&sdata=J6LSkoURVCvHJDnKyWrjpFRj02E9T0njpXSxFJPJAvU%3D&reserved=0>

If you want to run Web Console by yourself, you can use the following Docker image: https://hub.docker.com/r/apacheignite/web-console-standalone/<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhub.docker.com%2Fr%2Fapacheignite%2Fweb-console-standalone%2F&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C1bd39c9b865f43eca6d408d5dc104bee%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656884921777570&sdata=xQKYRGlEn9UQQ2EDM9nc6RTZLEbHH7eCl7vGCf2UbLM%3D&reserved=0>
There is also Web Console, hosted by GridGain, available at https://console.gridgain.com/<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fconsole.gridgain.com%2F&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C1bd39c9b865f43eca6d408d5dc104bee%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656884921787575&sdata=yyxqlC%2BcnR9yLRwgGxD6aCvy0t9eh2J4djvNsztr2YM%3D&reserved=0>

Denis

ср, 27 июн. 2018 г. в 10:14, Sriveena Mattaparthi <Sr...@ekaplus.com>>:

Hi,

I am interested to know if Ignite Webconsole is opensource as the document says

Ignite can integrate with any relational database (RDBMS) that supports a JDBC driver - Oracle, PostgreSQL, Microsoft SQL Server, and MySQL

Ignite supports automatic RDBMS integration via Ignite Web Console<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fconsole.gridgain.com%2F&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C1bd39c9b865f43eca6d408d5dc104bee%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656884921797580&sdata=CorLQYS%2FCirN%2BOxK72fvwKFGL5E%2BSQ%2FY4Qn0hPzNvW0%3D&reserved=0>.

Please confirm.
Thanks & Regards,
Sriveena