1. 程式人生 > >結構化、半結構化和非結構化資料

結構化、半結構化和非結構化資料

一、結構化資料

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

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>

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

三、非結構化資料

非結構化資料是資料結構不規則或不完整,沒有預定義的資料模型,不方便用資料庫二維邏輯表來表現的資料。包括所有格式的辦公文件、文字、圖片、各類報表、影象和音訊/視訊資訊等等。

非結構化資料其格式非常多樣,標準也是多樣性的,而且在技術上非結構化資訊比結構化資訊更難標準化和理解。所以儲存、檢索、釋出以及利用需要更加智慧化的IT技術,比如海量儲存、智慧檢索、知識挖掘、內容保護、資訊的增值開發利用等。

四、應用場景

結構化資料,簡單來說就是資料庫。結合到典型場景中更容易理解,比如企業ERP、財務系統;醫療HIS資料庫;教育一卡通;政府行政審批;其他核心資料庫等。這些應用需要哪些儲存方案呢?基本包括高速儲存應用需求、資料備份需求、資料共享需求以及資料容災需求。

非結構化資料,包括視訊、音訊、圖片、影象、文件、文字等形式。具體到典型案例中,像是醫療影像系統、教育視訊點播、視訊監控、國土GIS、設計院、檔案伺服器(PDM/FTP)、媒體資源管理等具體應用,這些行業對於儲存需求包括資料儲存、資料備份以及資料共享等。

半結構化資料,包括郵件、HTML、報表、資源庫等等,典型場景如郵件系統、WEB叢集、教學資源庫、資料探勘系統、檔案系統等等。這些應用對於資料儲存、資料備份、資料共享以及資料歸檔 等基本儲存需求。

加入少兒資訊學奧賽QQ群請掃左側二維碼,關注微信公眾號請掃右側二維碼
QQ群和公眾號.png