You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Cristina <cr...@hotmail.com> on 2012/06/15 13:59:52 UTC
Isolation level
Hi,
I have read that Hbase has read committed as isolation level, but I have some
doubts.
Is it possible to chage this level, for instance to read uncommitted? How could
I do this?
Another question, Is this isolation level based on locks? I have doubts because
Hbase has multiversion concurrency control so it may implement read committed
snapshot or snapshot isolation.
Thanks,
Cristina
Re: Isolation level
Posted by Cristina <cr...@hotmail.com>.
Thanks everyone for your useful answers.
Cristina
RE: Isolation level
Posted by Anoop Sam John <an...@huawei.com>.
Hi
A put operation HBase may need to write data to multiple stores. [Depends on presence of KVs belonging to different CFs in the Put]
A put can be considered as committed when it has successfully done the write to all the corresponding stores [In turn into the Memstores of those stores]
In case of a READ_UNCOMMITTED level, there can be situation of partial row read. At the time of read the write was completed in one store but not in another.
The read committed level makes sure this will not happen using the MVCC.
-Anoop-
________________________________________
From: Michael Segel [michael_segel@hotmail.com]
Sent: Monday, June 18, 2012 5:16 PM
To: user@hbase.apache.org
Subject: Re: Isolation level
Since you don't have OLTP, the terms need to be better defined.
What is meant by an uncommitted_ write in HBase?
RLL in RDBMS is different than RLL in HBase. You don't have the concept of a transaction in HBase.
-Mike
On Jun 17, 2012, at 10:32 PM, Anoop Sam John wrote:
> Hi
> You can check Scan#setIsolationLevel() API for changing the level. By default it is read committed means read only committed writes.
>
> -Anoop-
> ________________________________________
> From: Jerry Lam [chilinglam@gmail.com]
> Sent: Friday, June 15, 2012 9:51 PM
> To: user@hbase.apache.org
> Subject: Re: Isolation level
>
> Hi Cristina:
>
> My understanding of HBase is that the isolation level fro read ops is Read
> Committed. There is only write lock which could protect the data from
> modifying by other requests but there is no read-lock (it is there but it
> doesn't have any effect). Since put ops are atomic, it can succeed or fail
> but not in the middle so clients can only read the data if the write ops
> succeeds
>
> HTH,
>
> Jerry
>
>
> On Fri, Jun 15, 2012 at 7:59 AM, Cristina <cr...@hotmail.com> wrote:
>
>> Hi,
>>
>> I have read that Hbase has read committed as isolation level, but I have
>> some
>> doubts.
>> Is it possible to chage this level, for instance to read uncommitted? How
>> could
>> I do this?
>> Another question, Is this isolation level based on locks? I have doubts
>> because
>> Hbase has multiversion concurrency control so it may implement read
>> committed
>> snapshot or snapshot isolation.
>>
>> Thanks,
>> Cristina
>>
>>
Re: Isolation level
Posted by Michael Segel <mi...@hotmail.com>.
Since you don't have OLTP, the terms need to be better defined.
What is meant by an uncommitted_ write in HBase?
RLL in RDBMS is different than RLL in HBase. You don't have the concept of a transaction in HBase.
-Mike
On Jun 17, 2012, at 10:32 PM, Anoop Sam John wrote:
> Hi
> You can check Scan#setIsolationLevel() API for changing the level. By default it is read committed means read only committed writes.
>
> -Anoop-
> ________________________________________
> From: Jerry Lam [chilinglam@gmail.com]
> Sent: Friday, June 15, 2012 9:51 PM
> To: user@hbase.apache.org
> Subject: Re: Isolation level
>
> Hi Cristina:
>
> My understanding of HBase is that the isolation level fro read ops is Read
> Committed. There is only write lock which could protect the data from
> modifying by other requests but there is no read-lock (it is there but it
> doesn't have any effect). Since put ops are atomic, it can succeed or fail
> but not in the middle so clients can only read the data if the write ops
> succeeds
>
> HTH,
>
> Jerry
>
>
> On Fri, Jun 15, 2012 at 7:59 AM, Cristina <cr...@hotmail.com> wrote:
>
>> Hi,
>>
>> I have read that Hbase has read committed as isolation level, but I have
>> some
>> doubts.
>> Is it possible to chage this level, for instance to read uncommitted? How
>> could
>> I do this?
>> Another question, Is this isolation level based on locks? I have doubts
>> because
>> Hbase has multiversion concurrency control so it may implement read
>> committed
>> snapshot or snapshot isolation.
>>
>> Thanks,
>> Cristina
>>
>>
RE: Isolation level
Posted by Anoop Sam John <an...@huawei.com>.
Hi
You can check Scan#setIsolationLevel() API for changing the level. By default it is read committed means read only committed writes.
-Anoop-
________________________________________
From: Jerry Lam [chilinglam@gmail.com]
Sent: Friday, June 15, 2012 9:51 PM
To: user@hbase.apache.org
Subject: Re: Isolation level
Hi Cristina:
My understanding of HBase is that the isolation level fro read ops is Read
Committed. There is only write lock which could protect the data from
modifying by other requests but there is no read-lock (it is there but it
doesn't have any effect). Since put ops are atomic, it can succeed or fail
but not in the middle so clients can only read the data if the write ops
succeeds
HTH,
Jerry
On Fri, Jun 15, 2012 at 7:59 AM, Cristina <cr...@hotmail.com> wrote:
> Hi,
>
> I have read that Hbase has read committed as isolation level, but I have
> some
> doubts.
> Is it possible to chage this level, for instance to read uncommitted? How
> could
> I do this?
> Another question, Is this isolation level based on locks? I have doubts
> because
> Hbase has multiversion concurrency control so it may implement read
> committed
> snapshot or snapshot isolation.
>
> Thanks,
> Cristina
>
>
Re: Isolation level
Posted by Jerry Lam <ch...@gmail.com>.
Hi Cristina:
My understanding of HBase is that the isolation level fro read ops is Read
Committed. There is only write lock which could protect the data from
modifying by other requests but there is no read-lock (it is there but it
doesn't have any effect). Since put ops are atomic, it can succeed or fail
but not in the middle so clients can only read the data if the write ops
succeeds
HTH,
Jerry
On Fri, Jun 15, 2012 at 7:59 AM, Cristina <cr...@hotmail.com> wrote:
> Hi,
>
> I have read that Hbase has read committed as isolation level, but I have
> some
> doubts.
> Is it possible to chage this level, for instance to read uncommitted? How
> could
> I do this?
> Another question, Is this isolation level based on locks? I have doubts
> because
> Hbase has multiversion concurrency control so it may implement read
> committed
> snapshot or snapshot isolation.
>
> Thanks,
> Cristina
>
>