You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Prasad Bhalerao <pr...@gmail.com> on 2018/07/09 11:50:10 UTC

Does ignite support Read-consistent queries?

Read-consistent queries: Queries that produce consistent results with
respect to a point in time.

Please check this article. I am speaking w.r.t. this article.
https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:27330770500351

Oracle uses the information stored in rollback segments to provide this
read consistent view of information. Since the rollback segments are where
Oracle stores "old values" or before images of data during transaction
processing, it can use these old values to provide a query with the value
of data as it looked in the database when the query began. As a query
processes the blocks of data in a table, it will see if the data on that
block has changed since the query began. If it has Oracle will read the
information from the rollback segment to determine what the block looked
like when the query began, that is the view of the data the query will see.
This is how non-blocking reads are implemented as well - Oracle only looks
to see if the data changed, it does not care of the data is currently
locked (which implies that it has changed). It will simply retrieve the old
value from the rollback segment and proceed onto the next block of data.

Does ignite support this?


Thanks,
Prasad

RE: Does ignite support Read-consistent queries?

Posted by Stanislav Lukyanov <st...@gmail.com>.
Ignite transactions support this with REPEATABLE_READ isolation level.
More info here: https://apacheignite.readme.io/docs/transactions

Stan

From: Prasad Bhalerao
Sent: 9 июля 2018 г. 14:50
To: user@ignite.apache.org
Subject: Does ignite support Read-consistent queries?


Read-consistent queries: Queries that produce consistent results with respect to a point in time. 

Please check this article. I am speaking w.r.t. this article.
https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:27330770500351

Oracle uses the information stored in rollback segments to provide this read consistent view of information. Since the rollback segments are where Oracle stores "old values" or before images of data during transaction processing, it can use these old values to provide a query with the value of data as it looked in the database when the query began. As a query processes the blocks of data in a table, it will see if the data on that block has changed since the query began. If it has Oracle will read the information from the rollback segment to determine what the block looked like when the query began, that is the view of the data the query will see. This is how non-blocking reads are implemented as well - Oracle only looks to see if the data changed, it does not care of the data is currently locked (which implies that it has changed). It will simply retrieve the old value from the rollback segment and proceed onto the next block of data. 

Does ignite support this?


Thanks,
Prasad