1作者: hackerAman7 个月前
嘿,HN, 我们刚刚推出了 Ethically — 一个简单、匿名的应用,每天为你提供 5 个道德困境。 你需要在两个(通常是艰难的)选项中做出选择。无需登录,没有追踪——只有纯粹的选择。投票后,你可以看到其他人的投票结果,以及 AI 的投票结果(包括它的推理:即将推出)。 它旨在激发思考、紧张感,有时也会带来遗憾。 作为我们“12 个月 12 个创业项目”的一部分,它被快速构建出来。 非常期待 HN 社区的反馈。 <a href="https://pickethically.com" rel="nofollow">https://pickethically.com</a>
8作者: dangoodmanUT7 个月前
嘿,Hacker News!这个周末我被布隆过滤器给“极客狙击”了,特别是在搜索具有高“基数”(唯一项目数量)的数据集时。<p>它们是一种_惊人_的数据结构,在固定大小的情况下,可以跟踪潜在的集合成员资格。这意味着与普通的 B 树索引不同,它们不会随着数据集中唯一项目数量的增加而增长。<p>这使得它们非常适合“大海捞针”式的搜索(日志、文档),正如 VictoriaMetrics 和必应的 BitFunnel 等实现所展示的那样。我过去也用过它们,但它们从未在我的项目中占据中心位置。<p>我希望为另一个项目实现高基数的关键词搜索……然后,好吧,我们开始陷入“剃牦牛”的兔子洞!<p>BloomSearch 将其带入一个可扩展的 Go 包中:<p>- 通过布隆过滤器和流式行扫描实现非常高的内存效率<p>- DataStore 和 MetaStore 接口,适用于任何后端(可以相同或分离)<p>- 通过分区、minmax 索引,当然还有布隆过滤器进行分层剪枝<p>- 通过字段、标记或字段:标记以及复杂的组合器进行搜索<p>- 分离存储和计算,实现无限制的摄取和查询吞吐量<p>当然,你们知道我不得不创建一个自定义文件格式 ^-^ (FILE_FORMAT.MD)<p>BloomSearch 针对大规模并发、任意基数和数据集大小以及超低内存使用进行了优化。在大小和性能优化方面,还有很多工作要做,但我已经对它非常满意了。通过分布式查询处理,我的目标是在大型数据集上实现 &gt;1000 亿行/秒的处理速度。<p>我也很高兴能用它来取代我们庞大的日志记录费用,大约 0.003 美元/GB 的日志存储,实现无限保留和无负担的查询 :P