I'd like to use Apache Ignite's Near Cache, can I set it from the JDBC Thin driver?
Looking at the parameters here, there seems to be no operation in Near-Cache ...
https://apacheignite-sql.readme.io/docs/jdbc-driver#section-parameters
It is not possible, Near Cache is only for cache put-get operations.
SQL will always be executed on primary server node(s).
Related
Is it possible to run Ignite in embedded mode, inside a Java application? So no separate Ignite installation or cluster.
The near cache feature might serve for this purpose, but I haven't found documentation about having a near cache only deployment.
A near cache is a cache of a cache, so it does not make sense to only use a near cache!
But yes, you can embed Ignite. Any Java program with Ignition.start() effectively becomes a node in an Ignite server cluster. In general, it's better to have a separate cluster and have your program just be a client but lots of people do use it embedded.
Folks,
Does anyone know the behavior for the below two items on Ignite Near Cache,
Can the same distributed cache on the ignite grid be configured to be a near cache in one ignite client & a regular cache in another ignite client at the same time?. Hopefully this can be done.
Does near caches work when using SQL queries (we use Spring Data abstraction) or does it work only with JCache based key-value access.
Thanks
lmk
I think you should be able to only start Near Cache on a subset of clients. Have you tried that.
No, SQL map phase will not happen on clients, it will happen on primary server node(s).
Using Apache Ignite v2.6
As Apache Ignite version does not support JDBC connection pool against JDBC Thin Driver, what should be the approach to issue multiple parallel queries to Ignite? Document says that Ignite support 128 ResultSet/Cursor at a time. does this mean that 'A client will be able to shoot multiple queries in parallel, using a single connection'??
Any suggestions please.
I guess, you are referring to maxOpenCursorsPerConnection parameter. Its value doesn't specify the number of concurrent operations, it only limits the number of open cursors per connection.
A single JDBC connection cannot be used from multiple threads concurrently. You can use a connection pool instead. For example, take a look at Hikari Connection Pool.
Does Liquibase have any plans to support for Apache Ignite in the near future?
I would like to use Liquibase along with Apache Ignite in a database proxy component that forms part of a micro-service architecture system we are building.
Yours is the first I have heard of anyone asking. Your best hope is to write your own Ignite plugin. The effort required to implement something like that would depend heavily on whether or not the dialect of SQL it uses is similar to an existing dialect, and whether there is an existing JDBC driver for Ignite.
I would like to know answers for below questions:
1) In case if Ignite server is restarted, I need to restart the client (web applications). Is there any way client can reconnect to server on server restart. I know when server restarts it allocates a different ID and because of this the current existing connection becomes stale. Is there way to overcome this problem and if so, which version of Ignite supports this feature. Currently I utilize version 1.7
2) Can I have client cache like how Ehcache provides. I don’t want client cache as a front–end to a distributed cache. When I looked at the Near Cache API, it doesn’t have cache name properties like cache configuration and it acts only as a front-end to a distributed cache. Is it possible to create client only cache in Ignite
3) If I have a large object to cache, I find Serialization and Deserialization takes a longer time in Ignite and retrieving from distributed cache is slow. Is there any way we can speed up large objects retrieval from Ignite DataGrid.
This topic is discussed on Apache Ignite users mailing list: http://apache-ignite-users.70518.x6.nabble.com/Questions-on-Client-Reconnect-and-Client-Cache-td10018.html