【轉】結構化、半結構化和非結構化數據

【轉載】原文來源:https://www.jianshu.com/p/7ecd52f760f1

一、結構化數據

結構化的數據是指可以使用關係型數據庫表示和存儲,表現爲二維形式的數據。一般特點是:數據以行爲單位,一行數據表示一個實體的信息,每一行數據的屬性是相同的。舉一個例子:

id      name            age     gender
1       Liu Yi          20      male
2       Chen Er         35      female
3       Zhang San       28      male

所以,結構化的數據的存儲和排列是很有規律的,這對查詢和修改等操作很有幫助。
但是,它的擴展性不好。比如,如果字段不固定,利用關係型數據庫也是比較困難的,有人會說,需要的時候加個字段就可以了,這樣的方法也不是不可以,但在實際運用中每次都進行反覆的表結構變更是非常痛苦的,這也容易導致後臺接口從數據庫取數據出錯。你也可以預先設定大量的預備字段,但這樣的話,時間一長很容易弄不清除字段和數據的對應狀態,即哪個字段保存有哪些數據。

二、半結構化數據

半結構化數據是結構化數據的一種形式,它並不符合關係型數據庫或其他數據表的形式關聯起來的數據模型結構,但包含相關標記,用來分隔語義元素以及對記錄和字段進行分層。因此,它也被稱爲自描述的結構。
半結構化數據,屬於同一類實體可以有不同的屬性,即使他們被組合在一起,這些屬性的順序並不重要。
常見的半結構數據有XML和JSON,對於對於兩個XML文件,第一個可能有

<person>
    <name>A</name>
    <age>13</age>
    <gender>female</gender>
</person>

第二個可能爲:

<person>
    <name>B</name>
    <gender>male</gender>
</person>

從上面的例子中,屬性的順序是不重要的,不同的半結構化數據的屬性的個數是不一定一樣的。有些人說半結構化數據是以樹或者圖的數據結構存儲的數據,怎麼理解呢?上面的例子中,<person>標籤是樹的根節點,<name><gender>標籤是子節點。通過這樣的數據格式,可以自由地表達很多有用的信息,包括自我描述信息(元數據)。所以,半結構化數據的擴展性是很好的。

三、非結構化數據

非結構化數據是數據結構不規則或不完整,沒有預定義的數據模型,不方便用數據庫二維邏輯表來表現的數據。包括所有格式的辦公文檔、文本、圖片、各類報表、圖像和音頻/視頻信息等等。
非結構化數據其格式非常多樣,標準也是多樣性的,而且在技術上非結構化信息比結構化信息更難標準化和理解。所以存儲、檢索、發佈以及利用需要更加智能化的IT技術,比如海量存儲、智能檢索、知識挖掘、內容保護、信息的增值開發利用等。

四、應用場景

結構化數據,簡單來說就是數據庫。結合到典型場景中更容易理解,比如企業ERP、財務系統;醫療HIS數據庫;教育一卡通;政府行政審批;其他核心數據庫等。這些應用需要哪些存儲方案呢?基本包括高速存儲應用需求、數據備份需求、數據共享需求以及數據容災需求。
非結構化數據,包括視頻、音頻、圖片、圖像、文檔、文本等形式。具體到典型案例中,像是醫療影像系統、教育視頻點播、視頻監控、國土GIS、設計院、文件服務器(PDM/FTP)、媒體資源管理等具體應用,這些行業對於存儲需求包括數據存儲、數據備份以及數據共享等。
半結構化數據,包括郵件、HTML、報表、資源庫等等,典型場景如郵件系統、WEB集羣、教學資源庫、數據挖掘系統、檔案系統等等。這些應用對於數據存儲、數據備份、數據共享以及數據歸檔 等基本存儲需求。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章