Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π’ΠΈΠ½ΡΠΊΠΎΡΡ. ΠΡΠ²Π΅ΡΡ
Π‘ΠΏΠΈΡΠΎΠΊ Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΡΠΌ. Π² ΠΏΠΎΡΡΠ΅ Π²ΡΠΎΡΠ½ΠΈΠΊΠ°.
1οΈβ£ Π‘Π΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ΄Π½Π° ΠΈΠ· Π±Π°Π·ΠΎΠ²ΡΡ
ΡΠ΅ΠΌ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. ΠΠ½Π°ΡΡ ΠΎΠ±ΡΠ·Π°Π½ ΠΊΠ°ΠΆΠ΄ΡΠΉ.
ΠΠΎ ΡΠ΅Π³Ρ #ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠΎΠ². ΠΠΈΠ΄ΠΎΠ² ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ Π² ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅. Π 2021ΠΌ Ρ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ» ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅. ΠΡΡΠ°ΡΠΈ, Π΅ΡΠ»ΠΈ Π½Π°Π±Π΅ΡΠ΅ΡΡΡ Π³ΡΡΠΏΠΏΠ° ΠΈΠ· 10 ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΡΠΎΠ²Π΅Π΄Ρ Π΅ΡΠ΅. ΠΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΏΠΈΡΠΈΡΠ΅ Π² Π»ΠΈΡΠΊΡ.
2οΈβ£ ΠΠ½Π΄Π΅ΠΊΡΡ
πΉ ΠΏΡΠΎ Π²ΠΈΠ΄Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π±ΡΠ»ΠΎ Π² ΠΏΠΎΡΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ»ΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅.
πΉ ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΡΠΎΠ»Π±ΡΡ: Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ olt/dwh -> ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ° B-tree, bitmap. ΠΠ»Ρ B-tree Π²Π°ΠΆΠ½ΡΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (Π΄Π± ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°), Π΄Π»Ρ bitmap - Π½Π°ΠΎΠ±ΠΎΡΠΎΡ (ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»). + ΡΠΈΡΠΊΠΈ Ρ Π»ΠΈΠ΄ΠΈΡΡΡΡΠΈΠΌ ΡΡΠΎΠ»Π±ΡΠΎΠΌ. ΠΠ°ΠΊ ΡΠ°Π· Π² ΠΊΡΡΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ.
3οΈβ£ ΠΠΎΠΏΡΠΎΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠ²Π΅ΡΡΠΈΠΎΠ½Π½ΠΎΡΡΠΈ (UNDO)
πΉ ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ/ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π² UNDO. ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠ° - Ρ UNDO Π²ΡΠ³ΡΠ΅Π±Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ.
πΉ Π΄Π²Π° ΠΏΠΎΡΡΠ° Π½Π° ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ - ΠΏΠΎΡΡ1, ΠΏΠΎΡΡ2 Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΈ ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌΠΈ Π±ΠΎΡΠΎΡΡΡΡ.
4οΈβ£ ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ
select for update + ΠΎΠΏΡΠΈΠΈ, dbms_lock, lock table, ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΎΠΏΡΠΈΠΌΠΈΡΡΠΈΡΠ½Π°Ρ/ΠΏΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ½Π°Ρ, Π·Π°ΡΠ΅Π»ΠΊΠΈ Π² SGA.
5οΈβ£ Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
Π²ΠΎΡ ΠΏΡΡΠΌ ΠΏΠΎ ΡΠ΅Π³Ρ #ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΡΠΈΠΌ Π½Π°ΠΈΠ·ΡΡΡΡ ΠΈ ΡΡΠΎΠ³ΠΎ Ρ
Π²Π°ΡΠΈΡ Π½Π° Π²ΡΠ΅ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ.
6οΈβ£ ΠΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ
Oracle ΡΡΠΎ Π²ΡΠ΅ ΠΆΠ΅ Π½Π΅ Java. Π’ΡΡ Π½Π΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ². ΠΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΈΠ· dbms_job, dbms_scheduler, dbms_parallel.
7οΈβ£ ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ΄Ρ ΠΊΡΡΠ΅ΠΉ - ΠΊΡΡΠΈ Π² SGA, #result_cache, #deterministic ΠΈ ΡΠ°ΠΌΠΎΠΏΠΈΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ + ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°.
8οΈβ£ ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ
Π£Π΄ΠΈΠ²ΠΈΠ»ΡΡ ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» 37 ΠΏΠΎΡΡΠΎΠ² ΠΏΠΎ ΡΠ΅Π³Ρ #ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π Π½ΠΈΡ
Π΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ Π½Π° ΠΈΠ·Π²Π΅ΡΠ½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ βΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ Π½Π°ΡΠ°Π» ΡΠΎΡΠΌΠΎΠ·ΠΈΡΡβ. ΠΠΏΡΡΡ ΠΆΠ΅ Π½Π΅ ΡΠ΅ΠΊΠ»Π°ΠΌΡ ΡΠ°Π΄ΠΈ ΡΠΊΠ°ΠΆΡ, ΡΡΠΎ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΡΠΎ Π½Π° ΠΊΡΡΡΠ΅ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠΎΡΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ Π΄Π»ΠΈΠ½Π½ΠΎΠ²Π°Ρ. ΠΡΠΈ ΡΠΎΠΌ, ΡΡΠΎ Ρ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΡΠ²Π΅ΡΠΈΠ» Π½Π° Π²ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π½Π°ΡΠ½ΠΎ ΠΏΠΎΠΌΡΡΠΎΠ»ΠΈΡΡ. ΠΡΠΎ, Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ, Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΠ΅ ΡΠ°ΠΊΡ, ΡΡΠΎ Ρ Π²Π°Ρ Π±ΡΠ΄ΡΡ ΡΠ΅ ΠΆΠ΅ Π²ΠΎΠΏΡΠΎΡΡ π
ΠΠ°Π»Π΅Ρ Π²Π²Π΅ΡΡ
, Π΅ΡΠ»ΠΈ Π·Π°ΡΠ»ΠΎ π
ΠΠ±ΡΡΠ΄ΠΈΡΡ Π² ΡΠ°ΡΠΈΠΊΠ΅ π«
#ΡΠ΅ΡΠ΅Π½ΠΈΠ΅Π·Π°Π΄Π°ΡΠΈ #ΡΠΈΠ½ΡΠΊΠΎΡΡ
Oracle Developer