大數據存儲
現代網路專業用詞
“大數據”通常指的是那些數量巨大、難於收集、處理、分析的數據集,亦指那些在傳統基礎設施中長期保存的數據。大數據存儲是將這些數據集持久化到計算機中。
這裡的“大”有幾層含義,它可以形容組織的大小,而更重要的是,它界定了企業中IT基礎設施的規模。業內對大數據應用寄予了無限的期望 – 商業信息積累的越多價值也越大 – 只不過我們需要一個方法把這些價值挖掘出來。
隨著大數據應用的爆發性增長,它已經衍生出了自己獨特的架構,而且也直接推動了存儲、網路以及計算技術的發展。畢竟處理大數據這種特殊的需求是一個新的挑戰。硬體的發展最終還是由軟體需求推動的,就這個例子來說,我們很明顯的看到大數據分析應用需求正在影響著數據存儲基礎設施的發展。
從另一方面看,這一變化對存儲廠商和其他IT基礎設施廠商未嘗不是一個機會。隨著結構化數據和非結構化數據量的持續增長,以及分析數據來源的多樣化,此前存儲系統的設計已經無法滿足大數據應用的需要。存儲廠商已經意識到這一點,他們開始修改基於塊和文件的存儲系統的架構設計以適應這些新的要求。在這裡,我們會討論哪些與大數據存儲基礎設施相關的屬性,看看它們如何迎接大數據的挑戰。
大數據存儲和傳統的數據存儲的不同
大數據應用的一個主要特點是實時性或者近實時性。
類似的,一個金融類的應用,能為業務員從數量巨大種類繁多的數據里快速挖掘出相關信息,能幫助他們領先於競爭對手做出交易的決定。
數據通常以每年增長50%的速度快速激增,尤其是非結構化數據。隨著科技的進步,有越來越多的感測器採集數據、移動設備、社交多媒體等等,所以數據只可能繼續增長。
總而言之,大數據需要非常高性能、高吞吐率、大容量的基礎設備。
網際網路時代各種存儲框架層出不窮,眼花繚亂,比如傳統的關係型資料庫:Oracle、MySQL;新興的NoSQL:HBase、Cassandra、Redis;全文檢索框架:ES、Solr等。
MySQL:關係型資料庫,主要面向OLTP,支持事務,支持二級索引,支持sql,支持主從、Group Replication架構模型。
ElasticSearch:ES是一款分散式的全文檢索框架,底層基於Lucene實現,雖然ES也提供存儲,檢索功能,但我一直不認為ES是一款資料庫,但是隨著ES功能越來越強大,與資料庫的界限也越來越模糊。天然分散式,p2p架構,不支持事務,採用倒排索引提供全文檢索。