openGauss 支援HyperLogLog

奔跑的数据库發表於2024-04-09

支援HyperLogLog

可獲得性

本特性自openGauss 1.1.0版本開始引入。

特性簡介

透過使用HyperLogLog相關函式,計算唯一值個數Count(Distinct),提升效能。

客戶價值

提升AP/TP類查詢的效能。

特性描述

HLL(HyperLogLog)是統計資料集中唯一值個數的高效近似演算法。它有著計算速度快、節省空間的特點,不需要直接儲存集合本身,而是儲存一種名為HLL的資料結構。每當有新資料加入進行統計時,只需要把資料經過雜湊計算並插入到HLL中,最後根據HLL就可以得到結果。

HLL在計算速度和所佔儲存空間上都佔優勢。在時間複雜度上,Sort演算法需要排序至少O(nlogn)的時間,雖說Hash演算法和HLL一樣掃描一次全表O(n)的時間就可以得出結果,但是儲存空間上,Sort演算法和Hash演算法都需要先把原始資料存起來再進行統計,會導致儲存空間消耗巨大。而對HLL來說不需要存原始資料,只需要維護HLL資料結構,所以佔用空間始終是1280位元組常數級別。

特性增強

無。

特性約束

無。

依賴關係

無。

相關文章