|
|
Cristina 2012-06-15, 11:59
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
+
Cristina 2012-06-15, 11:59
Jerry Lam 2012-06-15, 16:21
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 <[EMAIL PROTECTED]> 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 > >
+
Jerry Lam 2012-06-15, 16:21
Anoop Sam John 2012-06-18, 03:32
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 [[EMAIL PROTECTED]] Sent: Friday, June 15, 2012 9:51 PM To: [EMAIL PROTECTED] 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 <[EMAIL PROTECTED]> 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 > >
+
Anoop Sam John 2012-06-18, 03:32
Michael Segel 2012-06-18, 11:46
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 [[EMAIL PROTECTED]] > Sent: Friday, June 15, 2012 9:51 PM > To: [EMAIL PROTECTED] > 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 <[EMAIL PROTECTED]> 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 >> >>
+
Michael Segel 2012-06-18, 11:46
Anoop Sam John 2012-06-18, 13:11
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 [[EMAIL PROTECTED]] Sent: Monday, June 18, 2012 5:16 PM To: [EMAIL PROTECTED] 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 [[EMAIL PROTECTED]] > Sent: Friday, June 15, 2012 9:51 PM > To: [EMAIL PROTECTED] > 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 <[EMAIL PROTECTED]> 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 >> >>
+
Anoop Sam John 2012-06-18, 13:11
Cristina 2012-06-22, 09:31
Thanks everyone for your useful answers.
Cristina
+
Cristina 2012-06-22, 09:31
|
|