ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From iostream <sidds.mo...@gmail.com>
Subject Poor cross cache join SQL performance (v2.0.0)
Date Thu, 06 Jul 2017 04:28:59 GMT
Hi, 

I have 2 caches, each with POJO values that look like - 

public class Value1 { 

        @QuerySqlField(index = true) 
        private Long a; 

        @QuerySqlField(index = true) 
        private String b; 

} 

public class Value2 { 

        @QuerySqlField(index = true) 
        private Long a; 

        @QuerySqlField(index = true) 
        private String c; 

} 

I have to run the following SQL query on my Ignite Cluster - 

SELECT * from Value1 v1, Value2 v2 WHERE v1.a = v2.a 

To test the query performance, I configured my Ignite Cluster to have only 1
server node and used 4 clients nodes to run the query. Added 50,000 Value1
objects and around 800,000 Value2 objects in the cache. I used a single node
cluster in order to avoid using affinity collocation problems when
performing cross cache joins. The average response time of the query was
around 150 seconds! :( 

Server node - 4 CPUs, 8 GB Heap 
Client node - 4 CPUs / client, 1 GB Heap / client 

I am quite surprised to see the SQL perform poorly. I am posting my
cacheConfiguration for your reference (same for both the caches). 

cacheConfig.setAtomicityMode("transactional"); 
cacheConfig.setCacheMode("partitioned"); 
cacheConfig.setBackups(1); 
cacheConfig.setCopyOnRead(false); 
cacheConfig.setIndexedTypes(Long.class, Value1.class); 

I am wondering if the query performed poorly because of my cache
configuration or is Ignite not very efficient with cross cache joins (given
that I used only 1 node to avoid non-collcation) 

Any help is appreciated! 

Thank you.



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Poor-cross-cache-join-SQL-performance-v2-0-0-tp14373.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Mime
View raw message