Уақыт белгісіне негізделген қатарлылықты басқару алгоритмі
Timestamp-based concurrency control
Уақыт белгісі негізіндегі бақылау алгоритмі – дерекқоры транзакцияларын қауіпсіз өңдеу әдісі. Уақыт белгілері бірегей, транзакциялардың реттілігін анықтайды.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Компьютерлік ғылымда уақыт белгісіне негізделген бір мезгілділік басқару алгоритмі – оптимистік бір мезгілділік басқару әдісі. Ол кейбір деректер базаларында транзакцияларды қауіпсіз түрде өңдеу үшін уақыт белгілерін пайдаланады.
In computer science, a timestamp based concurrency control algorithm is a optimistic concurrency control method. It is used in some databases to safely handle transactions using timestamps.
Қорытындылар
Әрбір уақыт белгісінің мәні бірегей және уақыттың нақты бір сәтін көрсетеді. Құны жоғарырақ уақыт белгісі, құны төмен уақыт белгісінен кейін пайда болады.
Every timestamp value is unique and accurately represents an instant in time. A higher valued timestamp occurs later in time than a lower valued timestamp.
Физикалық тұрғыдан жүзеге асырылмайтын
Егер транзакциялардың нәтижелері дереу орындалса, онда бұл мінез-құлық физикалық тұрғыдан мүмкін емес. Физикалық тұрғыдан мүмкін емес мінез-құлыққа әкелетін жалғыз екі жағдай бар:
The behavior is physically unrealizable if the results of transactions could not have occurred if transactions were instantaneous. The following are the only two situations that result in physically unrealizable behavior:
Транзакция T, X-ті оқуға тырысады, бірақ TS(T) < WT(X). Себебі: Бұл X-ке T басталғаннан кейін басқа транзакция жазылғанын білдіреді. Транзакция T, X-ті жазуға тырысады, бірақ TS(T) < RT(X). Себебі: Бұл кейінгі транзакция X-ті T жазғанға дейін оқығанын білдіреді.
Transaction T tries to read X but TS(T) < WT(X). Reason: It means that X has been written to by another transaction after T began. Transaction T tries to write X but TS(T) < RT(X). Reason: It means that a later transaction read X before it was written by T.
Уақыт белгісінің ажырату қабілеті
Бұл екі жақын уақыт белгісі арасындағы ең аз өткен уақыт. Егер уақыт белгісінің дәлдігі жеткіліксіз болса (ірі болса), екі немесе одан көп уақыт белгісінің бірдей болу ықтималдығы артады, соның салдарынан кейбір транзакциялар дұрыс емес ретпен орындалуы мүмкін. Мысалы, секундына жүз бірегей уақыт белгісі жасайтын жүйеде, егер екі оқиға 2 миллисекунд айырмамен болса, олар әртүрлі уақытта орын алған болса да, бірдей уақыт белгісімен тіркелуі мүмкін.
This is the minimum time elapsed between two adjacent timestamps. If the resolution of the timestamp is too large (coarse), the possibility of two or more timestamps being equal is increased and thus enabling some transactions to commit out of correct order. For example, for a system that creates one hundred unique timestamps per second, two events that occur 2 milliseconds apart may be given the same timestamp even though they occurred at different times.
Уақыт белгісін бұғаттау
Бұл техника бұғаттамайтын болғанымен, объект транзакция барысында бірдей уақытта қол жеткізуден бұғатталмаса да, әрбір уақыт белгісін объектке тіркеу үшін объекттің өзіне немесе оның проксисіне өте қысқа мерзімге бұғаттау қажет.
Even though this technique is a non locking one, in as much as the object is not locked from concurrent access for the duration of a transaction, the act of recording each timestamp against the Object requires an extremely short duration lock on the Object or its proxy.