I am trying to use Binarylizable interface in apache ignite for reducing
memory utilization(for compact representation of data). Following is data
class that I have made binarylizable.

class order_line implements Binarylizable{  
        @QuerySqlField(index = true)
        int ol_o_id; 
        @QuerySqlField(index = true)
        int ol_d_id;
        @QuerySqlField(index = true)
        int ol_w_id;
        @QuerySqlField(index = true)
        int ol_number;
        @QuerySqlField
        int ol_i_id; 
        @QuerySqlField
        int ol_supply_w_id;
        @QuerySqlField
        String ol_delivery_d;
        @QuerySqlField
        int ol_quantity;
        @QuerySqlField
        double ol_amount;
        @QuerySqlField
        String ol_dist_info;
        
        
        private order_lineKey key;
        public order_lineKey key()
        { 
                if(key == null)
                        key = new order_lineKey(ol_w_id, ol_d_id, ol_o_id, 
ol_number);
                
                return key;
                
        }
        @Override
        public void readBinary(BinaryReader reader) throws 
BinaryObjectException {
                // TODO Auto-generated method stub
                ol_o_id = reader.readInt("ol_o_id");
                ol_d_id = reader.readInt("ol_d_id");
                ol_w_id = reader.readInt("ol_w_id");
                ol_number = reader.readInt("ol_number");
                ol_i_id = reader.readInt("ol_i_id");
                ol_supply_w_id = reader.readInt("ol_supply_w_id");
                ol_delivery_d = reader.readString("ol_delivery_d");             
                ol_quantity = reader.readInt("ol_quantity");
                ol_amount = reader.readDouble("ol_amount");
                ol_dist_info = reader.readString("ol_dist_info");
                
                
        }
        @Override
        public void writeBinary(BinaryWriter writer) throws 
BinaryObjectException {
                // TODO Auto-generated method stub
                
                writer.writeInt("ol_o_id",ol_o_id);
                writer.writeInt("ol_d_id",ol_d_id);
                writer.writeInt("ol_w_id",ol_w_id);
                writer.writeInt("ol_number",ol_number);
                writer.writeInt("ol_i_id",ol_i_id);
                writer.writeInt("ol_supply_w_id",ol_supply_w_id);
                writer.writeString("ol_delivery_d",ol_delivery_d);              
                writer.writeInt("ol_quantity",ol_quantity);
                writer.writeDouble("ol_amount", ol_amount);
                writer.writeString("ol_dist_info",ol_dist_info);
        
        }

}


Is this the correct way for compact binary representation of data? Because I
am not getting any improvement in memory consumption after using this
interface. Also, in readBinary() and writeBinary() methods do we have to
write writer.writeInt/String/Double and reader.readInt/String/Double methods
for every field or only fields participating in SQL queries(Does this have
any effect on memory consumption)?  







--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Binarylizable-interface-in-apache-ignite-tp9078.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Reply via email to