Val,

I too have some concerns to use cassandra partitioned table. For initial
version, I'm using PRIMITIVE / BLOB
persistent strategy to store the key-value pair. Thanks for the support :)

Igor,

Still, I'm not clear. Cassandra and Ignite uses different partition
strategy. Assume a Ignite Cache is configured
to have 64 partitions and POJO persistent strategy is used in cassandra,
Then,

PersonKey key = new PersonKey(id, companyId); // companyId is mapped as
affinity key.

If the range of companyId is [1-10000]. I don't want to create that many
partitions in the
cassandra table.


Regards,
Kamal C



On Fri, Jul 15, 2016 at 5:13 AM, Igor Rudyak <[email protected]> wrote:

> Hi Kamal,
>
> Ignite Cassandra module takes into account AffinityFunction when
> persisting values into Cassandra(
> https://apacheignite.readme.io/docs/overview). Thus key/values having the
> same Affinity and collocated on one Ignite node will be also collocated on
> one node in Cassandra.
>
> Cassandra and Ignite partitions are two absolutely different animals, it
> doesn't make sense to compare them. Just check that you are using
> @AffinityKeyMapped annotation for your key classes. In a such way all the
> values having same affinity will be persisted on the same Cassandra node.
>
> Igor Rudyak
>
>
> On Thu, Jul 14, 2016 at 4:12 PM, vkulichenko <
> [email protected]> wrote:
>
>> Hi Kamal,
>>
>>
>> Kamal wrote
>> > 1. In Ignite partitioned cache, number of partitions can be configured
>> >    using AffinityFunction. How to configure the same for the
>> >    Cassandra table ?
>> >
>> > 2. Will the partitioner used by Cassandra (MurMur3) and the Ignite
>> >     returns the same partition number for a cache key ?
>>
>> Ignite and Cassandra use completely different partitioning strategy and I
>> don't think it will be an easy task to collocate them. But from my
>> experience, it's actually better not to do this, but have Cassandra and
>> Ignite on separate physical servers and scale them separately. Most likely
>> you will need different number of nodes for Ignite and Cassandra to fit
>> your
>> performance requirements.
>>
>>
>> Kamal wrote
>> > 3. Say a cache is configured to hold 2 lakh elements in memory
>> >     and rest of them in cassandra. If the cache contains more than
>> >     2 lakh elements, Then,
>> >
>> > a. Calling cache.size() method returns count as 2 lakh
>> > b. Using cache.iterator() able to iterate only the elements available
>> >     in the memory
>> > c. With cache.removeAll() able to delete the entries in cassandra
>> >     that are available in the memory.
>>
>> Answer on all the three questions is YES.
>>
>>
>> Kamal wrote
>> > How to get the total size of a cache ? (memory + cassandra)
>>
>> Data which is evicted from Ignite is not in cache anymore. You have to use
>> Cassandra APIs to get the number entries in its storage.
>>
>> -Val
>>
>>
>>
>> --
>> View this message in context:
>> http://apache-ignite-users.70518.x6.nabble.com/Cassandra-Cache-Store-Example-tp6206p6315.html
>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>
>
>

Reply via email to