當前位置:首頁 » 數據倉庫 » 資料庫事務知乎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫事務知乎

發布時間: 2023-03-05 03:44:22

A. 「資料庫中的事務」是什麼

資料庫事務(Database Transaction) ,事務是一系列作為一個邏輯單元來執行的操作集合。它是資料庫維護數據一致性的單位,它將資料庫從一致狀態轉變為新的一致狀態,指作為單個邏輯工作單元執行的一系列操作,要麼完全地執行,要麼完全地不執行。 事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向數據的資源。事務是資料庫運行中的邏輯工作單位,由DBMS中的事務管理子系統負責事務的處理。

B. 詳解數據倉庫和資料庫的區別

數據倉庫:為企業所有級別的決策制定過程,提供所有類型數據支持的戰略(數據)集合。
大數據:所涉及的資料量規模巨大到無法透過主流軟體工具,在合理時間內達到擷取、管理、處理、並整理成為幫助企業經營決策更積極目的的資訊。
傳統資料庫:一個長期存儲在計算機內的、有組織的、可共享的、統一管理的大量數據的集合。

其實從三個定義,我們好像區別不大。

資料庫指的是數據的集合,數據倉庫也是一個數據集合,大數據也是一個處理和存儲數據的地方。

但是不同的是,在於應用場景,和構建的技術原理不一樣。

傳統資料庫是存儲根據範式建模的關系型數據,主要用於OLTP(on-line transaction processing)翻譯為聯機事務處理的軟體。大數據是根據map rerce範式構建的出局處理,存儲的軟體,主要用於OLAP是做分析處理。大數據和傳統資料庫,還有一個更大的區別在於,處理的數據量以及計算量的大小,當傳統資料庫,無法在人可以接受的短時間內計算出結果,那這個數據就叫大數據,需要使用到大數據技術處理。而數據倉庫本質上是一種數據的處理方式,而不是一種基礎軟體,它可以依賴於傳統資料庫,也可以依賴大數據技術去構建。

可以參考這篇文章:數據倉庫(2)數據倉庫、大數據與傳統資料庫的區別 - 知乎 (hu.com)

C. 資料庫中的事務是什麼

事物的定義:
資料庫事務(Database Transaction) ,是指作為單個邏輯工作單元執行的一系列操作,要麼完整地執行,要麼完全地不執行。 事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向數據的資源。通過將一組相關操作組合為一個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程序更加可靠。一個邏輯工作單元要成為事務,必須滿足所謂的ACID(原子性、一致性、隔離性和持久性)屬性。
============
簡單說事務就是一組操作的集合,而且這組操作必須全部執行成功否者回滾到所有操作前的狀態。

舉個例子什麼時候用到事務:
例如,在將資金從一個帳戶轉移到另一個帳戶的銀行應用中,一個帳戶將一定的金額貸記到一個資料庫表中,同時另一個帳戶將相同的金額借記到另一個資料庫表中。由於計算機可能會因停電、網路中斷等而出現故障,因此有可能更新了一個表中的行,但沒有更新另一個表中的行。如果資料庫支持事務,則可以將資料庫操作組成一個事務,以防止因這些事件而使資料庫出現不一致。如果事務中的某個點發生故障,則所有更新都可以回滾到事務開始之前的狀態。如果沒有發生故障,則通過以完成狀態提交事務來完成更新。

D. 資料庫中的事務是什麼

資料庫事務(簡稱:事務)是資料庫管理系統執行過程中的一個邏輯單位,由一個有限的資料庫操作序列構成。
一個資料庫事務通常包含了一個序列的對資料庫的讀/寫操作。它的存在包含有以下兩個目的:
為資料庫操作序列提供了一個從失敗中恢復到正常狀態的方法,同時提供了資料庫即使在異常狀態下仍能保持一致性的方法。
當多個應用程序在並發訪問資料庫時,可以在這些應用程序之間提供一個隔離方法,以防止彼此的操作互相干擾。
當事務被提交給了DBMS(資料庫管理系統),則DBMS(資料庫管理系統)需要確保該事務中的所有操作都成功完成且其結果被永久保存在資料庫中,如果事務中有的操作沒有成功完成,則事務中的所有操作都需要被回滾,回到事務執行前的狀態;同時,該事務對資料庫或者其他事務的執行無影響,所有的事務都好像在獨立的運行。
但在現實情況下,失敗的風險很高。在一個資料庫事務的執行過程中,有可能會遇上事務操作失敗、資料庫系統/操作系統失敗,甚至是存儲介質失敗等情況。這便需要DBMS對一個執行失敗的事務執行恢復操作,將其資料庫狀態恢復到一致狀態(數據的一致性得到保證的狀態)。為了實現將資料庫狀態恢復到一致狀態的功能,DBMS通常需要維護事務日誌以追蹤事務中所有影響資料庫數據的操作。

E. 什麼是資料庫事務

資料庫事務(簡稱:事務)是資料庫管理系統執行過程中的一個邏輯單位,由一個有限的資料庫操作序列構成。
一個資料庫事務通常包含了一個序列的對資料庫的讀/寫操作。它的存在包含有以下兩個目的:
為資料庫操作序列提供了一個從失敗中恢復到正常狀態的方法,同時提供了資料庫即使在異常狀態下仍能保持一致性的方法。
當多個應用程序在並發訪問資料庫時,可以在這些應用程序之間提供一個隔離方法,以防止彼此的操作互相干擾。
當事務被提交給了DBMS(資料庫管理系統),則DBMS(資料庫管理系統)需要確保該事務中的所有操作都成功完成且其結果被永久保存在資料庫中,如果事務中有的操作沒有成功完成,則事務中的所有操作都需要被回滾,回到事務執行前的狀態;同時,該事務對資料庫或者其他事務的執行無影響,所有的事務都好像在獨立的運行。
但在現實情況下,失敗的風險很高。在一個資料庫事務的執行過程中,有可能會遇上事務操作失敗、資料庫系統/操作系統失敗,甚至是存儲介質失敗等情況。這便需要DBMS對一個執行失敗的事務執行恢復操作,將其資料庫狀態恢復到一致狀態(數據的一致性得到保證的狀態)。為了實現將資料庫狀態恢復到一致狀態的功能,DBMS通常需要維護事務日誌以追蹤事務中所有影響資料庫數據的操作。

F. 什麼是資料庫事務

資料庫事務,是指作為單個邏輯工作單元執行的一系列操作,要麼完全地執行,要麼完全地不執行。 事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向數據的資源。通過將一組相關操作組合為一個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程序更加可靠。

一個邏輯工作單元要成為事務,必須滿足所謂的ACID(原子性、一致性、隔離性和持久性)屬性。事務是資料庫運行中的邏輯工作單位,由DBMS中的事務管理子系統負責事務的處理。

企業級的資料庫管理系統(DBMS)都有責任提供一種保證事務的物理完整性的機制。就常用的SQL Server2000系統而言,它具備鎖定設備隔離事務、記錄設備保證事務持久性等機制。因此,我們不必關心資料庫事務的物理完整性,而應該關注在什麼情況下使用資料庫事務、事務對性能的影響,如何使用事務等等。

拓展資料:

事務有三種模型:

1、隱式事務是指每一條數據操作語句都自動地成為一個事務,事務的開始是隱式的,事務的結束有明確的標記。

2、顯式事務是指有顯式的開始和結束標記的事務,每個事務都有顯式的開始和結束標記。

3、自動事務是系統自動默認的,開始和結束不用標記。

G. 什麼是資料庫事務

(1):事務(Transaction)是並發控制的單位,是用戶定義的一個操作序列。這些操作要麼都做,要麼都不做,是一個不可分割的工作單位。通過事務,SQL
Server能將邏輯相關的一組操作綁定在一起,以便伺服器保持數據的完整性。
(2):事務通常是以BEGIN
TRANSACTION開始,以COMMIT或ROLLBACK結束。
COMMIT表示提交,即提交事務的所有操作。具體地說就是將事務中所有對資料庫的更新寫回到磁碟上的物理資料庫中去,事務正常結束。
ROLLBACK表示回滾,即在事務運行的過程中發生了某種故障,事務不能繼續進行,系統將事務中對資料庫的所有以完成的操作全部撤消,滾回到事務開始的狀態。
(3):事務運行的三種模式:
A:自動提交事務
每條單獨的語句都是一個事務。每個語句後都隱含一個COMMIT。
B:顯式事務
以BEGIN
TRANSACTION顯式開始,以COMMIT或ROLLBACK顯式結束。
C:隱性事務
在前一個事務完成時,新事務隱式啟動,但每個事務仍以COMMIT或ROLLBACK顯式結束。
(4):事務的特性(ACID特性)
A:原子性(Atomicity)
事務是資料庫的邏輯工作單位,事務中包括的諸操作要麼全做,要麼全不做。
B:一致性(Consistency)
事務執行的結果必須是使資料庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。
C:隔離性(Isolation)
一個事務的執行不能被其他事務干擾。
D:持續性/永久性(Durability)
一個事務一旦提交,它對資料庫中數據的改變就應該是永久性的。
注:事務是恢復和並發控制的基本單位。