分布式對象存儲解決方案(oss)-用於存儲圖片、文檔、音頻、視頻等二進制文件


 OSS(Object Storage Service)俗稱對象存儲,主要提供圖片、文檔、音頻、視頻等二進制文件的海量存儲功能。目前除了公有雲提供對象存儲服務外,一般私有雲比較關心一些開源的分布式對象存儲解決方案,本文列舉了一些常見的技術方案供參考。

概念普識

塊存儲

通常SAN(Storage Area Network)結構的產品屬於塊存儲,比如我們常見的硬盤、磁盤陣列等物理盤。

文件存儲

一般NAS(Network Attached Storage)產品都是文件級存儲,如Ceph的CephFS,另外GFS、HDFS等也屬於文件存儲。

對象存儲

同時兼顧着SAN高速直接訪問磁盤特點及NAS的分布式共享特點的一類存儲,一般是通過RESTful接口訪問。

 

開源解決方案介紹

(一)Swift 是 OpenStack 社區核心子項目,是一個彈性可伸縮、高可用的分布式對象存儲系統,使用Python語言實現,采用 Apache 2.0 許可協議。

Swift 提供一個基於RESTful HTTP接口的 Object Storage API,用於創建,修改和獲取對象和元數據。用戶可以使用 Swift 高效、安全且廉價地存儲大量數據。Swift 整體架構:

 

總的來說,企業如果想要建立可擴展的分布式對象存儲集群,可以考慮 Swift。

 

 (二)CephCeph是一種高性能、高可用、可擴展的分布式存儲系統,統一的對外提供對象存儲、塊存儲以及文件存儲功能,底層使用C/C++語言。其中對象存儲功能支持 2 種接口:1、兼容S3:提供了對象存儲接口,兼容 S3 RESTful 接口的一個大子集。2、兼容Swift:提供了對象存儲接口,兼容 Openstack Swift 接口的一個大子集。

Ceph是一個企業級分布式存儲系統,功能強大,不僅可以為企業建立對象存儲服務,還可以幫助企業建立自己的雲平台,具有廣泛的應用場景特別是在雲環境下使用廣泛。

 

(三)Minio是一個企業級、兼容S3接口的對象存儲系統。Minio基於 Apache 2.0 許可協議,采用Go語言實現,客戶端支持Java、Python、Go等多種語言,是一種輕量級、高並發的開源解決方案,可以作為雲存儲方案用來保存海量的圖片,視頻,文檔等。

大數據集成方面,Minio支持各種常見的查詢計算引擎,比如Spark、Presto、Hive以及Flink等,可以使用這些處理框架查詢分析對象數據,此外,Minio支持Parquet,Json、Csv格式等多種文件存儲格式,包括壓縮與編碼。更多特性可以參考官網 地址https://min.io。Minio架構:

 

 Minio主要為人工智能、機器學習而設計,並適用於其他大數據負載。從架構與功能方面考慮,Minio是一個比較好的開源對象存儲解決方案。

 HBase MOB這是利用HBase的MOB特性支持對象存儲功能。Apache HBase2.0 版本開始支持中等對象存儲(Medium Object Storage,簡稱 MOB),這個特性使得HBase能夠非常良好的存儲大小在100KB-10M的圖片、文檔、音頻、短視頻等二進制數據。

架構如上,HBase MOB的設計類似於HBase + HDFS的方式,中等對象在寫入HDFS之前同樣是先寫入MemStore,但是刷寫與其他寫入數據不同,MOB數據被刷寫到MOB File中,MOB File被存放在特殊的Region中。

MOB特性在Apache HBase 2.0、CDH 5.4.x 或 HDP 2.5.x 及以上版本支持,用戶可以基於HBase MOB特性設計自己的對象存儲服務。

 

(四)Hadoop Ozone是 Apache Hadoop 的子項目,為了提供分布式、可擴展的對象存儲功能,主要是為了彌補HDFS在小文件存儲方面的不足之處。Ozone建立在一個高可用、支持塊復制的Hadoop分布式數據存儲層之上,稱為Hadoop Distributed Data Store(HDDS),上層可對接 Spark、Hive 以及 Yarn 等計算調度引擎。但是目前還處於alpha內部測試版本,暫時不建議生產環境中使用。

 

小結

對象存儲主要是解決海量圖片、文檔、音視頻的存儲,其中主流的重量級解決方案是Swift與Ceph,它們各有特點,可以參考搜索引擎上的對比,Hadoop生態體系中備受關注的是HBase MOB,另外輕量級的Minio也是一種比較好的選擇。MongoDB也提供了大文件存儲模塊GridFS。建議根據實際情況做技術選型。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM