Re: Rationale for using Hazelcast in front of Cassandra?
@Peter: Thanks for that comment! Thats pretty much what I thought when reading the phrase why not to use CS as a cache. Thoughts to sth in front of sth else: If your real world case requires more performance, one option is always to add a cache in front of it. How much overall gain you have from it completely depends on your model, your infrastructure, your services (CS, Memcache, Hazelcast, whatsoever), your demands on availability, consistency, latency and so on. There is no wrong or false. Maybe you get 50% better performance with a Memcache in front of CS, or you just use ScyllaDB and throw the memcache away. Or Memcache is not fail-safe enough or your cache needs replication, then you maybe need sth like Hazelcast. Can your App-Model deal with Caches and its invalidation? Or will stale caches be a problem in your app? These are question that should drive a decision. But at the end, every single case is different and has to be benchmarked and analyzed separately. 2016-10-07 17:28 GMT+02:00 Peter Lin : > > Cassandra is a database, not an in-memory cache. Please don't abuse > Cassandra like that when there's plenty of existing distributed cache > products designed for that purpose. > > That's like asking "why can't I drag race with a school bus?" > > You could and it might be fun, but that's not what it was designed for. > > On Fri, Oct 7, 2016 at 11:22 AM, KARR, DAVID wrote: > >> No, I haven’t “thought why people don’t use Cassandra as a cache”, that’s >> why I’m asking this here. I’m asking the community for their POV when it >> might make sense to front Cassandra with Hazelcast. This is even mentioned >> as a use case in the Hazelcast documentation (“As a front layer for a >> Cassandra back-end”), and I’m aware of at least one large private >> enterprise that does this. >> >> >> >> *From:* Dorian Hoxha [mailto:dorian.ho...@gmail.com] >> *Sent:* Friday, October 07, 2016 3:48 AM >> *To:* user@cassandra.apache.org >> *Subject:* Re: Rationale for using Hazelcast in front of Cassandra? >> >> >> >> Primary-key select is pretty fast in rdbms too and they also have caches. >> By "close to" you mean in latency ? >> >> Have you thought why people don't use cassandra as a cache ? While it >> doesn't have LRU, it has TTL,replicatio,sharding. >> >> >> >> On Fri, Oct 7, 2016 at 12:00 AM, KARR, DAVID wrote: >> >> Clearly, with “traditional” RDBMSs, you tend to put a cache “close to” >> the client. However, I was under the impression that Cassandra nodes could >> be positioned “close to” their clients, and Cassandra has its own cache (I >> believe), so how effective would it be to put a cache in front of a cache? >> >> >> >> *From:* Dorian Hoxha [mailto:dorian.ho...@gmail.com] >> *Sent:* Thursday, October 06, 2016 2:52 PM >> *To:* user@cassandra.apache.org >> *Subject:* Re: Rationale for using Hazelcast in front of Cassandra? >> >> >> >> Maybe when you can have very hot keys that can give trouble to your >> 3(replication) cassandra nodes ? >> >> Example: why does facebook use memcache ? They certainly have things >> distributed on thousands of servers. >> >> >> >> On Thu, Oct 6, 2016 at 11:40 PM, KARR, DAVID wrote: >> >> I've seen use cases that briefly describe using Hazelcast as a >> "front-end" for Cassandra, perhaps as a cache. This seems counterintuitive >> to me. Can someone describe to me when this kind of architecture might >> make sense? >> >> >> >> >> > > -- Benjamin Roth Prokurist Jaumo GmbH · www.jaumo.com Wehrstraße 46 · 73035 Göppingen · Germany Phone +49 7161 304880-6 · Fax +49 7161 304880-1 AG Ulm · HRB 731058 · Managing Director: Jens Kammerer
Re: Rationale for using Hazelcast in front of Cassandra?
Cassandra is a database, not an in-memory cache. Please don't abuse Cassandra like that when there's plenty of existing distributed cache products designed for that purpose. That's like asking "why can't I drag race with a school bus?" You could and it might be fun, but that's not what it was designed for. On Fri, Oct 7, 2016 at 11:22 AM, KARR, DAVID wrote: > No, I haven’t “thought why people don’t use Cassandra as a cache”, that’s > why I’m asking this here. I’m asking the community for their POV when it > might make sense to front Cassandra with Hazelcast. This is even mentioned > as a use case in the Hazelcast documentation (“As a front layer for a > Cassandra back-end”), and I’m aware of at least one large private > enterprise that does this. > > > > *From:* Dorian Hoxha [mailto:dorian.ho...@gmail.com] > *Sent:* Friday, October 07, 2016 3:48 AM > *To:* user@cassandra.apache.org > *Subject:* Re: Rationale for using Hazelcast in front of Cassandra? > > > > Primary-key select is pretty fast in rdbms too and they also have caches. > By "close to" you mean in latency ? > > Have you thought why people don't use cassandra as a cache ? While it > doesn't have LRU, it has TTL,replicatio,sharding. > > > > On Fri, Oct 7, 2016 at 12:00 AM, KARR, DAVID wrote: > > Clearly, with “traditional” RDBMSs, you tend to put a cache “close to” the > client. However, I was under the impression that Cassandra nodes could be > positioned “close to” their clients, and Cassandra has its own cache (I > believe), so how effective would it be to put a cache in front of a cache? > > > > *From:* Dorian Hoxha [mailto:dorian.ho...@gmail.com] > *Sent:* Thursday, October 06, 2016 2:52 PM > *To:* user@cassandra.apache.org > *Subject:* Re: Rationale for using Hazelcast in front of Cassandra? > > > > Maybe when you can have very hot keys that can give trouble to your > 3(replication) cassandra nodes ? > > Example: why does facebook use memcache ? They certainly have things > distributed on thousands of servers. > > > > On Thu, Oct 6, 2016 at 11:40 PM, KARR, DAVID wrote: > > I've seen use cases that briefly describe using Hazelcast as a "front-end" > for Cassandra, perhaps as a cache. This seems counterintuitive to me. Can > someone describe to me when this kind of architecture might make sense? > > > > >
RE: Rationale for using Hazelcast in front of Cassandra?
No, I haven’t “thought why people don’t use Cassandra as a cache”, that’s why I’m asking this here. I’m asking the community for their POV when it might make sense to front Cassandra with Hazelcast. This is even mentioned as a use case in the Hazelcast documentation (“As a front layer for a Cassandra back-end”), and I’m aware of at least one large private enterprise that does this. From: Dorian Hoxha [mailto:dorian.ho...@gmail.com] Sent: Friday, October 07, 2016 3:48 AM To: user@cassandra.apache.org Subject: Re: Rationale for using Hazelcast in front of Cassandra? Primary-key select is pretty fast in rdbms too and they also have caches. By "close to" you mean in latency ? Have you thought why people don't use cassandra as a cache ? While it doesn't have LRU, it has TTL,replicatio,sharding. On Fri, Oct 7, 2016 at 12:00 AM, KARR, DAVID mailto:dk0...@att.com>> wrote: Clearly, with “traditional” RDBMSs, you tend to put a cache “close to” the client. However, I was under the impression that Cassandra nodes could be positioned “close to” their clients, and Cassandra has its own cache (I believe), so how effective would it be to put a cache in front of a cache? From: Dorian Hoxha [mailto:dorian.ho...@gmail.com<mailto:dorian.ho...@gmail.com>] Sent: Thursday, October 06, 2016 2:52 PM To: user@cassandra.apache.org<mailto:user@cassandra.apache.org> Subject: Re: Rationale for using Hazelcast in front of Cassandra? Maybe when you can have very hot keys that can give trouble to your 3(replication) cassandra nodes ? Example: why does facebook use memcache ? They certainly have things distributed on thousands of servers. On Thu, Oct 6, 2016 at 11:40 PM, KARR, DAVID mailto:dk0...@att.com>> wrote: I've seen use cases that briefly describe using Hazelcast as a "front-end" for Cassandra, perhaps as a cache. This seems counterintuitive to me. Can someone describe to me when this kind of architecture might make sense?
Re: Rationale for using Hazelcast in front of Cassandra?
Primary-key select is pretty fast in rdbms too and they also have caches. By "close to" you mean in latency ? Have you thought why people don't use cassandra as a cache ? While it doesn't have LRU, it has TTL,replicatio,sharding. On Fri, Oct 7, 2016 at 12:00 AM, KARR, DAVID wrote: > Clearly, with “traditional” RDBMSs, you tend to put a cache “close to” the > client. However, I was under the impression that Cassandra nodes could be > positioned “close to” their clients, and Cassandra has its own cache (I > believe), so how effective would it be to put a cache in front of a cache? > > > > *From:* Dorian Hoxha [mailto:dorian.ho...@gmail.com] > *Sent:* Thursday, October 06, 2016 2:52 PM > *To:* user@cassandra.apache.org > *Subject:* Re: Rationale for using Hazelcast in front of Cassandra? > > > > Maybe when you can have very hot keys that can give trouble to your > 3(replication) cassandra nodes ? > > Example: why does facebook use memcache ? They certainly have things > distributed on thousands of servers. > > > > On Thu, Oct 6, 2016 at 11:40 PM, KARR, DAVID wrote: > > I've seen use cases that briefly describe using Hazelcast as a "front-end" > for Cassandra, perhaps as a cache. This seems counterintuitive to me. Can > someone describe to me when this kind of architecture might make sense? > > >
RE: Rationale for using Hazelcast in front of Cassandra?
Clearly, with “traditional” RDBMSs, you tend to put a cache “close to” the client. However, I was under the impression that Cassandra nodes could be positioned “close to” their clients, and Cassandra has its own cache (I believe), so how effective would it be to put a cache in front of a cache? From: Dorian Hoxha [mailto:dorian.ho...@gmail.com] Sent: Thursday, October 06, 2016 2:52 PM To: user@cassandra.apache.org Subject: Re: Rationale for using Hazelcast in front of Cassandra? Maybe when you can have very hot keys that can give trouble to your 3(replication) cassandra nodes ? Example: why does facebook use memcache ? They certainly have things distributed on thousands of servers. On Thu, Oct 6, 2016 at 11:40 PM, KARR, DAVID mailto:dk0...@att.com>> wrote: I've seen use cases that briefly describe using Hazelcast as a "front-end" for Cassandra, perhaps as a cache. This seems counterintuitive to me. Can someone describe to me when this kind of architecture might make sense?
Re: Rationale for using Hazelcast in front of Cassandra?
Maybe when you can have very hot keys that can give trouble to your 3(replication) cassandra nodes ? Example: why does facebook use memcache ? They certainly have things distributed on thousands of servers. On Thu, Oct 6, 2016 at 11:40 PM, KARR, DAVID wrote: > I've seen use cases that briefly describe using Hazelcast as a "front-end" > for Cassandra, perhaps as a cache. This seems counterintuitive to me. Can > someone describe to me when this kind of architecture might make sense? >