當前位置:首頁 » 操作系統 » 資料庫粒度

資料庫粒度

發布時間: 2022-09-22 04:29:36

❶ 什麼叫「細粒度」

細粒度模型,通俗的講就是將業務模型中的對象加以細分,從而得到更科學合理的對象模型,直觀的說就是劃分出很多對象。

粒度是資料庫名詞,計算機領域中粒度指系統內存擴展增量的最小值。粒度問題是設計數據倉庫的一個最重要方面。粒度是指數據倉庫的數據單位中保存數據的細化或綜合程度的級別。細化程度越高,粒度級就越小;相反,細化程度越低,粒度級就越大。數據的粒度一直是一個設計問題。

在早期建立的操作型系統中,粒度是用於訪問授權的。當詳細的數據被更新時,幾乎總是把它存放在最低粒度級上。但在數據倉庫環境中,對粒度不作假設。

(1)資料庫粒度擴展閱讀

粒度運算是一種新興的信息處理運算模型。它涉及到復雜信息實體(即信息粒,英語:Information Granule)的處理,包括數據的抽象化還有從信息推導知識的過程。一般來說,信息粒通常是數值層面上的實體集合,它們以相似性、功能的近似性、不可辨別性及一致性等指標來進行整合。

目前,粒度運算只有較多的理論觀點而尚未形成一套完整的方法。從理論觀點看,它提倡通過不同的解析度或尺度,對數據中出現的知識進行認知以及探索。

在這個意義上來講,粒度運算包含了所有能夠在提取及表示知識或信息的尺度中,提供靈活性和適應性的所有方法。

❷ mysql 鎖粒度是什麼

就是通常我們所說的鎖級別。
資料庫引擎具有多粒度鎖定,允許一個事務鎖定不同類型的資源。 為了盡量減少鎖定的開銷,資料庫引擎自動將資源鎖定在適合任務的級別。 鎖定在較小的粒度(例如行)可以提高並發度,但開銷較高,因為如果鎖定了許多行,則需要持有更多的鎖。 鎖定在較大的粒度(例如表)會降低了並發度,因為鎖定整個表限制了其他事務對表中任意部分的訪問。 但其開銷較低,因為需要維護的鎖較少。
資料庫引擎通常必須獲取多粒度級別上的鎖才能完整地保護資源。 這組多粒度級別上的鎖稱為鎖層次結構。 例如,為了完整地保護對索引的讀取,資料庫引擎實例可能必須獲取行上的共享鎖以及頁和表上的意向共享鎖。

MySQL有三種鎖的級別:頁級、表級、行級。

MyISAM和MEMORY存儲引擎採用的是表級鎖(table-level locking);BDB存儲引擎採用的是頁面鎖(page-level
locking),但也支持表級鎖;InnoDB存儲引擎既支持行級鎖(row-level locking),也支持表級鎖,但默認情況下是採用行級鎖。

MySQL這3種鎖的特性可大致歸納如下:
表級鎖:開銷小,加鎖快;不會出現死鎖;鎖定粒度大,發生鎖沖突的概率最高,並發度最低。
行級鎖:開銷大,加鎖慢;會出現死鎖;鎖定粒度最小,發生鎖沖突的概率最低,並發度也最高。
頁面鎖:開銷和加鎖時間界於表鎖和行鎖之間;會出現死鎖;鎖定粒度界於表鎖和行鎖之間,並發度一般。

每種鎖可以在網上查詢詳細說明。主要看你用什麼存儲引擎。

❸ 什麼是資料庫資料庫系統具有哪些特點

你好,
資料庫指的是以一定方式儲存在一起、能為多個用戶共享、具有盡可能小的冗餘度的特點、是與應用程序彼此獨立的數據集合。

資料庫系統的特點:
1.數據的結構化,數據的共享性好,數據的獨立性好,數據存儲粒度小,數據管理系統,為用戶提供了友好的介面。
2.資料庫系統的核心和基礎,是數據模型,現有的資料庫系統均是基於某種數據模型的。
3.資料庫系統的核心是資料庫管理系統。
4.資料庫系統一般由資料庫、資料庫管理系統(DBMS)、應用系統、資料庫管理員和用戶構成。DBMS是資料庫系統的基礎和核心。

希望可以幫到您

❹ 資料庫事務原子性,一致性是怎樣實現的

這個問題的有趣之處,不在於問題本身(「原子性、一致性的實現機制是什麼」),而在於回答者的分歧反映出來的另外一個問題:原子性和一致性之間的關系是什麼?

我特別關注了@我練功發自真心
的答案,他正確地指出了,為了保證事務操作的原子性,必須實現基於日誌的REDO/UNDO機制。但這個答案仍然是不完整的,因為原子性並不能夠完全保證一致性。

按照我個人的理解,在事務處理的ACID屬性中,一致性是最基本的屬性,其它的三個屬性都為了保證一致性而存在的。

首先回顧一下一致性的定義。所謂一致性,指的是數據處於一種有意義的狀態,這種狀態是語義上的而不是語法上的。最常見的例子是轉帳。例如從帳戶A轉一筆錢到帳戶B上,如果帳戶A上的錢減少了,而帳戶B上的錢卻沒有增加,那麼我們認為此時數據處於不一致的狀態。


資料庫實現的場景中,一致性可以分為資料庫外部的一致性和資料庫內部的一致性。前者由外部應用的編碼來保證,即某個應用在執行轉帳的資料庫操作時,必須在
同一個事務內部調用對帳戶A和帳戶B的操作。如果在這個層次出現錯誤,這不是資料庫本身能夠解決的,也不屬於我們需要討論的范圍。後者由資料庫來保證,即
在同一個事務內部的一組操作必須全部執行成功(或者全部失敗)。這就是事務處理的原子性。

為了實現原子性,需要通過日誌:將所有對
數據的更新操作都寫入日誌,如果一個事務中的一部分操作已經成功,但以後的操作,由於斷電/系統崩潰/其它的軟硬體錯誤而無法繼續,則通過回溯日誌,將已
經執行成功的操作撤銷,從而達到「全部操作失敗」的目的。最常見的場景是,資料庫系統崩潰後重啟,此時資料庫處於不一致的狀態,必須先執行一個crash
recovery的過程:讀取日誌進行REDO(重演將所有已經執行成功但尚未寫入到磁碟的操作,保證持久性),再對所有到崩潰時尚未成功提交的事務進行
UNDO(撤銷所有執行了一部分但尚未提交的操作,保證原子性)。crash
recovery結束後,資料庫恢復到一致性狀態,可以繼續被使用。

日誌的管理和重演是資料庫實現中最復雜的部分之一。如果涉及到並行處理和分布式系統(日誌的復制和重演是資料庫高可用性的基礎),會比上述場景還要復雜得多。

但是,原子性並不能完全保證一致性。在多個事務並行進行的情況下,即使保證了每一個事務的原子性,仍然可能導致數據不一致的結果。例如,事務1需要將100元轉入帳號A:先讀取帳號A的值,然後在這個值上加上100。但是,在這兩個操作之間,另一個事務2修改了帳號A的值,為它增加了100元。那麼最後的結果應該是A增加了200元。但事實上,
事務1最終完成後,帳號A只增加了100元,因為事務2的修改結果被事務1覆蓋掉了。

為了保證並發情況下的一致性,引入了隔離性,即保證每一個事務能夠看到的數據總是一致的,就好象其它並發事務並不存在一樣。用術語來說,就是多個事務並發執行後的狀態,和它們串列執行後的狀態是等價的。怎樣實現隔離性,已經有很多人回答過了,原則上無非是兩種類型的鎖:


種是悲觀鎖,即當前事務將所有涉及操作的對象加鎖,操作完成後釋放給其它對象使用。為了盡可能提高性能,發明了各種粒度(資料庫級/表級/行級……)/各
種性質(共享鎖/排他鎖/共享意向鎖/排他意向鎖/共享排他意向鎖……)的鎖。為了解決死鎖問題,又發明了兩階段鎖協議/死鎖檢測等一系列的技術。

一種是樂觀鎖,即不同的事務可以同時看到同一對象(一般是數據行)的不同歷史版本。如果有兩個事務同時修改了同一數據行,那麼在較晚的事務提交時進行沖突
檢測。實現也有兩種,一種是通過日誌UNDO的方式來獲取數據行的歷史版本,一種是簡單地在內存中保存同一數據行的多個歷史版本,通過時間戳來區分。

鎖也是資料庫實現中最復雜的部分之一。同樣,如果涉及到分布式系統(分布式鎖和兩階段提交是分布式事務的基礎),會比上述場景還要復雜得多。

@
我練功發自真心
提到,其他回答者說的其實是操作系統對atomic的理解,即並發控制。我不能完全同意這一點。資料庫有自己的並發控制和鎖問題,雖然在原理上和操作系統
中的概念非常類似,但是並不是同一個層次上的東西。資料庫中的鎖,在粒度/類型/實現方式上和操作系統中的鎖都完全不同。操作系統中的鎖,在資料庫實現中
稱為latch(一般譯為閂)。其他回答者回答的其實是「在並行事務處理的情況下怎樣保證數據的一致性」。

最後回到原來的問題(「原子性、一致性的實現機制是什麼」)。我手頭有本Database
System
Concepts(4ed,有點老了),在第15章的開頭簡明地介紹了ACID的概念及其關系。如果你想從概念上了解其實現,把這本書的相關章節讀完應該能大概明白。如果你想從實踐上了解其實現,可以找innodb這樣的開源引擎的源代碼來讀。不過,即使是一個非常粗糙的開源實現(不考慮太復雜的並行處理,不考慮分布式系統,不考慮針對操作系統和硬體的優化之類),要基本搞明白恐怕也不是一兩年的事。

❺ 資料庫加密的最小粒度是什麼

就是通常我們所說的鎖級別。
資料庫引擎具有多粒度鎖定,允許一個事務鎖定不同類型的資源。 為了盡量減少鎖定的開銷,資料庫引擎自動將資源鎖定在適合任務的級別。 鎖定在較小的粒度(例如行)可以提高並發度,但開銷較高,因為如果鎖定了許多行,則需要持有更多的鎖。 鎖定在較大的粒度(例如表)會降低了並發度,因為鎖定整個表限制了其他事務對表中任意部分的訪問。 但其開銷較低,因為需要維護的鎖較少。
資料庫引擎通常必須獲取多粒度級別上的鎖才能完整地保護資源。 這組多粒度級別上的鎖稱為鎖層次結構。 例如,為了完整地保護對索引的讀取,資料庫引擎實例可能必須獲取行上的共享鎖以及頁和表上的意向共享鎖。

MySQL有三種鎖的級別:頁級、表級、行級。

MyISAM和MEMORY存儲引擎採用的是表級鎖(table-level locking);BDB存儲引擎採用的是頁面鎖(page-level
locking),但也支持表級鎖;InnoDB存儲引擎既支持行級鎖(row-level locking),也支持表級鎖,但默認情況下是採用行級鎖。

MySQL這3種鎖的特性可大致歸納如下:
表級鎖:開銷小,加鎖快;不會出現死鎖;鎖定粒度大,發生鎖沖突的概率最高,並發度最低。
行級鎖:開銷大,加鎖慢;會出現死鎖;鎖定粒度最小,發生鎖沖突的概率最低,並發度也最高。
頁面鎖:開銷和加鎖時間界於表鎖和行鎖之間;會出現死鎖;鎖定粒度界於表鎖和行鎖之間,並發度一般。

每種鎖可以在網上查詢詳細說明。主要看你用什麼存儲引擎。

❻ 資料庫系統與文件系統的主要區別

資料庫系統與文件系統兩者之間的主要區別是組織數據的方式不同,文件系統是面向組織數據的,而資料庫系統是面向全局組織數據的,這種組織方式可以解決數據冗餘問題。

資料庫系統主要管理資料庫的存儲、事務以及對資料庫的操作。文件系統是操作系統管理文件和存儲空間的子系統,主要是分配文件所佔的簇、盤塊或者建立FAT、管理空間空間等。

一般來說資料庫系統會調用文件系統來管理自己的數據文件,但也有些資料庫系統能夠自己管理數據文件,甚至在裸設備上。文件系統是操作系統必須的,而資料庫系統只是資料庫管理和應用所必需的。



資料庫系統的特點:

1、數據的結構化,數據的共享性好,數據的獨立性好,數據存儲粒度小,數據管理系統,為用戶提供了友好的介面。

2、資料庫系統的核心和基礎,是數據模型,現有的資料庫系統均是基於某種數據模型的。

3、資料庫系統的核心是資料庫管理系統。

4、資料庫系統一般由資料庫、資料庫管理系統(DBMS)、應用系統、資料庫管理員和用戶構成。DBMS是資料庫系統的基礎和核心。

❼ 什麼是資料庫維度

從多個角度(時間、地域、機構等方面)研究一個對象的信息,其中,被研究對象為實體,研究角度就成為維度。

❽ 資料庫加密的最小粒度

就是通常我們所說的鎖級別。
資料庫引擎具有多粒度鎖定,允許一個事務鎖定不同類型的資源。 為了盡量減少鎖定的開銷,資料庫引擎自動將資源鎖定在適合任務的級別。 鎖定在較小的粒度(例如行)可以提高並發度,但開銷較高,因為如果鎖定了許多行,則需要持有更多的鎖。 鎖定在較大的粒度(例如表)會降低了並發度,因為鎖定整個表限制了其他事務對表中任意部分的訪問。 但其開銷較低,因為需要維護的鎖較少。
資料庫引擎通常必須獲取多粒度級別上的鎖才能完整地保護資源。 這組多粒度級別上的鎖稱為鎖層次結構。 例如,為了完整地保護對索引的讀取,資料庫引擎實例可能必須獲取行上的共享鎖以及頁和表上的意向共享鎖。

MySQL有三種鎖的級別:頁級、表級、行級。

MyISAM和MEMORY存儲引擎採用的是表級鎖(table-level locking);BDB存儲引擎採用的是頁面鎖(page-level
locking),但也支持表級鎖;InnoDB存儲引擎既支持行級鎖(row-level locking),也支持表級鎖,但默認情況下是採用行級鎖。

MySQL這3種鎖的特性可大致歸納如下:
表級鎖:開銷小,加鎖快;不會出現死鎖;鎖定粒度大,發生鎖沖突的概率最高,並發度最低。
行級鎖:開銷大,加鎖慢;會出現死鎖;鎖定粒度最小,發生鎖沖突的概率最低,並發度也最高。
頁面鎖:開銷和加鎖時間界於表鎖和行鎖之間;會出現死鎖;鎖定粒度界於表鎖和行鎖之間,並發度一般。

每種鎖可以在網上查詢詳細說明。主要看你用什麼存儲引擎。

❾ 資料庫中x封鎖與s封鎖有什麼區別

資料庫中X封鎖和S封鎖的區別如下:

1、兩種封鎖共享上的區別:

排它鎖(記為X鎖),又叫寫鎖;共享鎖(記為S鎖),又叫讀鎖。讀鎖是共享的,或者說是相互不阻塞的。寫鎖是排他的,一個寫鎖會阻塞其他的寫鎖和讀鎖。

2、讀取許可權上的區別:

若事務T對數據對象A加上X鎖,事務T可以讀A也可以修改A,其他事務不能再對A加任何鎖,直到T釋放A上的鎖。這保證了其他事務在T釋放A上的鎖之前不能再讀取和修改A。

3、修改許可權上的區別

若事務T對數據對象A加上S鎖,則事務T可以讀A但不能修改A,其他事務只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。這保證了其他事務可以讀A,但在T釋放A上的S鎖之前不能對A做任何修改。

(9)資料庫粒度擴展閱讀:

資料庫中封鎖的對象:

封鎖是實現並發控制的一個非常重要的技術。DBMS通常提供了多種類型的封鎖。一個事務對某個數據對象加鎖後究竟擁有什麼樣的控制是由封鎖的類型決定的。

封鎖的對象可以是邏輯單元,也可以是物理單元。邏輯單元: 屬性值、屬性值集合、元組、關系、索引項、整個索引、整個資料庫等;物理單元:頁(數據頁或索引頁)、塊等。

封鎖對象可以很大也可以很小,例如對整個資料庫加鎖、對某個屬性值加鎖。封鎖對象的大小稱為封鎖的粒度。封鎖的粒度越大,系統中能夠被封鎖的對象就越少,並發度也就越小,但系統開銷也越小;封鎖的粒度越小,並發度越高,但開銷也就越大。

參考資料來源:網路-封鎖

❿ 請問計算機領域里的「信息粒度」和「知識粒度」有何區別

信息粒度是反映信息詳細程度的概念。為適應不同子系統信息需求的詳細程度不同.
知識的粒度用來描述使用該知識對論域劃分的分類情況。
下面就我具體講一下關於粒度測試方面的基知識和基本方法。
粒度測試是通過特定的儀器和方法對粉體粒度特性進行表徵的一項實驗工作。粉體在我們日常生活和工農業生產中的應用非常廣泛。如麵粉、水泥、塑料、造紙、橡膠、陶瓷、葯品等等。在的不同應用領域中,對粉體特性的要求是各不相同的,在所有反映粉體特性的指標中,粒度分布是所有應用領域中最受關注的一項指標。所以客觀真實地反映粉體的粒度分布是一項非常重要的工作。
一、粒度測試的基本知識
1、顆粒:在一尺寸范圍內具有特定形狀的幾何體。這里所說的一尺寸一般在毫米到納米之間,顆粒不僅指固體顆粒,還有霧滴、油珠等液體顆粒。
2、粉休:由大量的不同尺寸的顆粒組成的顆粒群。
3、粒度:顆粒的大小叫做顆粒的粒度。
4、粒度分布:用特定的儀器和方法反映出的不同粒徑顆粒占粉體總量的百分數。有區間分布和累計分布兩種形式。區間分布又稱為微分分布或頻率分布,它表示一系列粒徑區間中顆粒的百分含量。累計分布也叫積分分布,它表示小於或大於某粒徑顆粒的百分含量。
5、粒度分布的表示方法:
① 表格法:用表格的方法將粒徑區間分布、累計分布一一列出的方法。
② 圖形法:在直角標系中用直方圖和曲線等形式表示粒度分布的方法。
③ 函數法:用數學函數表示粒度分布的方法。這種方法一般在理論研究時用。如著名的Rosin-Rammler分布就是函數分布。
6、粒徑和等效粒徑:
粒徑就是顆粒直徑。這概念是很簡單明確的,那麼什麼是等效粒徑呢,粒徑和等效粒徑有什麼關系呢?我們知道,只有圓球體才有直徑,其它形狀的幾何體是沒有直徑的,而組成粉體的顆粒又絕大多數不是圓球形的,而是各種各樣不規則形狀的,有片狀的、針狀的、多棱狀的等等。這些復雜形狀的顆粒從理論上講是不能直接用直徑這個概念來表示它的大小的。而在實際工作中直徑是描述一個顆粒大小的最直觀、最簡單的一個量,我們又希望能用這樣的一個量來描述顆粒大小,所以在粒度測試的實踐中的我們引入了等效粒徑這個概念。
等效粒徑是指當一個顆粒的某一物理特性與同質的球形顆粒相同或相近時,我們就用該球形顆粒的直徑來代表這個實際顆粒的直徑。那麼這個球形顆粒的粒徑就是該實際顆粒的等效粒徑。等效粒徑具體有如下幾種:
① 等效體積徑:與實際顆粒體積相同的球的直徑。一般認為激光法所測的直徑為等效體積徑。
② 等效沉速徑:在相同條件下與實際顆粒沉降速度相同的球的直徑。沉降法所測的粒徑為等效沉速徑,又叫Stokes徑。
③ 等效電阻徑:在相同條件下與實際顆粒產生相同電阻效果的球形顆粒的直徑。庫爾特法所測的粒徑為等效電阻徑。
④ 等效投進面積徑:與實際顆粒投進面積相同的球形顆粒的直徑。顯向鏡法和圖像法所測的粒徑大多是等效投影面積直徑。
7、表示粒度特性的幾個關鍵指標:
① D50:一個樣品的累計粒度分布百分數達到50%時所對應的粒徑。它的物理意義是粒徑大於它的顆粒佔50%,小於它的顆粒也佔50%,D50也叫中位徑或中值粒徑。D50常用來表示粉體的平均粒度。
② D97:一個樣品的累計粒度分布數達到97%時所對應的粒徑。它的物理意義是粒徑小於它的的顆粒佔97%。D97常用來表示粉體粗端的粒度指標。
其它如D16、D90等參數的定義與物理意義與D97相似。
③ 比表面積:單位重量的顆粒的表面積之和。比表面積的單位為m2/kg或cm2/g。比表面積與粒度有一定的關系,粒度越細,比表面積越大,但這種關系並不一定是正比關系。
8、粒度測試的重復性:同一個樣品多次測量結果之間的偏差。重復性指標是衡量一個粒度測試儀器和方法好壞的最重要的指標。它的計算方法是:
其中,n為測量次數(一般n>=10);
x i為每次測試結果的典型值(一般為D50值);
x為多次測試結果典型值的平均值;
σ為標准差;
δ為重復性相對誤差。
影響粒度測試重復性有儀器和方法本身的因素;樣品制備方面的因素;環境與操作方面的因素等。粒度測試應具有良好的重復性是對儀器和操作人員的基本要求。
9、粒度測試的真實性:
通常的測量儀器都有準確性方面的指標。由於粒度測試的特殊性,通常用真實性來表示准確性方面的含義。由於粒度測試所測得的粒徑為等效粒徑,對同一個顆粒,不同的等效方法可能會得到不同的等效粒徑。
可見,由於測量方法不同,同一個顆粒得到了兩個不同的結果。也就是說,一個不規則形狀的顆粒,如果用一個數值來表示它的大小時,這個數值不是唯一的,而是有一系列的數值。而每一種測試方法的都是針對顆粒的某一個特定方面進行的,所得到的數值是所有能表示顆粒大小的一系列數值中的一個,所以相同樣品用不同的粒度測試方法得到的結果有所不同的是客觀原因造成的。顆粒的形狀越復雜,不同測試方法的結果相差越大。但這並不意味著粒度測試結果可以漫無邊際,而恰恰應具有一定的真實性,就是應比較真實地反映樣品的實際粒度分布。真實性目前還沒有嚴格的標准,是一個定性的概念。但有些現象可以做為測試結果真實性好壞的依據。比如儀器對標准樣的測量結果應在標稱值允許的誤差范圍內;經粉碎後的樣品應比粉粉碎前更細;經分級後的樣品的大顆粒含量應減少;結果與行業標准或公認的方法一致等。

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:336
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:741
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:372