Megha, The objects are stored in the deserialized form both in heap (AI 1.x) and off-heap (AI 2.0). The difference is that when an object is in Java heap we need to an create extra wrapper object around it so that it can be used by an application running on top of JVM. Plus there might be some extra costs having data in Java heap.
— Denis > On Jun 12, 2017, at 10:20 PM, Megha Mittal <[email protected]> wrote: > > Hi Denis, thanks for answering. That completely cleared out my doubt. > > I would like to know one more thing. I was testing with ~10000000 (10 > million) records with each records of ~1400 bytes. When I was trying to > keep everything on-heap I had to allocate around 15GB to on-heap to store > all these records. But when I switched off on-heap and kept everything > off-heap, same number of records got fit in 10 GB off heap memory region. > Does it imply that when ignite saves in on-heap it's in deserialized form > hence exact memory(no. of records * size of one record) is required. But > when it keeps in off-heap it is stored in serialized form hence less memory > than expected is required. Or is there some other reason for this memory > requirement difference. > > > > -- > View this message in context: > http://apache-ignite-users.70518.x6.nabble.com/Off-Heap-On-Heap-in-Ignite-2-0-0-tp13548p13637.html > Sent from the Apache Ignite Users mailing list archive at Nabble.com.
