yahoo 今天開源了資料快速高效計算算法,基于 java 的 data sketches 算法。 data sketches 遵循 apache 開源授權協定提供在 github:github.com/datasketches/sketches-core/。

這類型的技術在研究者的學術論文中出現的越來越多,總是使用不同的名字,但都會分享一些關鍵的技術點。首先就是可以處理流資料,因為這些資料他們隻接觸一次。他們是可附加的,你可以添加或者合并這些計算。更有趣的是,他們都是近似的。
雅虎方面發表聲明說,這整個科學計算是基于很基礎的功能,隻要你能忍受結果有一點點偏差,那麼完全可以大幅度提升計算的速度。
想象如果你想計算一些東西,比如一天中既通路雅虎财經又通路雅虎體育的人數。如果你嘗試計算到底有多少人通路,是可以得到答案的 —— 隻要你有充足的硬碟空間,記憶體和時間。這是非常困難的,yahoo 很自然的就想優化這類型的計算。
除了高速計數之外,data sketches 做某些類型的計算會比精确計算快很多。1億數值計算一般情況花費 2.5 分鐘,而使用 data sketches 隻需要 2.7 秒。
data sketches 已經在 yahoo 的大量産品中使用,yahoo 自身的 flurry 使用它來計算實時計數,雅虎郵件服務和搜尋引擎也在使用。
data sketches 內建了 hive 和 pig,還有 druid 開源資料存儲,在 maven 建構管理工具中也很容易使用。
====================================分割線================================