基数统计:从Linear Counting到Hyper LogLog

基数统计:从Linear Counting到Hyper LogLog

Wednesday, Nov 11, 2020

@ Shen Jianan

应用场景 基数统计(Cardinality Counting)指计算一个数据集中不同元素的数量,在很多场景都需要这样的功能:电商场景中的独立用户(UV)数量统计、数据库中快速计算字段取值数量以优化query、计算与某个站点相关的不同链接数量等。
Raft概论

Raft概论

Thursday, Jun 18, 2020

@ Shen Jianan

分布式系统很大程度上解决了我们在单机系统上遇到的可靠性和扩展性问题。为了解决扩展性,引入了分片;为了解决可靠性,引入了副本。而引入的这两个机制,又带来了更多需要解决的刁钻问题。 在本篇文章中,笔者对分布式一致性算法Raft进行介绍。由于主要介绍大的结构和流程,所以称为“概论”。如果想要知道更多细节,可以下载参考资料中的内容进行更细致的研究。 本文结构:首先简要介绍共识算法可以解决那些问题;接着,对Raft算法的主要流程和数据结构进行概述;对Raft有一个整体印象后,聚焦于选主流程、日志复制中的细节和问题;最后,证明Raft算法的正确性,并描述Raft如何处理成员变更的问题。
Faiss向量召回引擎如何做到快速查找最近邻

Faiss向量召回引擎如何做到快速查找最近邻

Sunday, Apr 26, 2020

@ Shen Jianan

Faiss是Facebook开源的向量召回引擎,用于寻找与某个向量最相似的N个向量。 Faiss第一次release发布于2018.02.23,但其作者Matthijs在加入Facebook之前的2011年就已经发表了一篇关于最近邻搜索的论文,Faiss就是基于此论文思想实现的。读懂了这篇论文,Faiss的索引方式就清楚了。
Redis设计与实现——事件

Redis设计与实现——事件

Thursday, Jun 16, 2016

@ Shen Jianan

事件 Redis服务器是事件驱动程序,需要处理两种事件: 文件事件——服务器与客户端通信产生的事件 时间事件——Redis中类似serverCron函数的给定时间点执行的事件
Redis设计与实现——AOF持久化

Redis设计与实现——AOF持久化

Monday, Jun 13, 2016

@ Shen Jianan

AOF持久化 RDB持久化通过保存键值对来记录数据库,而AOF则通过保存写命令来记录数据库的。写入的命令有特殊的格式,通过文本格式写入,只是在命令中间增加一些固定的协议分隔符。

About Me

2018.02至今 杭州嘉云数据 算法引擎

2017.6-2017.12 菜⻦网络-⼈工智能部-算法引擎

2016.09-2018.06 南京大学研究生

2015.07-2015.09 阿里巴巴-ICBU-实习

2012.09-2016.06 南京大学本科