HyperLogLog

How does the HyperLogLog algorithm work?

妖精的绣舞 提交于 2019-11-27 02:20:43
I've been learning about different algorithms in my spare time recently, and one that I came across which appears to be very interesting is called the HyperLogLog algorithm - which estimates how many unique items are in a list. This was particularly interesting to me because it brought me back to my MySQL days when I saw that "Cardinality" value (which I always assumed until recently that it was calculated not estimated). So I know how to write an algorithm in O ( n ) that will calculate how many unique items are in an array. I wrote this in JavaScript: function countUniqueAlgo1(arr) { var

关于 Postgres 独特之处的采访 —— 扩展

ぐ巨炮叔叔 提交于 2019-11-25 22:23:27
本文作者: Craig Kerstiens ,目前在负责 @citusdata 的云团队。Citus 将 Postgres 扩展为可水平扩展的分布式数据库。本文是他之前一个好友采访他的记录(英文原文请看 这里 )。 以下是采访内容: 我之前时常跟各种开发者共进晚餐,基本上都认为开发者(包括他们自己)可能会有些自以为是。例如,有人说:“我爱Postgres,但我不知道为什么。” 我想他们应该是坐错了餐桌,以 Postgres 为例。。。经常有人问 我为什么选择 Postgres 。 实际上,一年多以前,好朋友 Dimitri Fontaine 在写一本 Postgres 的书,他询问是否可以采访我。我一直说他们缺少关于 Postgres 的好书,不过这个好友做了一件非常好的事,这本书提供针对开发人员(也包括 DBA)提供了很好的指南。但他希望能做得更好。 接下来是本书访谈的摘录。 介绍 自从被 Microsoft 收购以来, Craig 领导了 @citusdata 云团队 ,该团队 现在正在运行 Azure Postgres 的产品 。Citus 将 Postgres 扩展为可水平扩展的分布式数据库。如果您有一个数据库,尤其是Postgres,则需要扩展到更多的节点(通常在100GB以上),Craig 总是很乐意聊天,看看 Citus 是否可以提供帮助。 Craig 之前在