You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Enrico Olivelli <eo...@gmail.com> on 2016/01/26 20:31:45 UTC

Embedded cassandra

Hi,
I' new to Cassandra. I'm evaluating to launch Cassandra daemon inside the
JVM of my program. This is essentially because I want the lifecycle of
Cassandra to be managed by my daemon.
My program can be launched on several machines (in the order of max 10
instances) and every instance collaborate with others in a peer to peer,
fully decentralized way. Cassandra seems to be the best java db which can
be useful for my purpose.

Is there any experience of Cassandra embedded in production systems ?

Regards
Enrico Olivelli

Re: Embedded cassandra

Posted by Jack Krupansky <ja...@gmail.com>.
And do share your conclusions with us, so others can benefit.

-- Jack Krupansky

On Wed, Jan 27, 2016 at 1:28 AM, Enrico Olivelli <eo...@gmail.com>
wrote:

> Thank you all for your feedback.
> I and my team will take all these suggestions into account.
>
> Cheers
> Enrico
>
> Il giorno Mar 26 Gen 2016 23:51 Jack Krupansky <ja...@gmail.com>
> ha scritto:
>
>> There is no documented support for embedded Cassandra. Sure, there is a
>> CassandraDaemon class and a EmbeddedCassandraService class, but they are
>> intended for testing, not for use of the product.
>>
>> I have seen a couple of (old) references to people running embedded
>> Cassandra (one in the official Wiki), but nothing in recent years.
>>
>> In short, maybe it might work, but be sure to inform your organization's
>> management that it would not be supported. You'd be on your own. For
>> example, even if you find a legitimate bug in Cassandra itself, the first
>> thing we'd ask you to do is to provide a repro that uses normal Cassandra.
>>
>>
>> -- Jack Krupansky
>>
>> On Tue, Jan 26, 2016 at 5:22 PM, Jonathan Haddad <jo...@jonhaddad.com>
>> wrote:
>>
>>> Launching a distributed database inside of an application server does
>>> not make it easier to manage, it makes it a nightmare.
>>>
>>> Rebooting a node is easy, rebooting ALL your nodes when you do a
>>> deployment is pointless.
>>>
>>> On Tue, Jan 26, 2016 at 2:14 PM Enrico Olivelli <eo...@gmail.com>
>>> wrote:
>>>
>>>> Hanks for your replies.
>>>> Actually my service uses a traditional jdbc database which is to be
>>>> shared among all the peers. I'm looking for a shared-nothing db and
>>>> Cassandra seems good.
>>>> I'm already using HBase in production but it seems to me that Cassandra
>>>> is more dynamic. No need for distributed fs like hdfs, no need for a
>>>> coordinator. From the docs it looks like a sort of peer to peer db.
>>>> Your answers sound like a reboot of a node or the addition or the
>>>> removal are not so simple and automatic operations ?
>>>>
>>>> The other use case is that I want a db that can be launched inside the
>>>> same process in order to make the system simpler to manage. Actually we use
>>>> h2 for single instance deployments but it is not good for production.
>>>>
>>>> --  Enrico
>>>>
>>>> Il giorno Mar 26 Gen 2016 21:59 Jonathan Haddad <jo...@jonhaddad.com> ha
>>>> scritto:
>>>>
>>>>> For the sake of argument... why do you think you should embed
>>>>> Cassandra?  I'll be honest with you, making Cassandra restart every time
>>>>> you want to upgrade your daemon sounds like a horrible idea.
>>>>>
>>>>> Run your 10 DB instances on their own and save yourself the
>>>>> operational headache.
>>>>>
>>>>> On Tue, Jan 26, 2016 at 11:35 AM Richard L. Burton III <
>>>>> mrburton@gmail.com> wrote:
>>>>>
>>>>>> I'm certain you're going to get a lot of users on this mailing list
>>>>>> telling you that's a bad idea. You should read up on Cassandra via datastax
>>>>>> website to understand how Cassandra is designed and works.
>>>>>>
>>>>>> There's tools for monitoring and more.
>>>>>>
>>>>>> On Tue, Jan 26, 2016 at 2:31 PM, Enrico Olivelli <eolivelli@gmail.com
>>>>>> > wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>> I' new to Cassandra. I'm evaluating to launch Cassandra daemon
>>>>>>> inside the JVM of my program. This is essentially because I want the
>>>>>>> lifecycle of Cassandra to be managed by my daemon.
>>>>>>> My program can be launched on several machines (in the order of max
>>>>>>> 10 instances) and every instance collaborate with others in a peer to peer,
>>>>>>> fully decentralized way. Cassandra seems to be the best java db which can
>>>>>>> be useful for my purpose.
>>>>>>>
>>>>>>> Is there any experience of Cassandra embedded in production systems ?
>>>>>>>
>>>>>>> Regards
>>>>>>> Enrico Olivelli
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> -Richard L. Burton III
>>>>>> @rburton
>>>>>>
>>>>>
>>

Re: Embedded cassandra

Posted by Enrico Olivelli <eo...@gmail.com>.
Thank you all for your feedback.
I and my team will take all these suggestions into account.

Cheers
Enrico

Il giorno Mar 26 Gen 2016 23:51 Jack Krupansky <ja...@gmail.com>
ha scritto:

> There is no documented support for embedded Cassandra. Sure, there is a
> CassandraDaemon class and a EmbeddedCassandraService class, but they are
> intended for testing, not for use of the product.
>
> I have seen a couple of (old) references to people running embedded
> Cassandra (one in the official Wiki), but nothing in recent years.
>
> In short, maybe it might work, but be sure to inform your organization's
> management that it would not be supported. You'd be on your own. For
> example, even if you find a legitimate bug in Cassandra itself, the first
> thing we'd ask you to do is to provide a repro that uses normal Cassandra.
>
>
> -- Jack Krupansky
>
> On Tue, Jan 26, 2016 at 5:22 PM, Jonathan Haddad <jo...@jonhaddad.com>
> wrote:
>
>> Launching a distributed database inside of an application server does not
>> make it easier to manage, it makes it a nightmare.
>>
>> Rebooting a node is easy, rebooting ALL your nodes when you do a
>> deployment is pointless.
>>
>> On Tue, Jan 26, 2016 at 2:14 PM Enrico Olivelli <eo...@gmail.com>
>> wrote:
>>
>>> Hanks for your replies.
>>> Actually my service uses a traditional jdbc database which is to be
>>> shared among all the peers. I'm looking for a shared-nothing db and
>>> Cassandra seems good.
>>> I'm already using HBase in production but it seems to me that Cassandra
>>> is more dynamic. No need for distributed fs like hdfs, no need for a
>>> coordinator. From the docs it looks like a sort of peer to peer db.
>>> Your answers sound like a reboot of a node or the addition or the
>>> removal are not so simple and automatic operations ?
>>>
>>> The other use case is that I want a db that can be launched inside the
>>> same process in order to make the system simpler to manage. Actually we use
>>> h2 for single instance deployments but it is not good for production.
>>>
>>> --  Enrico
>>>
>>> Il giorno Mar 26 Gen 2016 21:59 Jonathan Haddad <jo...@jonhaddad.com> ha
>>> scritto:
>>>
>>>> For the sake of argument... why do you think you should embed
>>>> Cassandra?  I'll be honest with you, making Cassandra restart every time
>>>> you want to upgrade your daemon sounds like a horrible idea.
>>>>
>>>> Run your 10 DB instances on their own and save yourself the operational
>>>> headache.
>>>>
>>>> On Tue, Jan 26, 2016 at 11:35 AM Richard L. Burton III <
>>>> mrburton@gmail.com> wrote:
>>>>
>>>>> I'm certain you're going to get a lot of users on this mailing list
>>>>> telling you that's a bad idea. You should read up on Cassandra via datastax
>>>>> website to understand how Cassandra is designed and works.
>>>>>
>>>>> There's tools for monitoring and more.
>>>>>
>>>>> On Tue, Jan 26, 2016 at 2:31 PM, Enrico Olivelli <eo...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>> I' new to Cassandra. I'm evaluating to launch Cassandra daemon inside
>>>>>> the JVM of my program. This is essentially because I want the lifecycle of
>>>>>> Cassandra to be managed by my daemon.
>>>>>> My program can be launched on several machines (in the order of max
>>>>>> 10 instances) and every instance collaborate with others in a peer to peer,
>>>>>> fully decentralized way. Cassandra seems to be the best java db which can
>>>>>> be useful for my purpose.
>>>>>>
>>>>>> Is there any experience of Cassandra embedded in production systems ?
>>>>>>
>>>>>> Regards
>>>>>> Enrico Olivelli
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> -Richard L. Burton III
>>>>> @rburton
>>>>>
>>>>
>

Re: Embedded cassandra

Posted by Jack Krupansky <ja...@gmail.com>.
There is no documented support for embedded Cassandra. Sure, there is a
CassandraDaemon class and a EmbeddedCassandraService class, but they are
intended for testing, not for use of the product.

I have seen a couple of (old) references to people running embedded
Cassandra (one in the official Wiki), but nothing in recent years.

In short, maybe it might work, but be sure to inform your organization's
management that it would not be supported. You'd be on your own. For
example, even if you find a legitimate bug in Cassandra itself, the first
thing we'd ask you to do is to provide a repro that uses normal Cassandra.


-- Jack Krupansky

On Tue, Jan 26, 2016 at 5:22 PM, Jonathan Haddad <jo...@jonhaddad.com> wrote:

> Launching a distributed database inside of an application server does not
> make it easier to manage, it makes it a nightmare.
>
> Rebooting a node is easy, rebooting ALL your nodes when you do a
> deployment is pointless.
>
> On Tue, Jan 26, 2016 at 2:14 PM Enrico Olivelli <eo...@gmail.com>
> wrote:
>
>> Hanks for your replies.
>> Actually my service uses a traditional jdbc database which is to be
>> shared among all the peers. I'm looking for a shared-nothing db and
>> Cassandra seems good.
>> I'm already using HBase in production but it seems to me that Cassandra
>> is more dynamic. No need for distributed fs like hdfs, no need for a
>> coordinator. From the docs it looks like a sort of peer to peer db.
>> Your answers sound like a reboot of a node or the addition or the removal
>> are not so simple and automatic operations ?
>>
>> The other use case is that I want a db that can be launched inside the
>> same process in order to make the system simpler to manage. Actually we use
>> h2 for single instance deployments but it is not good for production.
>>
>> --  Enrico
>>
>> Il giorno Mar 26 Gen 2016 21:59 Jonathan Haddad <jo...@jonhaddad.com> ha
>> scritto:
>>
>>> For the sake of argument... why do you think you should embed
>>> Cassandra?  I'll be honest with you, making Cassandra restart every time
>>> you want to upgrade your daemon sounds like a horrible idea.
>>>
>>> Run your 10 DB instances on their own and save yourself the operational
>>> headache.
>>>
>>> On Tue, Jan 26, 2016 at 11:35 AM Richard L. Burton III <
>>> mrburton@gmail.com> wrote:
>>>
>>>> I'm certain you're going to get a lot of users on this mailing list
>>>> telling you that's a bad idea. You should read up on Cassandra via datastax
>>>> website to understand how Cassandra is designed and works.
>>>>
>>>> There's tools for monitoring and more.
>>>>
>>>> On Tue, Jan 26, 2016 at 2:31 PM, Enrico Olivelli <eo...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>> I' new to Cassandra. I'm evaluating to launch Cassandra daemon inside
>>>>> the JVM of my program. This is essentially because I want the lifecycle of
>>>>> Cassandra to be managed by my daemon.
>>>>> My program can be launched on several machines (in the order of max 10
>>>>> instances) and every instance collaborate with others in a peer to peer,
>>>>> fully decentralized way. Cassandra seems to be the best java db which can
>>>>> be useful for my purpose.
>>>>>
>>>>> Is there any experience of Cassandra embedded in production systems ?
>>>>>
>>>>> Regards
>>>>> Enrico Olivelli
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> -Richard L. Burton III
>>>> @rburton
>>>>
>>>

Re: Embedded cassandra

Posted by Jonathan Haddad <jo...@jonhaddad.com>.
Launching a distributed database inside of an application server does not
make it easier to manage, it makes it a nightmare.

Rebooting a node is easy, rebooting ALL your nodes when you do a deployment
is pointless.

On Tue, Jan 26, 2016 at 2:14 PM Enrico Olivelli <eo...@gmail.com> wrote:

> Hanks for your replies.
> Actually my service uses a traditional jdbc database which is to be shared
> among all the peers. I'm looking for a shared-nothing db and Cassandra
> seems good.
> I'm already using HBase in production but it seems to me that Cassandra is
> more dynamic. No need for distributed fs like hdfs, no need for a
> coordinator. From the docs it looks like a sort of peer to peer db.
> Your answers sound like a reboot of a node or the addition or the removal
> are not so simple and automatic operations ?
>
> The other use case is that I want a db that can be launched inside the
> same process in order to make the system simpler to manage. Actually we use
> h2 for single instance deployments but it is not good for production.
>
> --  Enrico
>
> Il giorno Mar 26 Gen 2016 21:59 Jonathan Haddad <jo...@jonhaddad.com> ha
> scritto:
>
>> For the sake of argument... why do you think you should embed Cassandra?
>> I'll be honest with you, making Cassandra restart every time you want to
>> upgrade your daemon sounds like a horrible idea.
>>
>> Run your 10 DB instances on their own and save yourself the operational
>> headache.
>>
>> On Tue, Jan 26, 2016 at 11:35 AM Richard L. Burton III <
>> mrburton@gmail.com> wrote:
>>
>>> I'm certain you're going to get a lot of users on this mailing list
>>> telling you that's a bad idea. You should read up on Cassandra via datastax
>>> website to understand how Cassandra is designed and works.
>>>
>>> There's tools for monitoring and more.
>>>
>>> On Tue, Jan 26, 2016 at 2:31 PM, Enrico Olivelli <eo...@gmail.com>
>>> wrote:
>>>
>>>> Hi,
>>>> I' new to Cassandra. I'm evaluating to launch Cassandra daemon inside
>>>> the JVM of my program. This is essentially because I want the lifecycle of
>>>> Cassandra to be managed by my daemon.
>>>> My program can be launched on several machines (in the order of max 10
>>>> instances) and every instance collaborate with others in a peer to peer,
>>>> fully decentralized way. Cassandra seems to be the best java db which can
>>>> be useful for my purpose.
>>>>
>>>> Is there any experience of Cassandra embedded in production systems ?
>>>>
>>>> Regards
>>>> Enrico Olivelli
>>>>
>>>
>>>
>>>
>>> --
>>> -Richard L. Burton III
>>> @rburton
>>>
>>

Re: Embedded cassandra

Posted by Enrico Olivelli <eo...@gmail.com>.
Hanks for your replies.
Actually my service uses a traditional jdbc database which is to be shared
among all the peers. I'm looking for a shared-nothing db and Cassandra
seems good.
I'm already using HBase in production but it seems to me that Cassandra is
more dynamic. No need for distributed fs like hdfs, no need for a
coordinator. From the docs it looks like a sort of peer to peer db.
Your answers sound like a reboot of a node or the addition or the removal
are not so simple and automatic operations ?

The other use case is that I want a db that can be launched inside the same
process in order to make the system simpler to manage. Actually we use h2
for single instance deployments but it is not good for production.

--  Enrico

Il giorno Mar 26 Gen 2016 21:59 Jonathan Haddad <jo...@jonhaddad.com> ha
scritto:

> For the sake of argument... why do you think you should embed Cassandra?
> I'll be honest with you, making Cassandra restart every time you want to
> upgrade your daemon sounds like a horrible idea.
>
> Run your 10 DB instances on their own and save yourself the operational
> headache.
>
> On Tue, Jan 26, 2016 at 11:35 AM Richard L. Burton III <mr...@gmail.com>
> wrote:
>
>> I'm certain you're going to get a lot of users on this mailing list
>> telling you that's a bad idea. You should read up on Cassandra via datastax
>> website to understand how Cassandra is designed and works.
>>
>> There's tools for monitoring and more.
>>
>> On Tue, Jan 26, 2016 at 2:31 PM, Enrico Olivelli <eo...@gmail.com>
>> wrote:
>>
>>> Hi,
>>> I' new to Cassandra. I'm evaluating to launch Cassandra daemon inside
>>> the JVM of my program. This is essentially because I want the lifecycle of
>>> Cassandra to be managed by my daemon.
>>> My program can be launched on several machines (in the order of max 10
>>> instances) and every instance collaborate with others in a peer to peer,
>>> fully decentralized way. Cassandra seems to be the best java db which can
>>> be useful for my purpose.
>>>
>>> Is there any experience of Cassandra embedded in production systems ?
>>>
>>> Regards
>>> Enrico Olivelli
>>>
>>
>>
>>
>> --
>> -Richard L. Burton III
>> @rburton
>>
>

Re: Embedded cassandra

Posted by Jonathan Haddad <jo...@jonhaddad.com>.
For the sake of argument... why do you think you should embed Cassandra?
I'll be honest with you, making Cassandra restart every time you want to
upgrade your daemon sounds like a horrible idea.

Run your 10 DB instances on their own and save yourself the operational
headache.

On Tue, Jan 26, 2016 at 11:35 AM Richard L. Burton III <mr...@gmail.com>
wrote:

> I'm certain you're going to get a lot of users on this mailing list
> telling you that's a bad idea. You should read up on Cassandra via datastax
> website to understand how Cassandra is designed and works.
>
> There's tools for monitoring and more.
>
> On Tue, Jan 26, 2016 at 2:31 PM, Enrico Olivelli <eo...@gmail.com>
> wrote:
>
>> Hi,
>> I' new to Cassandra. I'm evaluating to launch Cassandra daemon inside the
>> JVM of my program. This is essentially because I want the lifecycle of
>> Cassandra to be managed by my daemon.
>> My program can be launched on several machines (in the order of max 10
>> instances) and every instance collaborate with others in a peer to peer,
>> fully decentralized way. Cassandra seems to be the best java db which can
>> be useful for my purpose.
>>
>> Is there any experience of Cassandra embedded in production systems ?
>>
>> Regards
>> Enrico Olivelli
>>
>
>
>
> --
> -Richard L. Burton III
> @rburton
>

Re: Embedded cassandra

Posted by "Richard L. Burton III" <mr...@gmail.com>.
I'm certain you're going to get a lot of users on this mailing list telling
you that's a bad idea. You should read up on Cassandra via datastax website
to understand how Cassandra is designed and works.

There's tools for monitoring and more.

On Tue, Jan 26, 2016 at 2:31 PM, Enrico Olivelli <eo...@gmail.com>
wrote:

> Hi,
> I' new to Cassandra. I'm evaluating to launch Cassandra daemon inside the
> JVM of my program. This is essentially because I want the lifecycle of
> Cassandra to be managed by my daemon.
> My program can be launched on several machines (in the order of max 10
> instances) and every instance collaborate with others in a peer to peer,
> fully decentralized way. Cassandra seems to be the best java db which can
> be useful for my purpose.
>
> Is there any experience of Cassandra embedded in production systems ?
>
> Regards
> Enrico Olivelli
>



-- 
-Richard L. Burton III
@rburton