Hello Mikhail, Thank you for the clarification. But still little confusion. Please correct me if I am wrong.
Simple scenario, I create a table in ignite and then map it to some Java pojo. Now if I query the cache using SQL, ignite will just deserialize the part pojo which is mentioned in where clause of SQL to filter/select the data. This behavior will remain same even if query the table instead of cache using the jdbc code (simple prepared statement and execute query code). Scenario 2: If I don't map this table to any Java pojo and if I query the cache or table using SQL having where clause, ignite will not deserialize anything as the data (both key and value) is in binary fromat. Scenario3: I populate the cache with the data fetched from oracle table using CacheStore.loadCache method. The key value pair is stored in cache using BinaryObject. Now if query the cache using SQL having where clause, ignite will not deserialize the data(values in cache) as the data is already in binary format. Can you please confirm if my understanding is correct? Also, does querying table using jdbc code work faster than querying cache? Regards, Prasad On Feb 15, 2018 9:38 PM, "Mikhail" <michael.cherka...@gmail.com> wrote: Hi Prasad, >Does it mean that it stores the data in table as well as in key value cache? I meant to say that does it duplicates the data? There's no data duplication, everything is stored in ignite cache only. SQL is just another way access to data. Plus SQL provides indices. >In which format does it store the table rows or column values? it stores everything as key/values pairs. >When I fire a sql on table using jdbc approach, does it require to de-serialize the data while doing index scan? no, it doesn't de-serialize data, ignite stores everything as bytes and can compare those data as bytes too without de-serialization to the original type. >If I do not map the table to Java pojo, does this store the key and value in Binary Object format in respective cache? right, anyway, it will store everything in cache, you don't need java objects for this, ignite will use, as you said, binary objects. >When I fire a sql (using SqlFieldsQuery) directly on a cache which sits on top of this table, does it require de-serialization of value? Ignite only will de-serialize only part of data that you specified in SELECT statement that needs to be returned to you. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/