事物是關係型資料庫中,由一組sql組成的執行單元,該單元要麼整體成功,要麼整體失敗。
事物acid特性,原子性,一致性,隔離性,永續性,這4個屬性統稱為acid特性。
原子性:指事物包含的所有操作sql,要麼整體成功,要麼整體失敗。
一致性:事物前的狀態結果和事物後的狀態的結果都是一致的。參考銀行轉賬。
永續性:指乙個事物一旦被提交了,那麼資料就永久儲存在磁碟中,即使系統故障了,資料也不會丟失。
如果事物沒有進行隔離會出現三種嚴重的問題:髒讀,不可重複讀,幻讀。
什麼是髒讀?
指乙個事物處理的過程中讀取了另乙個未提交(回滾)的事物的資料。
什麼是不可以重複讀?
指多次查詢卻返回了不同的數值,這是由於查詢間隔原因,被另乙個事物修改並提交了。
什麼是幻讀?
指當事物a在讀取某個範圍內的記錄時,b事物又在該範圍內插入了新的記錄,當a事物再次讀取該範圍內的記錄時,就產生了幻讀。
分布式事物,是指乙個業務需要同時操作多個資料庫的情況下,而且必須保持acid的特性。一般應用於微服務的多服務處理。
在電商系統中,支付訂單,就是乙個分布式事物了
第一步:支付服務,修改支付訂單狀態。
第二步:訂單服務,訂單狀態修改為已支付
第三步:庫存服務,減庫存
第四步:積分服務,為該使用者送積分
以上4個步驟,在分布式系統中,是乙個整體,也就是乙個分布式事物。
該事物必須保證2點:
保證acid特性
保證效能問題
什麼是分布式
1,什麼是分布式?任務分解 節點通訊 1 分布式和集群的關係?2 什麼是大型 訪問量 tps qps 資料量 儲存資料量 3 具體場景 第一版應用 第二版 單擊負載越來越高,資料庫伺服器和應用伺服器分離 第三版 應用伺服器做集群 cookie 儲存的是jsessionid concurrentmap...
什麼是分布式
1,什麼是分布式?任務分解 節點通訊 1 分布式和集群的關係?2 什麼是大型 訪問量 tps qps 資料量 儲存資料量 3 具體場景 第一版應用 第二版 單擊負載越來越高,資料庫伺服器和應用伺服器分離 第三版 應用伺服器做集群 cookie 儲存的是jsessionid concurrentmap...
新手!什麼是分布式?
這裡我結合我自己的理解對我學習分布式過程中遇到的疑問做乙個白話的表述,希望能讓新人快速的明白。1.早期絕大分布程式都是執行在一台機器上的,找個機器指代所有計算裝置,伺服器,個人pc,手機等等等等,這裡就拿伺服器做例,當時這個伺服器a執行了乙個x軟體,這個x軟體需要進行乙個b運算 提供了乙個b功能,為...