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.