事務:作用於某些資料的乙個不可分割的操作
鎖:寫鎖、互斥鎖(僅能被乙個程序使用) 讀鎖、共享鎖(可被多個程序使用)
更新丟失
髒讀不可重複讀
幻影讀隔離級別:
1 read committed 每個語句得到完整的檢視
2 serializable 事務級別實施序列化
oracle併發特性
1 回滾段:儲存「撤銷」資訊的資料結構
redo日誌用來記錄資料庫的所有事務;回滾段用於提供事務回滾和讀一致性
2 系統改變號 scn:保證事務執行的順序
3 資料塊中的鎖:每個鎖只影響資料塊的一行
衝突寫過程:
1 a更新操作
2 獲取scn,讀取目標資料塊
3 記錄行鎖資訊
4 修改寫入redo日誌快取
5 寫入回滾段
6 b更新操作
7 獲取scn,讀取資料塊
8 發現上鎖,如果是read committed 等待執行完成後繼續;如果是serializable,返回錯誤
9 a提交事務
10 如果b read committed,繼續執行
工作空間:與資料的變動分離,建立特定時間版本的資料空間
原子性一致性
隔離性永續性
oltp通用特性:
1 事務吞吐量大而且併發使用者量大
2 明確的效能需求
3 高可用性
4 可擴充套件性
通用併發與效能:
1 非公升級行鎖技術:只對事務處理的行加鎖,不將鎖的級別公升級到也級別或者表級別
2 多版本讀操作一致性:在不加讀鎖的情況下保證語句級和事務級的資料一致性
3 共享sql:將經過分析和優化的sql存放在共享記憶體池中的共享sql區 內
4 儲存概要:支援執行計畫的穩定性
可擴充套件性:
多執行緒伺服器mts
oracle net連線池:允許客戶端共享乙個物理網路連線池
oracle net連線管理器:為多個客戶分配一條網路連線。沒有「超時」
實時應用程式集群:
快取記憶體熔合:將所有的資料存放在實時應用集群中的每台主機的每個快取內,這些資料對於急群眾的其他任意主機都是可用的。
高可用性:
1 備用資料庫:
2 透明故障遷移taf:主機例項失敗時,自動連線到另乙個oracle例項
3 oracle 流/高階佇列 aq:一種非同步或者延期的系統間通訊方法
4 oracle流複製:利用內建的複製功能提供資料冗餘
LR 多使用者多業務併發
使用lr錄製指令碼時,有很多方法都可以模擬使用者的真實使用狀態,例如 1 lr think time 函式的使用可以模擬使用者瀏覽的操作 2 模擬network speed runtime setting下的network speedsimulation 可以模擬使用者訪問速度為最大頻寬 自定義頻寬...
git多使用者管理及許可權控制
用過svn的朋友都知道,每個開發者都需要乙個svn賬號,通過這個檢視專案的提交記錄,可以更加清楚專案的開發情況,便於版本控制。git也是如此。所以我們說其實git在很多方面和svn是很相識的。提到使用者,那麼使用者的管理和許可權控制就是避不開的話題了。一.新建使用者 新增git賬號其實就是新增乙個系...
併發操作 多使用者併發操作的解決方案
問題 在以前的系統開發中,經常遇到乙個同樣問題,就是多個使用者同時併發操作一條記錄,這次在交易系統開發過程中,又出現了這樣問題。比如交易商a提交單子,由審核人員b審核,此時a正在修改單位,b也正在檢視這條記錄,a先修改儲存後b再審核儲存,導致b審核通過的記錄不是他所看到的。分析 仔細考慮問題,大概分...