最新 | 最热门 | 最高评价

+0  Multi-Master-Paxos: 3

Tag: algo | distributed | replication | paxos | multi-master | multi-leader | active-active | 分布式 | 多活 | 多主
张炎泼(xp) 发于 2021年06月14日 08:00 | 点击: 445 | 展开摘要
Background

200行代码实现paxos-kv
中介绍了一款非常简洁的分布式kv存储实现, 它是基于 classic-paxos
实现分布式一致性. 在 paxos的直观解释 中我们提到, 每次写入, 也就是每个 paxos 实例需要2轮 RPC 完成, 效率低.

一个常见的优化就是 mutli-paxos(或raft), 用一次 RPC 对多个实例运行 phase-1;
再对每个实例分别运行 phase-2, 这样均摊开销是一次 RPC 完成一次写入.
它通过

查看全文: http://www.udpwork.com/item/17943.html

+1  100行代码的压缩前缀树: 50% smaller

Tag: algo | memory | succinct | trie | bitmap
张炎泼(xp) 发于 2021年02月01日 08:00 | 点击: 833 | 展开摘要
这文介绍一个压缩前缀树实现的sorted set(github: succinct.Set), 区区95行代码, 包含了一组完整的功能:

用 前缀树 存储一个排序数组, 去掉指针, 压缩掉50%的空间;
例如在本文的例子中, 存储2.4MB的200万个单词, 只需要1.2MB.

创建: 从key列表创建一个压缩的前缀树;

查询: 支持Has() 操作来查询1个key是否存在;

优化: 通过索引来加速 bitmap 的操作, 将较大的 bitmap 操作优化到O(1)的

查看全文: http://www.udpwork.com/item/17474.html

+0  slimarray: gzip的压缩率, 即时访问

Tag: algo | array | 数组 | compress | succinct
张炎泼(xp) 发于 2020年11月15日 08:00 | 点击: 457 | 展开摘要
slimarray

场景和问题

在时序数据库, 或列存储为基础的系统中, 很常见的形式就是存储一个整数数组,
例如 slim 这个项目按天统计的 star 数:

这类数据有有很明显的统一的变化趋势, 对这类数据的存储,
我们可以利用数据分布的特点, 将整体数据的大小压缩到几分之一.
这就是 slimarray 要做的事情.

使用 slimarray, 可以将数据容量减小到gzip差不多的大小,
同时还能允许直接访问这些数据!
测试中我们选择了2组随机数, 以及现实中的

查看全文: http://www.udpwork.com/item/17477.html

+0  200行代码实现基于paxos的kv存储

Tag: algo | distributed | replication | paxos | kv | 分布式 | 存储
张炎泼(xp) 发于 2020年10月28日 08:00 | 点击: 529 | 展开摘要
前言

写完 paxos的直观解释 之后,
网友都说疗效甚好, 但是也会对这篇教程中一些环节提出疑问(有疑问说明真的看懂了

查看全文: http://www.udpwork.com/item/17478.html

+0  后分布式时代: 多数派读写的’少数派’实现

Tag: algo | distributed | quorum | majority | replication | paxos | raft | 分布式 | 多数派
张炎泼(xp) 发于 2020年10月18日 08:00 | 点击: 440 | 展开摘要
前言

paxos可以看做是2次 多数派读写 完成一次强一致读写. 多数派要求半数以上的参与者(paxos中的Acceptor)接受某笔操作. 但 多数派读写 并不一定需要多于半数的参与者, 分布式系统中某些场合的优化, 可以通过减少参与者数量来完成的.

多数派读写:分布式系统的基础

分布式系统中, 其中一个基础的问题是如何在不可靠硬件(低可用性)基础上构建可靠(高可用性)的服务,
要达成这个目标, 核心的手段就是复制(例如一份数据存3个副本).
而复制过程中的一致性

查看全文: http://www.udpwork.com/item/17479.html

+0  AlgoTogether 算法学习小组(第三期招生)

Tag: algorithm | career coaching | study group
Cat Chen 发于 2020年09月04日 00:23 | 点击: 420 | 展开摘要
我开了一个叫做 AlgoTogether 的算法学习小组,面向在美国寻求软件工程师工作(实习或全职)的人。头两期学习小组的效果不错,第二期学生对项目打分 4.4/5.0 分,对老师打分 4.8/5.0 分(数据),所以我决定继续做第三期学习小组。针对头两期学生的反馈,我对第三期学习小组进行了调整,增加了提供标准化反馈的模拟面试环节,设立了学生共同维护的解题思路库。
我知道仅仅通过 LeetCode 准备算法面试是不够的,因为面试并不以题解的优劣来衡量你。你需要让面试官想要和

查看全文: http://www.udpwork.com/item/17629.html

+0  AlgoTogether 算法学习小组(第二期招生)

Tag: algorithm | career coaching | study group
Cat Chen 发于 2020年09月04日 00:21 | 点击: 425 | 展开摘要
更新:请访问 AlgoTogether 新版网站,了解最新一期的时间和价格,并进行报名。
我开了一个叫做 AlgoTogether 的算法学习小组,面向在美国寻求软件工程师工作(实习或全职)的人。第一期学习小组的效果不错,学生对项目打分 4.3/5.0 分,对老师打分 4.7/5.0 分(数据),所以我决定开第二期学习小组。针对第一期学生的反馈,我对第二期学习小组进行了调整,最主要的区别是增加了模拟面试的环节。
我知道仅仅通过 LeetCode 准备算法面试是不够的,因为

查看全文: http://www.udpwork.com/item/17634.html

+0  AlgoTogether 算法学习小组

Tag: algorithm | career coaching | study group
Cat Chen 发于 2020年09月04日 00:21 | 点击: 435 | 展开摘要
更新:请访问 AlgoTogether 新版网站,了解最新一期的时间和价格,并进行报名。
我开了一个叫做 AlgoTogether 的算法学习小组,面向在美国寻求软件工程师工作(实习或全职)的人。我知道仅仅通过 LeetCode 准备算法面试是不够的,因为面试并不以题解的优劣来衡量你。你需要让面试官想要和你共事,这需要说服他你能跟他一起通过编程解决难题。
AlgoTogether 是一个有教练指导的学习小组,帮助你训练多方面的面试能力,让你在面试时成为面试官的最佳未来同事

查看全文: http://www.udpwork.com/item/17638.html

+0  AlgoTogether 算法面试小班(第四期招生)

Tag: algorithm | career coaching | study group
Cat Chen 发于 2020年08月24日 06:49 | 点击: 378 | 展开摘要
AlgoTogether 上周日宣布第三期招生,不到一周时间就全部报满了!一开始我们开放了 20 个名额,结果到周五晚上就全没了。周五一天之内有 8 个人报了名,把剩下的名额都抢光了。因为还有学生特别想要报名,周五没抢到名额就跟我联系,我周六悄悄加了 5 个名额上去,当天就消耗完了。
考虑到 AlgoTogether 如此热门,仍然有学生想要报名,我决定立即开放第四期的报名和支付。第四期预计 10 月 31 日开始,到明年 1 月 2 日结束。课程格式跟第三期相似,但会在第

查看全文: http://www.udpwork.com/item/17628.html

+0  可靠分布式系统-paxos的直观解释

Tag: algo | distributed | consensus | fault-tolerant | quorum | replication | paxos | 分布式 | 一致性 | 容错 | 多数派
张炎泼(xp) 发于 2020年06月01日 08:00 | 点击: 401 | 展开摘要
前言

paxos是什么?

在分布式系统中保证多副本数据强一致的算法.

paxos有啥用?

没有paxos的一堆机器, 叫做分布式;

有paxos协同的一堆机器, 叫分布式系统.

Google Chubby的作者Mike Burrows说过:

这个世界上只有一种一致性算法,那就是Paxos …

其他一致性算法, 都可以看做paxos在实现中的变体和扩展.

另外一个经常被提及的分布式算法是raft, raft的贡献在于把一致性算法落地.
因为 Leslie

查看全文: http://www.udpwork.com/item/17480.html

+0  CoderPro 测评

Tag: algorithm | interview | review
Cat Chen 发于 2020年02月01日 16:33 | 点击: 367 | 展开摘要
CoderPro 是 AlgoExpert 的竞争对手,既然我写了《AlgoExpert 测评》,那就让我再写一篇 CoderPro 的测评吧。先说结论:我不推荐大家独立去购买 CoderPro,因为其价格跟 AlgoExpert 差不多但功能远没有 AlgoExpert 那么多。如果你原本就购买了或打算购买 Tech Interview Pro,免费赠送的 CoderPro 倒可以看一看。
优点
视频容易消化。(每道题的视频控制在 15 分钟内且有些小幽默。)
只用 P

查看全文: http://www.udpwork.com/item/17636.html

+0  AlgoExpert 测评

Tag: algorithm | interview | review
Cat Chen 发于 2020年01月30日 02:36 | 点击: 411 | 展开摘要
AlgoExpert 是一个我称之为「LeetCode 精选」的服务,因为 LeetCode 现在的题目实在是太多了,但解答、提示等内容的质量又参差不齐。AlgoExpert 解决了这些问题:首先,它提供不到 100 道算法题,覆盖不同难度和不同知识点;其次,每道题都有一系列循序渐进的提示,使得你可以从毫无头绪开始一步一步做到最优解;最后,每道题最后都有视频讲解,从最笨的解法开始一步一步讲解如何优化,最后达成最优解。
因为我不需要通过刷题来准备面试,所以我买了之后并没有真的

查看全文: http://www.udpwork.com/item/17637.html
|<<<1234567>>>| 一共9页, 105条记录