1.什麼是元數據?
任何文件系統中的數據分爲數據和元數據。數據是指普通文件中的實際數據,而元數據指用來描述一個文件的特徵的系統數據,諸如訪問權限、文件擁有者以及文件數據塊的分佈信息(inode...)等等。在集羣文件系統中,分佈信息包括文件在磁盤上的位置以及磁盤在集羣中的位置。用戶需要操作一個文件必須首先得到它的元數據,才能定位到文件的位置並且得到文件的內容或相關屬性。
2.元數據管理方式
元數據管理有兩種方式。集中式管理和分佈式管理。集中式管理是指在系統中有一個節點專門司職元數據管理,所有元數據都存儲在該節點的存儲設備上。所有客戶端對文件的請求前,都要先對該元數據管理器請求元數據。分佈式管理是指將元數據存放在系統的任意節點並且能動態的遷移。對元數據管理的職責也分佈到各個不同的節點上。大多數集羣文件系統都採用集中式的元數據管理。因爲集中式管理實現簡單,一致性維護容易,在一定的操作頻繁度內可以提供較滿意的性能。缺點是單一失效點問題,若該服務器失效,整個系統將無法正常工作。而且,當對元數據的操作過於頻繁時,集中的元數據管理成爲整個系統的性能瓶頸。
分佈式元數據管理的好處是解決了集中式管理的單一失效點問題, 而且性能不會隨着操作頻繁而出現瓶頸。其缺點是,實現複雜,一致性維護複雜,對性能有一定影響。
---------------------
作者:學習很重要的
來源:CSDN
原文:https://blog.csdn.net/weixin_41598126/article/details/80139514
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!
第五章元數據查詢
- 列出模式中的表(查看在給出的模式中所有已創建的表的清單)
- 查詢一個包含着數據庫中所有表名稱的系統表(或視圖)
- DB2:
- select tabname from syscat.tables where tabschema='smeagol'
- Oracle
- select table_name from all_tables where owner='smeagol'
- PostgreSQL,MySQL和SQL server
- select table_name from information_schema.tables where tabe_schema='smeagol'
- 列出表的列(列出表的各列,他們的數據類型,以及這些列在表中的位置)
- DB2
- select colname,typename,colno from syscat.columns where tabname='EMP' and tabschema='smeagol'
- Oracle
- select column_name,data_type,column_id from all_tab_columns where owner='smeagol' and table_name='EMP'
- PostgreSQL,MySQL和SQL server
- select column_name,data_type,ordinal_position from information_schema.columns where table_schema='smeagol' and table_name='EM
- DB2
- 列出表的索引列(列出給定表的索引,索引的列及這些列在索引中的位置(如果可能))
- DB2
- select column_name,data_type,column_id from all_tab_columns where owner='smeagol' and table_name='EM
- DB2
- 列出表約束
- 列出沒有相應索引的外鍵
- 使用SQL來生成SQL
- 在Oracle中描述數據字典試圖
實在是搞不懂,先放着,研究研究