當前位置:首頁 » 服務存儲 » 數據塊用來存儲什麼空間的數值
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

數據塊用來存儲什麼空間的數值

發布時間: 2023-07-05 01:03:36

1. 塊存儲、文件存儲、對象存儲這三者的本質差別是什麼

一、概念及區別

針對不同的應用場景,選擇的分布式存儲方案也會不同,因此有了對象存儲、塊存儲、文件系統存儲。這三者的主要區別在於它們的存儲介面:

1. 對象存儲:

也就是通常意義的鍵值存儲,其介面就是簡單的GET,PUT,DEL和其他擴展,

2. 塊存儲:

這種介面通常以QEMU Driver或者Kernel Mole的方式存在,這種介面需要實現Linux的BlockDevice的介面或者QEMU提供的BlockDriver介面,如Sheepdog,AWS的EBS,青雲的雲硬碟和阿里雲的盤古系統,還有Ceph的RBD(RBD是Ceph面向塊存儲的介面)

3. 文件存儲:

通常意義是支持POSIX介面,它跟傳統的文件系統如Ext4是一個類型的,但區別在於分布式存儲提供了並行化的能力,如Ceph的CephFS(CephFS是Ceph面向文件存儲的介面),但是有時候又會把GFS,HDFS這種非POSIX介面的類文件存儲介面歸入此類。

二、IO特點

按照這三種介面和其應用場景,很容易了解這三種類型的IO特點,括弧里代表了它在非分布式情況下的對應:1. 對象存儲(鍵值資料庫):

介面簡單,一個對象我們可以看成一個文件,只能全寫全讀,通常以大文件為主,要求足夠的IO帶寬。

2. 塊存儲(硬碟):

它的IO特點與傳統的硬碟是一致的,一個硬碟應該是能面向通用需求的,即能應付大文件讀寫,也能處理好小文件讀寫。但是硬碟的特點是容量大,熱點明顯。因此塊存儲主要可以應付熱點問題。另外,塊存儲要求的延遲是最低的。

3. 文件存儲(文件系統):

支持文件存儲的介面的系統設計跟傳統本地文件系統如Ext4這種的特點和難點是一致的,它比塊存儲具有更豐富的介面,需要考慮目錄、文件屬性等支持,實現一個支持並行化的文件存儲應該是最困難的。但像HDFS、GFS這種自己定義標準的系統,可以通過根據實現來定義介面,會容易一點。

因此,這三種介面分別以非分布式情況下的鍵值資料庫、硬碟和文件系統的IO特點來對應即可。至於冷熱、快慢、大小文件而言更接近於業務。但是因為存儲系統是通用化實現,通常來說,需要盡量滿足各種需求,而介面定義已經一定意義上就砍去了一些需求,如對象存儲會以冷存儲更多,大文件為主。

2. ORACLE中,數據塊的概念(越詳細越好)

數據塊是資料庫中最小的數據存儲單位,用戶再對資料庫執行輸入輸出操作時就是從數據塊讀取的。在oracle11g中,數據塊分為頭部信息區和存儲區,頭部信息區不存放數據,但是存放有關存儲區中表數據、索引數據的的相關信息起到引導的作用則存儲區真正存放數據記錄。

3. Oracle中資料庫、數據文件、表、表空間、用戶之間是什麼關系(轉)

問題:我是資料庫的初學者,望大家不吝賜教!! 在Oracle中資料庫、數據文件、表、表空間、用戶之間是什麼關系啊?比如我知道表和數據文件隸屬於表空間;表空間與用戶是多對多的關系。 希望大家能寫的通俗具體一點,呵呵呵 我在邏輯上有點混亂了!答案:呵呵,問的好,這涉及到資料庫的物理結構和邏輯結構。 首先,你需要明白的一點是:資料庫的物理結構是由資料庫的操作系統文件所決定,每一個Oracle資料庫是由三種類型的文件組成:數據文件、日誌文件和控制文件。資料庫的文件為資料庫信息提供真正的物理存儲。 每一個Oracle資料庫有一個或多個物理的數據文件(data file)。一個資料庫的數據文件包含全部資料庫數據。邏輯資料庫結構(如表、索引等)的數據物理地存儲在資料庫的數據文件中。數據文件通常為*.dbf格式,例如:userCIMS.dbf。數據文件有下列特徵:①、一個數據文件僅與一個資料庫聯系;②、一旦建立,數據文件只增不減;③、一個表空間(資料庫存儲的邏輯單位)由一個或多個數據文件組成。 其次,我們再來敘述一下Oracle的邏輯結構:Oracle的邏輯結構包括表空間(tablespace),段(segment),數據塊(data block)以及模式對象(schema object)。 Oracle資料庫在邏輯上是由多個表空間組成的,表空間在物理上包含一個或多個數據文件。而數據文件大小是塊大小的整數倍;表空間中存儲的對象叫段,比如數據段,索引段和回退段。段由區組成,區是磁碟分配的最小單位。段的增大是通過增加區的個數來實現的。每個區的大小是數據塊大小的整數倍,區的大小可以不相同;數據塊是資料庫中的最小的I/O單位,同時也是內存數據緩沖區的單位,及數據文件存儲空間單位。塊的大小由參數DB_BLOCK_SIZE設置,其值應設置為操作系統塊大小的整數倍。 ⑴、表空間(tablespace) 表空間是資料庫中最大的邏輯單位,每一個表空間由一個或多個數據文件組成,一個數據文件只能與一個表空間相聯系。每一個資料庫都有一個SYSTEM表空間,該表空間是在資料庫創建或資料庫安裝時自動創建的,用於存儲系統的數據字典表,程序系統單元,過程函數,包和觸發器等,也可用於存儲用戶數據表,索引對象。表空間具有在線(online)和離線(offline)屬性,可以將除SYSTME以外的其他任何錶空間置為離線。 ⑵、段(segment) 資料庫的段可以分為四類:數據段、索引段、回退段和臨時段。 ⑶、區 區是磁碟空間分配的最小單位。磁碟按區劃分,每次至少分配一個區。區存儲與段中,它由連續的數據塊組成。 ⑷、數據塊 數據塊是資料庫中最小的數據組織單位與管理單位,是數據文件磁碟存儲空間單位,也是資料庫I/O的最小單位,數據塊大小由DB_BLOCK_SIZE參數決定,不同的Oracle版本DB_BLOCK_SIZE的默認值是不同的。 ⑸、模式對象 模式對象是一種應用,包括:表、聚簇、視圖、索引序列生成器、同義詞、哈希、程序單元、資料庫鏈等。 最後,在來說一下Oracle的用戶、表空間和數據文件的關系: 一個用戶可以使用一個或多個表空間,一個表空間也可以供多個用戶使用。用戶和表空間沒有隸屬關系,表空間是一個用來管理數據存儲的邏輯概念,表空間只是和數據文件發生關系,數據文件是物理的,一個表空間可以包含多個數據文件,而一個數據文件只能隸屬一個表空間。 總結一下:解釋資料庫、表空間、數據文件、表、數據的最好辦法就是想像一個裝滿東西的櫃子。資料庫其實就是櫃子,櫃中的抽屜是表空間,抽屜中的文件夾是數據文件,文件夾中的紙是表,寫在紙上的信息就是數據。

4. 什麼是數據塊啊

數據塊是一組或按順序連續排列在一起的幾組記錄,是主存儲器與輸入、輸出設備或外存儲器之間進行傳輸的一個數據單位。是數據的物理記錄,與數據的邏輯記錄(邏輯上有聯系,在存儲器上佔有一組鄰接單元的數據單位)之間的對應關系有3種方式:①一個塊即為一個記錄;②一個塊包含若干個邏輯記錄;③一個邏輯記錄佔有幾個塊。數據塊的大小可以是固定的或是可變的,塊與塊之間有間隙。設計數據塊大小,受到多方面因素的影響,包括輸入、輸出效率,存儲空間代價以及計算機應用特點等。
在 text 、ntext 和 image 數據中,數據塊是應用程序和 SQL Server 2000 實例之間一次傳輸的數據單元。該術語還適用於這些數據類型的存儲單元。在磁帶備份文件中,數據塊是物理 I/O 的單元。

5. oracle資料庫中表、段、區、塊是什麼意思

oracle的邏輯結構包括表空間(tablespace),段(segment),區(extent),數據塊(data block)
oracle資料庫在邏輯上是由多個表間組成的,表空間中存儲的對象叫段,比如數據段,索引段,和回退段。段由區組成,區是磁碟分配的最小單位。段的增大是通過增加區的個數來實現的。每個區的大小是數據塊大小的整數倍,區的大小可以不相同;數據塊是資料庫中最小的I/O單位,同時也是內存數據緩沖區的單位,及數據文件存儲空間單位。塊的大小由參數DB_BLOCK_SIZE設置,其值應設置為操作系統塊大小的整數倍。
表空間
表空間是Oracle資料庫最大的邏輯結構,一個Oracle資料庫在邏輯上由多個表空間組成,一個表空間只隸屬於一個資料庫。Oracle中有一個稱為SYSTEM的表空間,這個表空間是在創建或安裝資料庫時自動創建的。主要用於存儲系統的數據字典,過程,函數,觸發器等;也可以存儲用戶的表,索引等。一個表空間可以有多數據文件,但是一個數據文件只能屬於一個表空間。
一個表空間就是一片磁碟區域,他由一個或者多個磁碟文件組成,一個表空間可以容納許多表、索引或者簇等。每個表空間有一個預制的磁碟區域稱為初始區間(initial extent)用完這個區間後再用下一個,直到用完表空間,這時候需要對表空間進行擴展,增加數據文件或者擴大已經存在的數據文件

Oracle中的段可以分成4種類型:數據段、索引段、回滾段、臨時段。
數據段用來存儲用戶的數據,每個表都有一個對應的回滾段,其名稱和數據表的名字相同。索引段用來存儲系統、用戶的索引信息。回滾段用來存儲用戶數據修改前的值,回退段與事務是一對多的關系,一個事務只能使用一個回退段,而一個回退段可存放一個或多個事務的回退數據。臨時段用於order by語句的排序以及一些匯總。

區是磁碟空間分配的最小單位。磁碟按區劃分,每次至少分配一個區。區存儲於段中,它由連續的數據塊組成。區的分配過程中,每次至分配5個區。如果所剩的空閑空間不夠5個區,就會出現錯誤:ORA-0。可以通過字典dba_tablespaces查詢表空間中區的信息。可以通過字典user_tables查詢段中區的信息。可以通過字典user_extents查詢區的分配狀況。我們可以通過以下SQL語句分別查詢表空間、段、區中區的分配信息
SQL>select * from dba_tablespaces;
SQL>select table_name, tablespace_name, min_extents, max_extents from user_tables;
SQL>select * from user_extents;
數據塊
數據塊是數據中中最小的數據組織單位與管理單位,是數據文件磁碟存儲空間單位,也是資料庫I/O 的最小單位,數據塊大小由DB_BLOCK_SIZE參數決定,不同的oracle版本DB_BLOCK_SIZE的默認值是不同的。

6. openGauss資料庫的主要邏輯對象有哪些

看官網文檔,如下圖描述還是比較清晰的:

基本概念

1、資料庫(Database)

資料庫是存儲在一起的相關數據的集合,這些數據可以被訪問,管理以及更新。

資料庫用於管理各類數據對象,與其他資料庫隔離。創建數據對象時可以指定對應的表空間,如果不指定相應的表空間,相關的對象會默認保存在PG_DEFAULT空間中。資料庫管理的對象可分布在多個表空間上。

2、數據塊(Block)

數據塊是資料庫管理的基本單位,默認大小為8KB。

3、行(ROW)

一行(元組,或記錄)是一組相關的數據,例如一條用戶訂閱的數據。

4、列(Cloumn)

每一列被當作是一個欄位。每個欄位中的值代表一種類型的數據。例如,一個表可能有3個欄位:姓名、城市和國家。這個表就會有3列,一列代表姓名,一列代表城市,一列代表國家。表中的每一行包含3個欄位的內容,姓名欄位包含姓名,城市欄位包含城市,國家欄位包含國家。

5、表(Table)

表是由行與列組合成的,是資料庫中用來存儲數據的對象,是整個資料庫系統的基礎。

每張表只能屬於一個資料庫,也只能對應到一個表空間。每張表對應的數據文件必須在同一個表空間中。

6、數據文件(Datafile Segment)

通常每張表只對應一個數據文件。如果某張表的數據大於1GB,則會分為多個數據文件存儲。

7、表空間(Tablespace)

在openGauss中,表空間是一個目錄,在物理數據和邏輯數據間提供了抽象的一層,為所有的資料庫對象分配存儲空間,裡面存儲的是它所包含的資料庫的各種物理文件。由於表空間是一個目錄,僅是起到了物理隔離的作用,其管理功能依賴於文件系統。

表空間可以存在多個,創建好之後,創建資料庫對象時可以指定該對象所屬的表空間。

8、模式(schema)

資料庫對象集,包括邏輯結構,例如表、視圖、序、存儲過程、同義名、索引及資料庫鏈接。

9、事務(Transaction)

資料庫管理系統執行過程中的一個邏輯單位,由一個有限的資料庫操作序列構成。在關系資料庫中,一個事務可以是一條SQL語句,一組SQL語句或整個程序。

同時,事務也是恢復和並發控制的基本單位,必須具備ACID特性,即:

  • 原子性(Atomicity):一個事務是一個不可分割的工作單位,事務中包括的操作要麼都做,要麼都不做。

  • 一致性(Consistency):事務必須是使資料庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。

  • 隔離性(Isolation):一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對並發的其他事務是隔離的,並發執行的各個事務之間不能互相干擾。

  • 持久性(Durability):持久性也稱永久性(Permanence),指一個事務一旦提交,它對資料庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。