Unsubscribe

2019-05-18 Thread Rajesh Kishore



Re: Deployment

2019-01-12 Thread Rajesh Kishore
Application would send request to one of the node(called as coordinating
node) & this coordinating node is aware of where your result
lies(considering you have modelled your DB correctly, it should not result
in scatter& gather kind of stuff) and thus delegate the query to respective
node, so it does follow client server architecture & your assumption is
correct.
As per my knowledge , generally application should be unaware where your
result lies & must not be tied to a specific node because it would have
bigger implications when stuffs like re-balancing would occur. So, your
application should be unaware where your data lies (in which node I meant),
but obviously keeping application in same region as that of cassandra
cluster would make sense, can't comment much on cloud deployment.

Thanks,
Rajesh

On Sat, Jan 12, 2019 at 8:54 AM amit sehas  wrote:

> I am new to Cassandra, i am wondering how the Cassandra applications are
> deployed in the cloud. Does Cassandra have a client server architecture and
> the application is deployed as a 3rd tier that sends over queries to the
> clients, which then submit them to the Cassandra servers?  Or does the
> application submit the request directly to any of the Cassandra server
> which then decides where the query will be routed to, and then gathers the
> response and returns that to the application.
>
> Does the application accessing the data get deployed on the same nodes in
> the cloud as the Cassandra cluster itself? Or on separate nodes?  Are there
> any best practices available in this regard?
>
> thanks
>


Re: how to avoid lightwieght transactions

2018-06-20 Thread Rajesh Kishore
Hi,

I think LWT feature is introduced for your kind of usecases only -  you
don't want other requests to be updating the same data at the same time
using Paxos algo(2 Phase commit).
So, IMO your usecase makes perfect sense to use LWT to avoid concurrent
updates.

If your issue is not the concurrent update one then IMHO you may want to
split this in two steps:

- get the transcation_type with quorum factor (or higher consistency level)
-  And conditionally update the row with with quorum factor (or higher
consistency level)

But remember, this wont be atomic in nature and wont solve the concurrent
update issue if you have.


Regards,
Rajesh




On Wed, Jun 20, 2018 at 2:59 AM, manuj singh  wrote:

> Hi all,
> we have a use case where we need to update frequently our rows. Now in
> order to do so and so that we dont override updates we have to resort to
> lightweight transactions.
> Since lightweight is expensive(could be 4 times as expensive as normal
> insert) , how do we model around it.
>
> e.g i have a table where
>
> CREATE TABLE multirow (
>
> id text,
>
> time text,
>
> transcation_type text,
>
> status text,
>
> PRIMARY KEY (id, time)
>
> )
>
>
> So lets say we update status column multiple times. So first time we
> update we also have to make sure that the transaction exists otherwise
> normal update will insert it and then the original insert comes in and it
> will override the update.
>
> So in order to fix that we need to use light weight transactions.
>
>
> Is there another way i can model this so that we can avoid the lightweight
> transactions.
>
>
>
> Thanks
>
>
>


Re: row level atomicity and isolation

2018-05-16 Thread Rajesh Kishore
ok got it. So, only using LWT txn the updates across nodes for a particular
row can be isolated, so basically paxos would ensure serializable isolation


Thanks,
Rajesh

On Wed, May 16, 2018 at 4:56 PM, kurt greaves <k...@instaclustr.com> wrote:

> Atomicity and isolation are only guaranteed within a replica. If you have
> multiple concurrent requests across replicas last timestamp will win. You
> can get better isolation using LWT which uses paxos under the hood.
>
> On 16 May 2018 at 08:55, Rajesh Kishore <rajesh10si...@gmail.com> wrote:
>
>> Hi,
>>
>> I am just curious to know when Cassandra doc says the atomicity and
>> isolation is guaranteed for a row.
>> Does it mean, two requests updating a row- "R1" at different replica will
>> be candidate for atomicity and isolation?
>>
>> For instance , I have a setup where RF is 2
>> I have a client application where two requests of updating a particular
>> row #R1 goes to two coordinator nodes at same time.
>> Row "R1" has presence in nodes - N1, N2 (since RF is 2)
>> Does Cassandra ensure atomicity & isolation across replicas/partition for
>> a particular row? If so , then how does it get handled does Cassandra
>> follows 2 Phase commit txn for a row or Cassandra uses distributed lock for
>> a row?
>>
>> Thanks,
>> Rajesh
>>
>>
>>
>


row level atomicity and isolation

2018-05-16 Thread Rajesh Kishore
Hi,

I am just curious to know when Cassandra doc says the atomicity and
isolation is guaranteed for a row.
Does it mean, two requests updating a row- "R1" at different replica will
be candidate for atomicity and isolation?

For instance , I have a setup where RF is 2
I have a client application where two requests of updating a particular row
#R1 goes to two coordinator nodes at same time.
Row "R1" has presence in nodes - N1, N2 (since RF is 2)
Does Cassandra ensure atomicity & isolation across replicas/partition for a
particular row? If so , then how does it get handled does Cassandra follows
2 Phase commit txn for a row or Cassandra uses distributed lock for a row?

Thanks,
Rajesh


Re: Does Cassandra supports ACID txn

2018-04-25 Thread Rajesh Kishore
Correction from previous query

Thanks Ben and all experts.

I am almost a newbie to NoSQL world and thus I have a very general question
how does consumer application of Cassandra/other NoSQL technologies deal
with atomicity & other factors when there is need to *de-normalize *data.
For example:

Let us say I have requirement for queries
- find all hotels by name
- Find all hotels by Point of Interest (POI)
- Find POI near by a hotel

For these queries I would end up more or less in following tables
hotels_by_name(hotel_name,hotel_id,city,) primary key - hotel_name
hotels_by_poi(poi_name,poi_id,hotel_id,hotel_name,..) primary key -
poi_name
poi_by_hotel(hotel_id,poi_name,poi_id,poi_loc,hotel_name,..) primary
key - hotel_id

So, If I have to add/remove a hotel from/into hotels_by_name , I may need
to add/remove into/from tables hotels_by_poi/poi_by_hotel. So, here my
assumption is these operations would need to be atomic( and may be
supporting other ACID properties) . How these kind of operations/usecases
being handled in Cassandra/NoSQL world?

Appreciate your response.

Thanks,
Rajesh

On Thu, Apr 26, 2018 at 8:05 AM, Rajesh Kishore <rajesh10si...@gmail.com>
wrote:

> Thanks Ben and all experts.
>
> I am almost a newbie to NoSQL world and thus I have a very general
> question how does consumer application of Cassandra/other NoSQL
> technologies deal with atomicity & other factors when there is need to
> normalize data. For example:
>
> Let us say I have requirement for queries
> - find all hotels by name
> - Find all hotels by Point of Interest (POI)
> - Find POI near by a hotel
>
> For these queries I would end up more or less in following tables
> hotels_by_name(hotel_name,hotel_id,city,) primary key - hotel_name
> hotels_by_poi(poi_name,poi_id,hotel_id,hotel_name,..) primary key -
> poi_name
> poi_by_hotel(hotel_id,poi_name,poi_id,poi_loc,hotel_name,..) primary
> key - hotel_id
>
> So, If I have to add/remove a hotel from/into hotels_by_name , I may need
> to add/remove into/from tables hotels_by_poi/poi_by_hotel. So, here my
> assumption is these operations would need to be atomic( and may be
> supporting other ACID properties) . How these kind of operations/usecases
> being handled in Cassandra/NoSQL world?
>
> Appreciate your response.
>
> Thanks,
> Rajesh
>
>
>
> On Fri, Apr 20, 2018 at 11:07 AM, Ben Slater <ben.sla...@instaclustr.com>
> wrote:
>
>> The second SO answer just says the partitions will be collocated (ie on
>> the same server) not that the two tables will use the same partition. In
>> any event, Cassandra does not have the kind of functionality you are
>> looking for. The closest is logged batch but as Sylvain said, "all that
>> guarantees is that if some operations of a batch are applied, then all
>> of them will
>> *eventually* get applied” and “batch have no rollback whatsoever”.
>>
>> As Cassandra won’t help you here, a potential (although admittedly more
>> complex) option is to do implement compensating transactions at the
>> application level (eg in the catch block delete the records that were
>> inserted). That, however, does not provide you the isolation part of ACID.
>>
>> You also tend to find that if you have properly denormalised your data
>> model for Cassandra there is less requirement for these type of batched
>> updates.
>>
>> Cheers
>> Ben
>>
>> On Fri, 20 Apr 2018 at 15:21 Rajesh Kishore <rajesh10si...@gmail.com>
>> wrote:
>>
>>> Re-framing my question:
>>>
>>> So, it means that having different tables  will not result into same
>>> partition even though you have same partition key.
>>> Ex.
>>> TableA( Partionkey(id))
>>> TableB( Partionkey(id))
>>> TableC( Partionkey(id))
>>>
>>>
>>> and as part of batch operation I am somehow providing same id say "20"
>>> It wont be considered as Atomic as it will result into different
>>> partition key and there would not be any way to rollback ?
>>> The same is being claimed in https://stackoverflow.com/ques
>>> tions/36700859/does-the-same-partition-key-in-different-
>>> cassandra-tables-add-up-to-cell-theoret
>>>
>>> Now, the other forum says that how we can keep two tables in same
>>> partition
>>> https://stackoverflow.com/questions/34294830/how-to-keep-2-
>>> cassandra-tables-within-same-partition
>>>
>>> Which one is correct ? Please confirm
>>>
>>> Basically , our requirement is - we should be able to achieve similar
>>> functionality as that of JDBC
>>> try {
>

Re: Does Cassandra supports ACID txn

2018-04-25 Thread Rajesh Kishore
Thanks Ben and all experts.

I am almost a newbie to NoSQL world and thus I have a very general question
how does consumer application of Cassandra/other NoSQL technologies deal
with atomicity & other factors when there is need to normalize data. For
example:

Let us say I have requirement for queries
- find all hotels by name
- Find all hotels by Point of Interest (POI)
- Find POI near by a hotel

For these queries I would end up more or less in following tables
hotels_by_name(hotel_name,hotel_id,city,) primary key - hotel_name
hotels_by_poi(poi_name,poi_id,hotel_id,hotel_name,..) primary key -
poi_name
poi_by_hotel(hotel_id,poi_name,poi_id,poi_loc,hotel_name,..) primary
key - hotel_id

So, If I have to add/remove a hotel from/into hotels_by_name , I may need
to add/remove into/from tables hotels_by_poi/poi_by_hotel. So, here my
assumption is these operations would need to be atomic( and may be
supporting other ACID properties) . How these kind of operations/usecases
being handled in Cassandra/NoSQL world?

Appreciate your response.

Thanks,
Rajesh



On Fri, Apr 20, 2018 at 11:07 AM, Ben Slater <ben.sla...@instaclustr.com>
wrote:

> The second SO answer just says the partitions will be collocated (ie on
> the same server) not that the two tables will use the same partition. In
> any event, Cassandra does not have the kind of functionality you are
> looking for. The closest is logged batch but as Sylvain said, "all that
> guarantees is that if some operations of a batch are applied, then all of
> them will
> *eventually* get applied” and “batch have no rollback whatsoever”.
>
> As Cassandra won’t help you here, a potential (although admittedly more
> complex) option is to do implement compensating transactions at the
> application level (eg in the catch block delete the records that were
> inserted). That, however, does not provide you the isolation part of ACID.
>
> You also tend to find that if you have properly denormalised your data
> model for Cassandra there is less requirement for these type of batched
> updates.
>
> Cheers
> Ben
>
> On Fri, 20 Apr 2018 at 15:21 Rajesh Kishore <rajesh10si...@gmail.com>
> wrote:
>
>> Re-framing my question:
>>
>> So, it means that having different tables  will not result into same
>> partition even though you have same partition key.
>> Ex.
>> TableA( Partionkey(id))
>> TableB( Partionkey(id))
>> TableC( Partionkey(id))
>>
>>
>> and as part of batch operation I am somehow providing same id say "20"
>> It wont be considered as Atomic as it will result into different
>> partition key and there would not be any way to rollback ?
>> The same is being claimed in https://stackoverflow.com/
>> questions/36700859/does-the-same-partition-key-in-
>> different-cassandra-tables-add-up-to-cell-theoret
>>
>> Now, the other forum says that how we can keep two tables in same
>> partition
>> https://stackoverflow.com/questions/34294830/how-to-
>> keep-2-cassandra-tables-within-same-partition
>>
>> Which one is correct ? Please confirm
>>
>> Basically , our requirement is - we should be able to achieve similar
>> functionality as that of JDBC
>> try {
>> txn.start()
>> operation a
>> operation b
>>
>> ..
>> operation n
>> txn.commit();
>> } catch (Exception e)
>> {
>>  txn.rollback()
>> }
>>
>> Thanks in advance.
>>
>> Regards,
>> Rajesh
>>
>> On Fri, Apr 20, 2018 at 9:38 AM, Rajesh Kishore <rajesh10si...@gmail.com>
>> wrote:
>>
>>> So, it means that having different tables  will not result into same
>>> partition even though you have same partition key.
>>> Ex.
>>> TableA( Partionkey(id))
>>> TableB( Partionkey(id))
>>> TableC( Partionkey(id))
>>>
>>>
>>> and as part of batch operation I am somehow providing same id say "20"
>>> It wont be considered as Atomic as it will result into different
>>> partition key and there would not be any way to rollback ?
>>> The same is being claimed in https://stackoverflow.com/
>>> questions/36700859/does-the-same-partition-key-in-
>>> different-cassandra-tables-add-up-to-cell-theoret
>>>
>>> Please confirm
>>>
>>> Thanks in advance.
>>>
>>> Regards,
>>> Rajesh
>>>
>>>
>>>
>>> On Thu, Apr 19, 2018 at 3:10 PM, Jacques-Henri Berthemet <
>>> jacques-henri.berthe...@genesys.com> wrote:
>>>
>>>> When using BATCH on multiple tables you’ll need to use a LOGGED batch.
>>>> 

Re: How to know version of TLS being used

2018-04-20 Thread Rajesh Kishore
Yes that's also the way.

On Fri, 20 Apr 2018, 15:55 Ashutosh Kumar, <ashutosh@gmail.com> wrote:

> Hi ,
> I am using python. Is capturing traffic using wireshark right way to know
> this?
> Thanks
> Ashutosh
>
> On Fri, Apr 20, 2018 at 11:11 AM Rajesh Kishore <rajesh10si...@gmail.com>
> wrote:
>
>> If you are using java client , generally to find what is the protocol and
>> cipher used , you can configure -Djavax.net.debug=ssl for the java program.
>> You can configure this property either at server /client and redirect the
>> output to some file.
>> You will see message in ssl negotiation something like
>>
>> ClientHello, TLSv1.2
>>
>>
>>
>> ServerHello, TLSv1.2
>>
>>
>> https://dzone.com/articles/how-analyze-java-ssl-errors
>>
>> Hope this helps.
>>
>> -Rajesh
>>
>>
>> On Thu, Apr 19, 2018 at 4:35 PM, Ashutosh Kumar <ashutosh@gmail.com>
>> wrote:
>>
>>> I have configured client_encryption_options in cassandra.yaml .
>>> How do I know which version of TLS is being used?
>>>
>>> Thanks
>>> Ashutosh
>>>
>>
>>


Re: How to know version of TLS being used

2018-04-19 Thread Rajesh Kishore
If you are using java client , generally to find what is the protocol and
cipher used , you can configure -Djavax.net.debug=ssl for the java program.
You can configure this property either at server /client and redirect the
output to some file.
You will see message in ssl negotiation something like

ClientHello, TLSv1.2



ServerHello, TLSv1.2


https://dzone.com/articles/how-analyze-java-ssl-errors

Hope this helps.

-Rajesh


On Thu, Apr 19, 2018 at 4:35 PM, Ashutosh Kumar 
wrote:

> I have configured client_encryption_options in cassandra.yaml .
> How do I know which version of TLS is being used?
>
> Thanks
> Ashutosh
>


Re: Does Cassandra supports ACID txn

2018-04-19 Thread Rajesh Kishore
Re-framing my question:

So, it means that having different tables  will not result into same
partition even though you have same partition key.
Ex.
TableA( Partionkey(id))
TableB( Partionkey(id))
TableC( Partionkey(id))


and as part of batch operation I am somehow providing same id say "20"
It wont be considered as Atomic as it will result into different partition
key and there would not be any way to rollback ?
The same is being claimed in https://stackoverflow.com/
questions/36700859/does-the-same-partition-key-in-
different-cassandra-tables-add-up-to-cell-theoret

Now, the other forum says that how we can keep two tables in same partition
https://stackoverflow.com/questions/34294830/how-to-keep-2-cassandra-tables-within-same-partition

Which one is correct ? Please confirm

Basically , our requirement is - we should be able to achieve similar
functionality as that of JDBC
try {
txn.start()
operation a
operation b

..
operation n
txn.commit();
} catch (Exception e)
{
 txn.rollback()
}

Thanks in advance.

Regards,
Rajesh

On Fri, Apr 20, 2018 at 9:38 AM, Rajesh Kishore <rajesh10si...@gmail.com>
wrote:

> So, it means that having different tables  will not result into same
> partition even though you have same partition key.
> Ex.
> TableA( Partionkey(id))
> TableB( Partionkey(id))
> TableC( Partionkey(id))
>
>
> and as part of batch operation I am somehow providing same id say "20"
> It wont be considered as Atomic as it will result into different partition
> key and there would not be any way to rollback ?
> The same is being claimed in https://stackoverflow.com/
> questions/36700859/does-the-same-partition-key-in-
> different-cassandra-tables-add-up-to-cell-theoret
>
> Please confirm
>
> Thanks in advance.
>
> Regards,
> Rajesh
>
>
>
> On Thu, Apr 19, 2018 at 3:10 PM, Jacques-Henri Berthemet <
> jacques-henri.berthe...@genesys.com> wrote:
>
>> When using BATCH on multiple tables you’ll need to use a LOGGED batch.
>> When you send the request, it will be written to the batch log of all
>> (relevant) nodes, when this write is successful it will be “accepted”
>> and nodes will try to apply the batch operations. If for any reason a
>> statement fails the node will keep retrying forever. In that case you may
>> see partially applied batch until it’s fixed.
>>
>>
>>
>> Note that you can’t mix BATCH and LWT on different tables/partitions.
>>
>>
>>
>> You can get more details here:
>>
>> http://cassandra.apache.org/doc/latest/cql/dml.html#batch
>>
>> https://inoio.de/blog/2016/01/13/cassandra-to-batch-or-not-to-batch/
>>
>> *--*
>>
>> *Jacques-Henri Berthemet*
>>
>>
>>
>> *From:* Rajesh Kishore [mailto:rajesh10si...@gmail.com]
>> *Sent:* Thursday, April 19, 2018 11:13 AM
>> *To:* user@cassandra.apache.org
>>
>> *Subject:* Re: Does Cassandra supports ACID txn
>>
>>
>>
>> Thanks for the response. Let me put my question again wrt a example
>>
>> I want to perform a atomic txn say insert/delete/update on a set of tables
>>
>> TableA
>>
>> TableB
>>
>> TableC
>>
>> When these are performed as batch operations and let us say something
>> goes wrong while doing operation at TableC
>>
>> Would the system rollback the operations done for TableA TableB ?
>>
>> -Rajesh
>>
>>
>>
>>
>>
>> On Thu, Apr 19, 2018 at 1:25 PM, Jacques-Henri Berthemet <
>> jacques-henri.berthe...@genesys.com> wrote:
>>
>> Cassandra support LWT (Lightweight transactions), you may find this doc
>> interesting:
>>
>> https://docs.datastax.com/en/cassandra/3.0/cassandra/dml/dml
>> DataConsistencyTOC.html
>>
>>
>>
>> In any case, LWT or BATCH you won’t have external control on the tx, it’s
>> either done or not done. In case of timeout you won’t have a way to know
>> if it worked or not.
>>
>> There is no way to rollback a statement/batch, the only way is to send an
>> update to modify the partition to its previous state.
>>
>>
>>
>> Regards,
>>
>> *--*
>>
>> *Jacques-Henri Berthemet*
>>
>>
>>
>> *From:* DuyHai Doan [mailto:doanduy...@gmail.com]
>> *Sent:* Thursday, April 19, 2018 9:10 AM
>> *To:* user <user@cassandra.apache.org>
>> *Subject:* Re: Does Cassandra supports ACID txn
>>
>>
>>
>> No ACID transaction any soon in Cassandra
>>
>>
>>
>> On Thu, Apr 19, 2018 at 7:35 AM, Rajesh Kishore <rajesh10si...@gmail.com>
>> wrote:
>>
>> Hi,
>>
>> I am bit confused by reading different articles, does recent version of
>> Cassandra supports ACID transaction ?
>>
>> I found BATCH command , but not sure if it supports rollback, consider
>> that transaction I am going to perform would be on single partition.
>>
>> Also, what are the limitations if any?
>>
>>
>>
>> Thanks,
>>
>> Rajesh
>>
>>
>>
>>
>>
>
>


Re: Does Cassandra supports ACID txn

2018-04-19 Thread Rajesh Kishore
So, it means that having different tables  will not result into same
partition even though you have same partition key.
Ex.
TableA( Partionkey(id))
TableB( Partionkey(id))
TableC( Partionkey(id))


and as part of batch operation I am somehow providing same id say "20"
It wont be considered as Atomic as it will result into different partition
key and there would not be any way to rollback ?
The same is being claimed in
https://stackoverflow.com/questions/36700859/does-the-same-partition-key-in-different-cassandra-tables-add-up-to-cell-theoret

Please confirm

Thanks in advance.

Regards,
Rajesh



On Thu, Apr 19, 2018 at 3:10 PM, Jacques-Henri Berthemet <
jacques-henri.berthe...@genesys.com> wrote:

> When using BATCH on multiple tables you’ll need to use a LOGGED batch.
> When you send the request, it will be written to the batch log of all
> (relevant) nodes, when this write is successful it will be “accepted” and
> nodes will try to apply the batch operations. If for any reason a statement
> fails the node will keep retrying forever. In that case you may see
> partially applied batch until it’s fixed.
>
>
>
> Note that you can’t mix BATCH and LWT on different tables/partitions.
>
>
>
> You can get more details here:
>
> http://cassandra.apache.org/doc/latest/cql/dml.html#batch
>
> https://inoio.de/blog/2016/01/13/cassandra-to-batch-or-not-to-batch/
>
> *--*
>
> *Jacques-Henri Berthemet*
>
>
>
> *From:* Rajesh Kishore [mailto:rajesh10si...@gmail.com]
> *Sent:* Thursday, April 19, 2018 11:13 AM
> *To:* user@cassandra.apache.org
>
> *Subject:* Re: Does Cassandra supports ACID txn
>
>
>
> Thanks for the response. Let me put my question again wrt a example
>
> I want to perform a atomic txn say insert/delete/update on a set of tables
>
> TableA
>
> TableB
>
> TableC
>
> When these are performed as batch operations and let us say something goes
> wrong while doing operation at TableC
>
> Would the system rollback the operations done for TableA TableB ?
>
> -Rajesh
>
>
>
>
>
> On Thu, Apr 19, 2018 at 1:25 PM, Jacques-Henri Berthemet <
> jacques-henri.berthe...@genesys.com> wrote:
>
> Cassandra support LWT (Lightweight transactions), you may find this doc
> interesting:
>
> https://docs.datastax.com/en/cassandra/3.0/cassandra/dml/
> dmlDataConsistencyTOC.html
>
>
>
> In any case, LWT or BATCH you won’t have external control on the tx, it’s
> either done or not done. In case of timeout you won’t have a way to know
> if it worked or not.
>
> There is no way to rollback a statement/batch, the only way is to send an
> update to modify the partition to its previous state.
>
>
>
> Regards,
>
> *--*
>
> *Jacques-Henri Berthemet*
>
>
>
> *From:* DuyHai Doan [mailto:doanduy...@gmail.com]
> *Sent:* Thursday, April 19, 2018 9:10 AM
> *To:* user <user@cassandra.apache.org>
> *Subject:* Re: Does Cassandra supports ACID txn
>
>
>
> No ACID transaction any soon in Cassandra
>
>
>
> On Thu, Apr 19, 2018 at 7:35 AM, Rajesh Kishore <rajesh10si...@gmail.com>
> wrote:
>
> Hi,
>
> I am bit confused by reading different articles, does recent version of
> Cassandra supports ACID transaction ?
>
> I found BATCH command , but not sure if it supports rollback, consider
> that transaction I am going to perform would be on single partition.
>
> Also, what are the limitations if any?
>
>
>
> Thanks,
>
> Rajesh
>
>
>
>
>


Re: Does Cassandra supports ACID txn

2018-04-19 Thread Rajesh Kishore
Thanks for the response. Let me put my question again wrt a example

I want to perform a atomic txn say insert/delete/update on a set of tables
TableA
TableB
TableC

When these are performed as batch operations and let us say something goes
wrong while doing operation at TableC
Would the system rollback the operations done for TableA TableB ?

-Rajesh



On Thu, Apr 19, 2018 at 1:25 PM, Jacques-Henri Berthemet <
jacques-henri.berthe...@genesys.com> wrote:

> Cassandra support LWT (Lightweight transactions), you may find this doc
> interesting:
>
> https://docs.datastax.com/en/cassandra/3.0/cassandra/dml/
> dmlDataConsistencyTOC.html
>
>
>
> In any case, LWT or BATCH you won’t have external control on the tx, it’s
> either done or not done. In case of timeout you won’t have a way to know
> if it worked or not.
>
> There is no way to rollback a statement/batch, the only way is to send an
> update to modify the partition to its previous state.
>
>
>
> Regards,
>
> *--*
>
> *Jacques-Henri Berthemet*
>
>
>
> *From:* DuyHai Doan [mailto:doanduy...@gmail.com]
> *Sent:* Thursday, April 19, 2018 9:10 AM
> *To:* user <user@cassandra.apache.org>
> *Subject:* Re: Does Cassandra supports ACID txn
>
>
>
> No ACID transaction any soon in Cassandra
>
>
>
> On Thu, Apr 19, 2018 at 7:35 AM, Rajesh Kishore <rajesh10si...@gmail.com>
> wrote:
>
> Hi,
>
> I am bit confused by reading different articles, does recent version of
> Cassandra supports ACID transaction ?
>
> I found BATCH command , but not sure if it supports rollback, consider
> that transaction I am going to perform would be on single partition.
>
> Also, what are the limitations if any?
>
>
>
> Thanks,
>
> Rajesh
>
>
>


Does Cassandra supports ACID txn

2018-04-18 Thread Rajesh Kishore
Hi,

I am bit confused by reading different articles, does recent version of
Cassandra supports ACID transaction ?

I found BATCH command , but not sure if it supports rollback, consider that
transaction I am going to perform would be on single partition.

Also, what are the limitations if any?

Thanks,
Rajesh


Re: newbie , to use cassandra when query is arbitrary?

2018-02-19 Thread Rajesh Kishore
Hi Rahul,

I cannot confirm the size wrt Cassandra, but usually in berkley db for *10
M records* , it takes around 120 GB. Any operation takes hardly 2 to 3 ms
when query is performed on index attribute.

Usually 10 to 12 columns are the OOTB behaviour but one can configure any
attribute to be indexed on the fly. Main issue is , what should be the
strategy to partition the records if your query is not fixed ?


Regards,
Rajesh

On Tue, Feb 20, 2018 at 2:09 AM, Rahul Singh <rahul.xavier.si...@gmail.com>
wrote:

> What is the data size in TB / Gb and what what is the Operations Per
> second for read and write.
> Cassandra is both for high volume and high velocity for read and write.
>
> How many of the columns need to be indexed? You may find that doing a
> secondary index is helpful or looking to Elassandra / DSE SolR if your
> queries need to be on arbitrary columns across those hundred.
>
> --
> Rahul Singh
> rahul.si...@anant.us
>
> Anant Corporation
>
> On Feb 19, 2018, 11:31 AM -0500, Rajesh Kishore <rajesh10si...@gmail.com>,
> wrote:
>
> It can be minimum of 20 m to 10 billions
>
> With each entry can contain upto 100 columns
>
> Rajesh
>
> On 19 Feb 2018 9:02 p.m., "Rahul Singh" <rahul.xavier.si...@gmail.com>
> wrote:
>
> How much data do you need to store and what is the frequency of reads and
> writes.
>
> --
> Rahul Singh
> rahul.si...@anant.us
>
> Anant Corporation
>
> On Feb 19, 2018, 3:44 AM -0500, Rajesh Kishore <rajesh10si...@gmail.com>,
> wrote:
>
> Hi All,
>
> I am a newbie to Cassandra world, got some understanding of the product.
> I have a application (which is kind of datastore) for other applications,
> the user queries are not fixed i.e the queries can come with any attributes.
> In this case, is it recommended to use cassandra ? What benefits we can
> get ?
>
> Background - The application currently  using berkely db for maintaining
> entries, we are trying to evaluate if other backend can fit with the
> requirement we have.
>
> Now, if we want to use cassandra , I broadly see one table which would
> contain all the entries. Now, the question is what should be the correct
> partitioning majors ?
> entity is
> Entry {
> id varchar,
> objectclasses list
> sn
> cn
> ...
> ...
> }
>
> and query can be anything like
> a) get all entries based on sn=*
> b) get all entries based on sn=A and cn=b
> c) get all entries based on sn=A OR objeclass contains person
> ..
> 
>
> Please advise.
>
> Thanks,
> Rajesh
>
>
>


Re: newbie , to use cassandra when query is arbitrary?

2018-02-19 Thread Rajesh Kishore
It can be minimum of 20 m to 10 billions

With each entry can contain upto 100 columns

Rajesh

On 19 Feb 2018 9:02 p.m., "Rahul Singh" <rahul.xavier.si...@gmail.com>
wrote:

How much data do you need to store and what is the frequency of reads and
writes.

--
Rahul Singh
rahul.si...@anant.us

Anant Corporation

On Feb 19, 2018, 3:44 AM -0500, Rajesh Kishore <rajesh10si...@gmail.com>,
wrote:

Hi All,

I am a newbie to Cassandra world, got some understanding of the product.
I have a application (which is kind of datastore) for other applications,
the user queries are not fixed i.e the queries can come with any attributes.
In this case, is it recommended to use cassandra ? What benefits we can get
?

Background - The application currently  using berkely db for maintaining
entries, we are trying to evaluate if other backend can fit with the
requirement we have.

Now, if we want to use cassandra , I broadly see one table which would
contain all the entries. Now, the question is what should be the correct
partitioning majors ?
entity is
Entry {
id varchar,
objectclasses list
sn
cn
...
...
}

and query can be anything like
a) get all entries based on sn=*
b) get all entries based on sn=A and cn=b
c) get all entries based on sn=A OR objeclass contains person
..


Please advise.

Thanks,
Rajesh


newbie , to use cassandra when query is arbitrary?

2018-02-19 Thread Rajesh Kishore
Hi All,

I am a newbie to Cassandra world, got some understanding of the product.
I have a application (which is kind of datastore) for other applications,
the user queries are not fixed i.e the queries can come with any attributes.
In this case, is it recommended to use cassandra ? What benefits we can get
?

Background - The application currently  using berkely db for maintaining
entries, we are trying to evaluate if other backend can fit with the
requirement we have.

Now, if we want to use cassandra , I broadly see one table which would
contain all the entries. Now, the question is what should be the correct
partitioning majors ?
entity is
Entry {
id varchar,
objectclasses list
sn
cn
...
...
}

and query can be anything like
a) get all entries based on sn=*
b) get all entries based on sn=A and cn=b
c) get all entries based on sn=A OR objeclass contains person
..


Please advise.

Thanks,
Rajesh