Hello,
I am trying out Ignite for the first time. I have some interesting performance metrics that are unexpected. I'm looking to see if my understanding of what Ignite is meant to do is correct. I have 400K records from a database that I am loading into a cache with the primary key mapped to a DTO of a few properties from the record. For my real world scenario I need to perform a lot of calculations in memory of data. The bottleneck by far is the time it takes to load data from the database. (So I want to do repeated calculations with cached data.) If I read all 400K rows from the database and simply discard the DTO it takes about 700 ms. Reading all rows into a HashMap is about 1100 ms. If I then putAll the map to the cache it's 3100 ms. If I then getAll keys from the cache it's 550 ms. The cache in this case is "embedded", i.e., just the one JVM I'm running the test on (clientMode false). I have a lot of other numbers but these are best case. Going to a server node on the same machine takes an order of magnitude longer if getting and putting in a loop rather than batch. I didn't test remote caches. I'm not looking for the best way to warm/pre-load a cache, I'm just looking to see how the basics work. Reading a row at a time from the database is 30 times faster than reading a key at a time from the cache. As such Ignite will not help me with my problem. Do my numbers seem normal? Is this a use case you would expect Ignite to help with? I ran IgnitePutBenchmark and the report says 124K ops per second average. I'm certainly not seeing that in my test case. Thanks. -- Daryl Stultz Principal Software Developer _____________________________________ OpenTempo, Inc http://www.opentempo.com<http://www.opentempo.com/> mailto:daryl.stu...@opentempo.com<mailto:daryl.stu...@opentempo.com>