1.Query Processing
query processing is the study of techniques for query evaluation.
-insert affects only one tuple;
-delete does find-remove;
-update does find-change
評(píng)估query好壞主要依據(jù)是pages read/written cost,核心花銷在disk, memory transfer is the highest cost in system。
在processing過程中宛篇,sql要解析為RA媒峡,通常select是projection髓帽,where是selection/join舞蔽,from是join缸棵。
2.Transaction Processing
transaction的前提是多人的不同操作彼此之間可能出現(xiàn)沖突芥驳,如果只是本地單機(jī)處理數(shù)據(jù)柿冲,不會(huì)有transaction的問題。為了提高效率兆旬,數(shù)據(jù)庫(kù)往往要在同時(shí)向多個(gè)用戶開放假抄,他們之間的操作要保證data integrity(ATID--Atomic, Consistent, Isolated, Durable),所以有了探討的價(jià)值。
除了transaction processing外慨亲,concurrency control和recovery mechanism也非常重要婚瓜。
Serial Schedule指的是兩個(gè)nodes按順序操作database,serial保證了consistent final state刑棵,不會(huì)出現(xiàn)node之間的沖突問題巴刻。
Concurrent Schedule允許多個(gè)node交叉操作database,有可能出現(xiàn)conflict蛉签,如果交叉操作依然能實(shí)現(xiàn)serial胡陪,就稱為serializability,反之碍舍。
3.Concurrency Control
常用保證date integrity的方法包括:
-lock-based柠座,當(dāng)某個(gè)node的操作可能與其他node出現(xiàn)沖突時(shí),鎖定局部或全部table片橡,其他node不能同時(shí)進(jìn)行操作妈经;
-version-based,使用版本控制來(lái)保證integrity捧书,但是不是所有的情況都可以用這種方式吹泡;
-timestamp-based,給操作以時(shí)間標(biāo)簽來(lái)管理经瓷;
-validation-based
lock a small item can allow more of database accessible and quick lock release, while causes the problem of more lock management.