数据湖笔记之一:Z-Order
Z-order curve,1966年就已经在应用了。但是在大数据崭露头角,似乎才是这几年的事情。最近看了数据湖的一些技术,想从细处着手,介绍下我理解的 Z-Order.
1. 背景
Z-Order 在地图的场景中应用非常常见,比如查找地图上某个点附近的信息。
假定我们的地图数据里有 N 个点,记录了对应的位置坐标(经纬度)、id、名称、信息等,要查找当前坐标附近 10 公里内的餐馆。最朴素的想法就是计算所有餐馆跟当前位置的距离,过滤 <= 10 公里的结果。不过数据量大肯定不行,太多的冗余计算了。
按照我的理解,坐标轴天然是递增的,所以二分法是一个不错的解决方案:如果在一维世界(x维度),创建一个 x->id 的辅助数组,性能足够。类比到二维世界(x、y维度),通...
Flink - Why Checkpoint
上篇笔记介绍了 Checkpoint 相关的代码, 关于源码的分析网上文章很多,通过断点调试也能大概了解 Checkpoint 的实现。
Checkpoint 的原理,在 Lightweight Asynchronous Snapshots for Distributed Dataflows 里有系统的描述,思路来源于最开始的这篇文章:Chandy-Lamport algorithm,没错,就是发明 Paxos 算法的那位。
这篇笔记希望以简单易懂的方式介绍下我理解的 why checkpoint 以及解决思路。
1. Why
存储系统里的 snapshot,记录的是某个时间点存储的状态,存储可以恢复到这个时间点,用户也可以指定读取这个时间点时的存储内容。不同的 snapsh...
2021年个人总结
转眼21年已经过去了,无论是互联网还是所在的教育行业,这一年变化都挺大的。一年没有更新博客,主要是工作太忙,以及甩不掉的惰性。
1. 工作
1.1. 大数据实时计算
这两年在作业帮负责大数据实时计算,互联网正在经历很大的变化,包括在线教育。身处其中自然也会有一些特别的体验,我个人觉得这是一个很好的审视的机会。
工作内容上从业务架构转到大数据,虽然设计原则、衡量标准是通用的,但是实际执行起来不同路径差别很大。特别是对于中小公司,短期收益与长期收益同等重要,因此需要在经验较少的情况下摸索一条适合的路出来。这部分完成还算可以,既做架构又做平台再换位用户角度思考,同时抓平台功能、研发质量、稳定性,再加上人手较少,一年下来发际线有点后移。
今年关于工作有两个比较大的感悟:
找到适...
238 post articles, 30 pages.