Amazon S3 與 HDFS 的速度差異

作者繼續以 A Billion Taxi Rides 的資料測試各種差異,這次測了 Amazon S3HDFS 的速度差異:「A Billion Taxi Rides: AWS S3 versus HDFS」。

前半部都在說明測試的環境設定,重點在文章的最後面 (也就是「Benchmarking HDFS」這段),裡面有各種 query 的速度。HDFS 的速度大約是 Amazon S3 的 1.25 到 1.75 倍,作者給的結論是:

Though the speed improvements using HDFS are considerable, S3 did perform pretty well. At worst there's a 1.75x overhead in exchange for virtually unlimited scalability, 11 9's of durability and no worrying about over/under-provisioning storage space.

雖然 HDFS 比較快,但 Amazon S3 其實表現的不錯,另外資料安全性 (平均 99.999999999%,也就是 11 個 9 的 durability) 及不需要怕空間不夠的優點也是應該考慮進去的因素。

Amazon S3 的改善

在「Amazon S3 Introduces New Usability Enhancements」這邊提到了 Amazon S3 的兩個改善。

第一個是業務面的改善,以前應該是開 support ticket 請人調整 S3 bucket 數量上限,現在則是可以直接透過界面申請?(沒有遇過瓶頸,不知道以前是不是在界面上看不到...)

第二個才是重頭戲:Read-after-write Consistency。

With this enhancement, Amazon S3 now supports read-after-write consistency in all regions for new objects added to Amazon S3.

也就是說,Amazon S3 現在保證「新增的 object」「可以在建立後馬上被讀取」。之前還沒修正前,這個問題有多嚴重呢?可以看 2014 年時「Netflix 對 S3 的 Eventually Consistency 的補強...」這邊 Netflix 在跑 PigHive 遇到的問題。

Netflix 這邊舉的例子是兩個 Pig cluster 在跑,其中 Pig-2 需要 Pig-1 跑出來的資料,在這次公告前,如果 Pig-1 的資料寫回 Amazon S3 時不會馬上出現,那麼 Pig-2 就會拿不完整的資料執行:

Pig-2 is activated based on the completion of Pig-1 and immediately lists the output directories of the previous task. If the S3 listing is incomplete when the second job starts, it will proceed with incomplete data.

而現在總算是保證新的 object 可以馬上被讀取,所以 Netflix 可以利用一個檔案列出所有的 filename,確保知道所有的檔案名稱... (LIST 指令還是 eventually consistent,所以這部份還是要自己處理)

HDFS 上的 Memory Storage

Apache Spark 以記憶體操作為賣點的想法,有人提出來直接讓 HDFS 支援 Memory Storage 了:「Discardable Distributed Memory: Supporting Memory Storage in HDFS」,文章的副標題「HDFS's storage subsystem gets a boost with discardable distributed memory」也說明了特性。

整個計畫在「[HDFS-5851] Support memory as a storage medium - ASF JIRA」這邊可以看到。

不過 Spark 帶來的想法現在才有進度... 這發展的速度也太快了 XD

NSA 每天從全世界的基地台蒐集行動電話資料,所以全民公敵裡演的都是真的嘛...

雖然也不怎麼意外了,不過看到還是想要碎碎唸一下...

NSA 每天從「全世界的」基地台蒐集五十億筆資料:「NSA Tracking Cellphone Locations Worldwide」。

全世界啊... 感覺 Hadoop 之類的 big data 技術論壇找 NSA 很有看頭啊 @_@

Update:有人給了模擬案例了「Meet Jack. Or, What The Government Could Do With All That Location Data」: