數據的結構特征
非結構化數據:包括所有格式的辦公文檔、文本、圖片、圖像、音頻、視頻信息等。
結構化數據:一般會存儲在關系型數據庫中,可用二位關系的表結構來對數據進行描述,數據的模式需要預先進行定義。
半結構化數據:介於結構化數據和半結構化數據直接,HTML文檔就屬於半結構化數據。它一般是自描述的,與結構化數據的最大區別之處在於,半結構化的數據模式和內容混在一起,沒有明顯的界限和區分。
根據分布式系統面臨的各種需求,目前主要有四種分布式存儲系統:分布式文件系統、分布式鍵值系統、分布式表格和分布式數據庫
基於數據結構特征的存儲形式
數據的結構特征決定數據的存儲形式;
1、文件存儲;
2、nosql;
3、sql;
分布式文件系統
互聯網應用需要存儲大量的圖片、文字、照片和視頻等各種非結構化的數據對象,這類數據以對象的形式進行組織,對象之間沒有關聯關系,這樣的數據一般我們稱為Blob數據。
分布式文件系統用於存儲Blob數據對象,典型的系統有Facebook Haystack以及Taobao File System.另外,分布式文件系統也常作為分布式表格系統以及分布式數據庫系統的底層存儲。
總體上看,分布式文件系統存儲三種數據:Blob對象、定長塊以及大文件。在系統的實現層面,分布式文件系統內部按照數據塊(chunk)來組織數據,每個數據塊的大小相同,每個數據可以包含多個Blob對象或者定長塊,一個大文件也可以拆分成為多個數據塊。分布式文件系統將這些數據塊分散存儲到分布式存儲集群中去,處理數據的復制、一致性、負載均衡、容錯等分布式系統難題,並將用戶對Blob對象、定長塊以及文件的操作映射成為對底層數據塊的操作。
分布式鍵值系統
分布式鍵值系統用於存儲關系簡單的半結構化數據,它只對外提供主鍵的CRUD操作,根據主鍵創建、讀取、更新或者刪除一條鍵值記錄。
典型的分布式鍵值存儲系統有Amazon Dynamo以及Taobao Tair。從數據結構的角度來看,分布式鍵值存儲系統與傳統的hash表比較相似,不同的是,分布式鍵值系統支持將數據存儲到分布式集群中的多個存儲節點。分布式鍵值系統是分布式表格系統的一種簡化的實現,一般用來對數據進行緩存。一致性哈希是分布式鍵值系統中常用的數據分布技術。
分布式表格系統
分布式表格系統用於存儲關系比較復雜的半結構化數據,與分布式鍵值存儲系統相比,分布式表格存儲系統部僅僅支持簡單的數據CRUD操作,而且支持掃描整個主鍵范圍。分布式表格存儲系統以表格為單位組織數據,每個表格包括很多行,通過主鍵唯一標示一行數據,支持根據主鍵的CRUD功能以及范圍查找的功能。
分布式表格系統借鑒了很多關系型數據庫的技術,例如支持某種程度上的事務,比如單行事務。
分布式數據庫系統
分布式數據庫系統是從單機關系型數據庫擴展而來,用於存儲結構化數據。分布式數據庫采用二維表的形式組織數據,提供SQL關系查詢語言,支持多表關聯、嵌套子查詢等操作,並提供數據庫事務和並發控制。
---------------------
作者:zhanghongbin01
來源:CSDN
原文:https://blog.csdn.net/github_20066005/article/details/57413872
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!