What happens after you have 150mm records? You say it’s not okay, but you don’t 
say what does happen. Does it crash, slow down, what?

With SQL and persistence, I think you’d probably need more heap space. 
Increasing the number of partitions isn’t likely to help.

> On 14 Mar 2021, at 20:14, Sebastien Blind <[email protected]> wrote:
> 
> Hello Apache Ignite friends,
> I am trying to load 1bn records in an ignite cache with persistence enabled 
> for a poc. Records only consist of an id, a uuid and a state, and I'd like to 
> lookup by id (this is the key in the cache) and by token (sql queries for 
> that are fine or another cache keyed by uuid is another option).
> 
> The experiment is running locally on a MacOs (16Gb memory) laptop and I'd 
> like to use as little memory as possible, and use disk storage as much as 
> possible. Everything works ok until ~150M with query index enabled, and ~600M 
> without index or side cache, so I'd be curious about what type of settings 
> (if any) could help w/ the setup, and what amount of data can a single node 
> be expected to handle. Restarting my ignite node and the loading process 
> seems to help and more data can be stuffed in the cache.
> 
> I've tried to play w/ settings like size, number of partitions etc and to 
> find some info on how to control what's onheap/offheap etc, any 
> overhead/sizing that could be taken into consideration without much success. 
> Maybe the experiment is doomed to fail just based on the specs, but it would 
> be good to understand the constraints..  so any help would be much 
> appreciated!
> 
> Thanks in advance!
> Sebastien
> 
> PS:
> JVM is running w/ -Xms4g -Xmx4g -server -XX:MaxMetaspaceSize=256m settings.
> 
> Some snippet of the config:
> <property name="persistenceEnabled" value="true" />
> <property name="initialSize" value="#{4L * 1024 * 1024 * 1024}" />
> <property name="maxSize" value="#{4L * 1024 * 1024 * 1024}" />
> <property name="pageEvictionMode" value="RANDOM_2_LRU" />
> 
> Cache configuration
> <property name="cacheConfiguration">
>       <bean class="org.apache.ignite.configuration.CacheConfiguration">
>               <!-- Set the cache name. -->
>               <property name="name" value="qa_sqr_txn" />
>               <!-- Set the cache mode. -->
>               <property name="cacheMode" value="PARTITIONED" />
>               <property name="backups" value="0" />
>               <property name="storeKeepBinary" value="true" />
> 
>               <property name="affinity">
>                       <bean 
> class="org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction">
>                               <property name="partitions" value="8192" />
>                       </bean>
>               </property>
> 
>               <!-- Configure query entities -->
>               <property name="queryEntities">
>                       <list>
>                               <bean 
> class="org.apache.ignite.cache.QueryEntity">
>                                       <!-- Setting the type of the key -->
>                                       <property name="keyType" 
> value="java.lang.String" />
>                                       <property name="keyFieldName" 
> value="id" />
> 
>                                       <!-- Setting type of the value -->
>                                       <property name="valueType" 
> value="com.xxx.Txn" />
> 
>                                       <property name="fields">
>                                               <map>
>                                                       <entry key="id" 
> value="java.lang.String" />
>                                                       <entry key="token" 
> value="java.lang.String" />
>                                                       <entry key="state" 
> value="java.lang.String " />
>                                               </map>
>                                       </property>
>                                       <!-- 
>                                       <property name="indexes">
>                                               <list>
>                                                       <bean 
> class="org.apache.ignite.cache.QueryIndex">
>                                                               
> <constructor-arg value="token" />
>                                                       </bean>
>                                               </list>
>                                       </property>
>                                        -->
>                               </bean>
>                       </list>
>               </property>
>       </bean>
> </property>


Reply via email to