元數據的作用和意義: 元數據是關(guān)于數據的描述性數據信息,說(shuō)明數據內容、質(zhì)量、狀況和其他有關(guān)特征的背景信息。其目的是促進(jìn)數據集的高效利用,并為計算機輔助軟件工程服務(wù)。 幫助數據生產(chǎn)單位有效的維護和管理數據; 提供有關(guān)數據生產(chǎn)單位的各種有關(guān)信息供用戶(hù)查詢(xún); 幫助用戶(hù)了解數據; 提供有關(guān)信息,以便用戶(hù)處理和轉換有用數據。 采用元數據可以便于數據共享。 以上內容均根據學(xué)員實(shí)際工作中遇到的問(wèn)題整理而成,供參考,如有問(wèn)題請及時(shí)溝通、指正。
1、元數據定義:
數據(Metadata),又稱(chēng)中介數據、中繼數據,為描述數據的數據(data about data),主要是描述數據屬性(property)的信息,用來(lái)支持如指示存儲位置、歷史數據、資源查找、文件記錄等功能。元數據算是一種電子式目錄,為了達到編制目錄的目的,必須在描述并收藏數據的內容或特色,進(jìn)而達成協(xié)助數據檢索的目的
元數據就是數據的數據。
任何文件系統中的數據分為數據和元數據。數據是指普通文件中的實(shí)際數據,而元數據指用來(lái)描述一個(gè)文件的特征的系統數據,諸如訪(fǎng)問(wèn)權限、文件擁有者以及文件數據塊的分布信息(inode...)等等。在集群文件系統中,分布信息包括文件在磁盤(pán)上的位置以及磁盤(pán)在集群中的位置。用戶(hù)需要操作一個(gè)文件必須首先得到它的元數據,才能定位到文件的位置并且得到文件的內容或相關(guān)屬性。
文件系統元數據(metadata)的更改都被保存在一份單獨的日志里,當發(fā)生系統崩潰時(shí)可以根據日志正確地恢復數據。除此之外,日志使系統重新啟動(dòng)時(shí)不必進(jìn)行文件系統的檢查,從而縮短了恢復時(shí)間。
2、元數據管理方式:
元數據管理有兩種方式:集中式管理和分布式管理
集中式管理:是指在系統中有一個(gè)節點(diǎn)專(zhuān)門(mén)司職元數據管理,所有元數據都存儲在該節點(diǎn)的存儲設備上。所有客戶(hù)端對文件的請求前,都要先對該元數據管理器請求元數據。
分布式管理:是指將元數據存放在系統的任意節點(diǎn)并且能動(dòng)態(tài)的遷移。對元數據管理的職責也分布到各個(gè)不同的節點(diǎn)上。
大多數集群文件系統都采用集中式的元數據管理。因為集中式管理實(shí)現簡(jiǎn)單,一致性維護容易,在一定的操作頻繁度內可以提供較滿(mǎn)意的性能。缺點(diǎn)是單一失效點(diǎn)問(wèn)題,若該服務(wù)器失效,整個(gè)系統將無(wú)法正常工作。而且,當對元數據的操作過(guò)于頻繁時(shí),集中的元數據管理成為整個(gè)系統的性能瓶頸。
分布式元數據管理的好處是解決了集中式管理的單一失效點(diǎn)問(wèn)題,而且性能不會(huì )隨著(zhù)操作頻繁而出現瓶頸。其缺點(diǎn)是,實(shí)現復雜,一致性維護復雜,對性能有一定影響。
文件的數據分為兩類(lèi):一類(lèi)為元數據,既屬性數據;一種就是數據本身。
可用命令stat查看文件的元數據
stat:
功能說(shuō)明:顯示inode內容。
語(yǔ) 法:stat [文件或目錄](méi)
補充說(shuō)明:stat以文字的格式來(lái)顯示inode的內容。
ls 命令及其許多參數提供了一些非常有用的文件信息。另一個(gè)不太為人所熟知的命令 stat 提供了一些更為有用的信息。
例:
查看可執行文件“oracle”
# stat oracle
File: ‘oracle’
Size: 93300148 Blocks:182424 IO Block:4096 Regular File
Device: 343h/835d Inode: 12009652 Links: 1
Access: (6751/-rwsr-s--x) Uid:( 500/ oracle) Gid:( 500/ dba)
Access: 04:30:52.000000000 -0400
Modify: 11:49:47.000000000 -0500
Change: 11:55:24.000000000 -0500
使用該命令獲得的信息:除了通常的文件大小(也可以使用 ls -l 命令獲得)以外,您還獲得了該文件占用的塊數。通常的 Linux 塊大小為 512 字節,因此一個(gè)大小為 93,300,148 字節的文件將占用 (93300148/512=) 182226.85 個(gè)塊。由于塊都是完整占用,因此該文件使用了一些整數個(gè)數的塊。無(wú)需猜測就可以獲得確切的塊數
stat 命令的修改符 -f 顯示了有關(guān)文件系統(而非文件)的信息:
# stat -f oracle
File: oracle
ID: 0 Namelen:255 Type:ext2/ext3
Blocks: Total: 24033242 Free: 15419301 Available: 14198462 Size: 4096
Inodes: Total: 12222464 Free: 12093976
另一個(gè)選項 -t 顯示了完全相同的信息,只不過(guò)是在一行中顯示的:
# stat -t oracle
oracle 93300148 182424 8de9 500 500 343 12009652 1 0 0 1154682061
1130950187 1130950524 4096
修改文件時(shí)間戳信息
命令:touch
touch命令一般用來(lái)修改文件的時(shí)間,或者新建一個(gè)不存在的文件.
語(yǔ)法如下: touch [-acm][-r ref_file(參照文件)|-t time(時(shí)間值)] file(文件名)
例子:
touch file1.txt 更新file1.txt的存取和修改時(shí)間
touch -c file1.txt 如果file1.txt不存在,不創(chuàng )建文件
touch -r ref_file file1.txt 更新file1.txt的時(shí)間戳和ref+file相同
touch -t 0911252234.40 file1.txt 設定文件的時(shí)間為09年11月25日22點(diǎn)34分40秒
參數說(shuō)明:
-a 修改文件 file 的存取時(shí)間.
-c 不創(chuàng )建文件 file.
-m 修改文件 file 的修改時(shí)間
-r ref_file 將參照文件 ref_file 相應的時(shí)間戳記的數值作為指定文件 file 時(shí)間戳記的新值.
-t time 使用指定的時(shí)間值 time 作為指定文件 file 相應時(shí)間戳記的新值.
此處的 time 規定為如下形式的十進(jìn)制數∶ [[CC]YY]MMDDhhmm[.SS] 這里,CC為年數中的前兩位,即”世紀數”;YY為年數的后兩位,即某世紀中的年數.如果不給出CC的值,則touch 將把年數CCYY限定在1969--2068之內.MM為月數,DD為天將把年數CCYY限定在1969--2068之內.MM為月數,DD為天數,hh 為小時(shí)數(幾點(diǎn)),mm為分鐘數,SS為秒數.此處秒的設定范圍是0--61,這樣可以處理閏秒.這些數字組成的時(shí)間是環(huán)境變量TZ指定的時(shí)區中的一個(gè)時(shí) 間.由于系統的限制,早于1970年1月1日的時(shí)間是錯誤的.
使用touch可以一次創(chuàng )建多個(gè)文件:
# touch myfile01 myfile02 myfile03
#touch myfile0{1,2,3} 創(chuàng )建myfile01 myfile02 myfile03 三個(gè)文件
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:2.192秒